]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
networkctl: Add support to display vlan ID 15138/head
authorSusant Sahani <ssahani@vmware.com>
Mon, 16 Mar 2020 13:36:26 +0000 (14:36 +0100)
committerSusant Sahani <ssahani@vmware.com>
Mon, 16 Mar 2020 14:33:16 +0000 (15:33 +0100)
src/network/networkctl.c

index 70adf4c73bb2ff4887060f7aff92f389c5539427..1529a0d653e1b2a3151a5b56046a79be6416c6c9 100644 (file)
@@ -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) {