platform: add vlan_id parameter to NMPlatformLink
This commit is contained in:
@@ -949,6 +949,9 @@ init_link (NMPlatform *platform, NMPlatformLink *info, struct rtnl_link *rtnllin
|
|||||||
info->parent = rtnl_link_get_link (rtnllink);
|
info->parent = rtnl_link_get_link (rtnllink);
|
||||||
info->mtu = rtnl_link_get_mtu (rtnllink);
|
info->mtu = rtnl_link_get_mtu (rtnllink);
|
||||||
|
|
||||||
|
if (info->type == NM_LINK_TYPE_VLAN)
|
||||||
|
info->vlan_id = rtnl_link_vlan_get_id (rtnllink);
|
||||||
|
|
||||||
udev_device = g_hash_table_lookup (priv->udev_devices, GINT_TO_POINTER (info->ifindex));
|
udev_device = g_hash_table_lookup (priv->udev_devices, GINT_TO_POINTER (info->ifindex));
|
||||||
if (udev_device) {
|
if (udev_device) {
|
||||||
info->driver = nmp_utils_udev_get_driver (udev_device);
|
info->driver = nmp_utils_udev_get_driver (udev_device);
|
||||||
|
@@ -2442,6 +2442,7 @@ nm_platform_link_to_string (const NMPlatformLink *link)
|
|||||||
char parent[20];
|
char parent[20];
|
||||||
char str_flags[64];
|
char str_flags[64];
|
||||||
char *driver, *udi;
|
char *driver, *udi;
|
||||||
|
char str_vlan[16];
|
||||||
GString *str;
|
GString *str;
|
||||||
|
|
||||||
if (!link)
|
if (!link)
|
||||||
@@ -2472,18 +2473,25 @@ nm_platform_link_to_string (const NMPlatformLink *link)
|
|||||||
else
|
else
|
||||||
parent[0] = 0;
|
parent[0] = 0;
|
||||||
|
|
||||||
|
if (link->vlan_id)
|
||||||
|
g_snprintf (str_vlan, sizeof (str_vlan), " vlan %u", (guint) link->vlan_id);
|
||||||
|
else
|
||||||
|
str_vlan[0] = '\0';
|
||||||
|
|
||||||
driver = link->driver ? g_strdup_printf (" driver '%s'", link->driver) : NULL;
|
driver = link->driver ? g_strdup_printf (" driver '%s'", link->driver) : NULL;
|
||||||
udi = link->udi ? g_strdup_printf (" udi '%s'", link->udi) : NULL;
|
udi = link->udi ? g_strdup_printf (" udi '%s'", link->udi) : NULL;
|
||||||
|
|
||||||
g_snprintf (to_string_buffer, sizeof (to_string_buffer), "%d: %s%s <%s> mtu %d%s "
|
g_snprintf (to_string_buffer, sizeof (to_string_buffer), "%d: %s%s <%s> mtu %d%s "
|
||||||
"%s" /* link->type */
|
"%s" /* link->type */
|
||||||
"%s%s" /* kind */
|
"%s%s" /* kind */
|
||||||
|
"%s" /* vlan */
|
||||||
"%s%s",
|
"%s%s",
|
||||||
link->ifindex, link->name, parent, str->str,
|
link->ifindex, link->name, parent, str->str,
|
||||||
link->mtu, master,
|
link->mtu, master,
|
||||||
nm_link_type_to_string (link->type),
|
nm_link_type_to_string (link->type),
|
||||||
link->type != NM_LINK_TYPE_UNKNOWN && link->kind ? " kind " : "",
|
link->type != NM_LINK_TYPE_UNKNOWN && link->kind ? " kind " : "",
|
||||||
link->type != NM_LINK_TYPE_UNKNOWN && link->kind ? link->kind : "",
|
link->type != NM_LINK_TYPE_UNKNOWN && link->kind ? link->kind : "",
|
||||||
|
str_vlan,
|
||||||
driver ? driver : "", udi ? udi : "");
|
driver ? driver : "", udi ? udi : "");
|
||||||
g_string_free (str, TRUE);
|
g_string_free (str, TRUE);
|
||||||
g_free (driver);
|
g_free (driver);
|
||||||
@@ -2769,6 +2777,7 @@ nm_platform_link_cmp (const NMPlatformLink *a, const NMPlatformLink *b)
|
|||||||
_CMP_FIELD (a, b, master);
|
_CMP_FIELD (a, b, master);
|
||||||
_CMP_FIELD (a, b, parent);
|
_CMP_FIELD (a, b, parent);
|
||||||
_CMP_FIELD (a, b, up);
|
_CMP_FIELD (a, b, up);
|
||||||
|
_CMP_FIELD (a, b, vlan_id);
|
||||||
_CMP_FIELD (a, b, flags);
|
_CMP_FIELD (a, b, flags);
|
||||||
_CMP_FIELD (a, b, connected);
|
_CMP_FIELD (a, b, connected);
|
||||||
_CMP_FIELD (a, b, arp);
|
_CMP_FIELD (a, b, arp);
|
||||||
|
@@ -101,6 +101,9 @@ struct _NMPlatformLink {
|
|||||||
int master;
|
int master;
|
||||||
int parent;
|
int parent;
|
||||||
|
|
||||||
|
/* rtnl_link_vlan_get_id(), IFLA_VLAN_ID */
|
||||||
|
guint16 vlan_id;
|
||||||
|
|
||||||
/* IFF_* flags as u32. Note that ifi_flags in 'struct ifinfomsg' is declared as 'unsigned',
|
/* IFF_* flags as u32. Note that ifi_flags in 'struct ifinfomsg' is declared as 'unsigned',
|
||||||
* but libnl stores the flag internally as u32. */
|
* but libnl stores the flag internally as u32. */
|
||||||
guint32 flags;
|
guint32 flags;
|
||||||
|
Reference in New Issue
Block a user