From: Susant Sahani Date: Mon, 16 Mar 2020 13:36:26 +0000 (+0100) Subject: networkctl: Add support to display vlan ID X-Git-Tag: v246-rc1~743^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F15138%2Fhead;p=thirdparty%2Fsystemd.git networkctl: Add support to display vlan ID --- diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 70adf4c73bb..1529a0d653e 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -148,6 +148,9 @@ typedef struct LinkInfo { /* vxlan info */ VxLanInfo vxlan_info; + /* vlan info */ + uint16_t vlan_id; + /* ethtool info */ int autonegotiation; uint64_t speed; @@ -239,7 +242,8 @@ static int decode_netdev(sd_netlink_message *m, LinkInfo *info) { (void) sd_netlink_message_read_u32(m, IFLA_VXLAN_LINK, &info->vxlan_info.link); (void) sd_netlink_message_read_u16(m, IFLA_VXLAN_PORT, &info->vxlan_info.dest_port); - } + } else if (streq(received_kind, "vlan")) + (void) sd_netlink_message_read_u16(m, IFLA_VLAN_ID, &info->vlan_id); strncpy(info->netdev_kind, received_kind, IFNAMSIZ); @@ -1427,6 +1431,13 @@ static int link_status_one( if (r < 0) return table_log_add_error(r); } + } else if (streq_ptr(info->netdev_kind, "vlan") && info->vlan_id > 0) { + r = table_add_many(table, + TABLE_EMPTY, + TABLE_STRING, "VLan Id:", + TABLE_UINT16, info->vlan_id); + if (r < 0) + return table_log_add_error(r); } if (info->has_wlan_link_info) {