mirror of
https://github.com/SerenityOS/serenity.git
synced 2026-11-07 04:29:30 -10:00
ifconfig: Display IPv6 addresses
This commit displays IPv6 addresses and netmasks of adapters if present. Also adds a check to omit IPv4 addresses if e.g. a system is running IPv6 only.
This commit is contained in:
1 parent
d6b37e40df
commit
e7fe821f86
1 file changed
+12
-3
@@ -45,7 +45,9 @@ ErrorOr<int> 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<int> 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));
|
||||
|
||||
Reference in new issue
Block a user