diff --git a/Userland/Utilities/ifconfig.cpp b/Userland/Utilities/ifconfig.cpp index 1de4c163497..7626d497c84 100644 --- a/Userland/Utilities/ifconfig.cpp +++ b/Userland/Utilities/ifconfig.cpp @@ -45,7 +45,9 @@ ErrorOr serenity_main(Main::Arguments arguments) auto class_name = if_object.get_byte_string("class_name"sv).value_or({}); auto mac_address = if_object.get_byte_string("mac_address"sv).value_or({}); auto ipv4_address = if_object.get_byte_string("ipv4_address"sv).value_or({}); - auto netmask = if_object.get_byte_string("ipv4_netmask"sv).value_or({}); + auto ipv4_netmask = if_object.get_byte_string("ipv4_netmask"sv).value_or({}); + auto ipv6_address = if_object.get_byte_string("ipv6_address"sv).value_or({}); + auto ipv6_netmask = if_object.get_byte_string("ipv6_netmask"sv).value_or({}); auto packets_in = if_object.get_u32("packets_in"sv).value_or(0); auto bytes_in = if_object.get_u32("bytes_in"sv).value_or(0); auto packets_out = if_object.get_u32("packets_out"sv).value_or(0); @@ -54,8 +56,15 @@ ErrorOr serenity_main(Main::Arguments arguments) outln("{}:", name); outln("\tmac: {}", mac_address); - outln("\tipv4: {}", ipv4_address); - outln("\tnetmask: {}", netmask); + if (!ipv4_address.is_empty()) { + outln("\tipv4: {}", ipv4_address); + outln("\tnetmask: {}", ipv4_netmask); + } + if (!ipv6_address.is_empty()) { + outln("\tipv6: {}", ipv6_address); + // TODO: this should probably displayed as a CIDR instead for better readability + outln("\tnetmask: {}", ipv6_netmask); + } outln("\tclass: {}", class_name); outln("\tRX: {} packets {} bytes ({})", packets_in, bytes_in, human_readable_size(bytes_in)); outln("\tTX: {} packets {} bytes ({})", packets_out, bytes_out, human_readable_size(bytes_out));