From: Susant Sahani Date: Tue, 21 May 2019 12:14:36 +0000 (+0530) Subject: networkctl: Add support to display min and max MTU X-Git-Tag: v243-rc1~398^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F12629%2Fhead;p=thirdparty%2Fsystemd.git networkctl: Add support to display min and max MTU (networkctl)⚡ % ./networkctl status enp0s31f6 ~/tt/networkctl/build ● 4: enp0s31f6 Link File: /usr/lib/systemd/network/99-default.link Network File: n/a Type: ether State: n/a (unmanaged) Path: pci-0000:00:1f.6 Driver: e1000e Vendor: Intel Corporation Model: Ethernet Connection (2) I219-LM HW Address: 8c:16:45:6c:83:b9 (LCFC(HeFei) Electronics Technology co., ltd) MTU: 1500 Minimum MTU: 68 Maximum MTU: 9000 --- diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 2c6d4c44e1f..ddc5c49e25e 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -101,9 +101,13 @@ typedef struct LinkInfo { unsigned short iftype; struct ether_addr mac_address; uint32_t mtu; + uint32_t min_mtu; + uint32_t max_mtu; bool has_mac_address:1; bool has_mtu:1; + bool has_min_mtu:1; + bool has_max_mtu:1; } LinkInfo; static int link_info_compare(const LinkInfo *a, const LinkInfo *b) { @@ -157,6 +161,14 @@ static int decode_link(sd_netlink_message *m, LinkInfo *info, char **patterns) { sd_netlink_message_read_u32(m, IFLA_MTU, &info->mtu) >= 0 && info->mtu > 0; + info->has_min_mtu = + sd_netlink_message_read_u32(m, IFLA_MIN_MTU, &info->min_mtu) >= 0 && + info->min_mtu > 0; + + info->has_max_mtu = + sd_netlink_message_read_u32(m, IFLA_MAX_MTU, &info->max_mtu) >= 0 && + info->min_mtu > 0; + return 1; } @@ -779,6 +791,10 @@ static int link_status_one( if (info->has_mtu) printf(" MTU: %" PRIu32 "\n", info->mtu); + if (info->has_min_mtu) + printf(" Minimum MTU: %" PRIu32 "\n", info->min_mtu); + if (info->has_max_mtu) + printf(" Maximum MTU: %" PRIu32 "\n", info->max_mtu); (void) dump_addresses(rtnl, " Address: ", info->ifindex); (void) dump_gateways(rtnl, hwdb, " Gateway: ", info->ifindex);