summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-05-25 11:16:21 +0200
committerThomas Haller <thaller@redhat.com>2015-06-17 11:41:43 +0200
commit076fe578e3989a2834bc8620883c355ada84b498 (patch)
tree321ca4a957724798e145b8b3032e76d7f6c9f3c8
parent051cf8bbde9b73cdb3718be94e78237758b451ff (diff)
downloadNetworkManager-076fe578e3989a2834bc8620883c355ada84b498.tar.gz
platform: remove redundant NMPlatformLink fields "arp" and "up"
-rw-r--r--src/devices/nm-device.c10
-rw-r--r--src/platform/nm-fake-platform.c23
-rw-r--r--src/platform/nm-linux-platform.c2
-rw-r--r--src/platform/nm-platform.c6
-rw-r--r--src/platform/nm-platform.h6
-rw-r--r--src/platform/tests/dump.c7
6 files changed, 23 insertions, 31 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 63baa63270..2a19619d8f 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -1406,15 +1406,15 @@ device_link_changed (NMDevice *self, NMPlatformLink *info)
if (ip_ifname_changed)
update_for_ip_ifname_change (self);
- if (priv->up != info->up) {
- priv->up = info->up;
+ if (priv->up != NM_FLAGS_HAS (info->flags, IFF_UP)) {
+ priv->up = NM_FLAGS_HAS (info->flags, IFF_UP);
/* Manage externally-created software interfaces only when they are IFF_UP */
g_assert (priv->ifindex > 0);
if (NM_DEVICE_GET_CLASS (self)->can_unmanaged_external_down (self)) {
gboolean external_down = nm_device_get_unmanaged_flag (self, NM_UNMANAGED_EXTERNAL_DOWN);
- if (external_down && info->up) {
+ if (external_down && NM_FLAGS_HAS (info->flags, IFF_UP)) {
if (nm_device_get_state (self) < NM_DEVICE_STATE_DISCONNECTED) {
/* Ensure the assume check is queued before any queued state changes
* from the transition to UNAVAILABLE.
@@ -1437,7 +1437,7 @@ device_link_changed (NMDevice *self, NMPlatformLink *info)
*/
priv->unmanaged_flags &= ~NM_UNMANAGED_EXTERNAL_DOWN;
}
- } else if (!external_down && !info->up && nm_device_get_state (self) <= NM_DEVICE_STATE_DISCONNECTED) {
+ } else if (!external_down && !NM_FLAGS_HAS (info->flags, IFF_UP) && nm_device_get_state (self) <= NM_DEVICE_STATE_DISCONNECTED) {
/* If the device is already disconnected and is set !IFF_UP,
* unmanage it.
*/
@@ -8942,7 +8942,7 @@ set_property (GObject *object, guint prop_id,
g_free (priv->iface);
priv->iface = g_strdup (platform_device->name);
priv->ifindex = platform_device->ifindex;
- priv->up = platform_device->up;
+ priv->up = NM_FLAGS_HAS (platform_device->flags, IFF_UP);
g_free (priv->driver);
priv->driver = g_strdup (platform_device->driver);
priv->platform_link_initialized = platform_device->initialized;
diff --git a/src/platform/nm-fake-platform.c b/src/platform/nm-fake-platform.c
index 8361e147c0..042d98a282 100644
--- a/src/platform/nm-fake-platform.c
+++ b/src/platform/nm-fake-platform.c
@@ -136,10 +136,11 @@ link_init (NMFakePlatformLink *device, int ifindex, int type, const char *name)
strcpy (device->link.name, name);
switch (device->link.type) {
case NM_LINK_TYPE_DUMMY:
- device->link.arp = FALSE;
+ device->link.flags = NM_FLAGS_SET (device->link.flags, IFF_NOARP);
break;
default:
- device->link.arp = TRUE;
+ device->link.flags = NM_FLAGS_UNSET (device->link.flags, IFF_NOARP);
+ break;
}
device->address = NULL;
}
@@ -386,9 +387,9 @@ link_set_up (NMPlatform *platform, int ifindex)
g_error ("Unexpected device type: %d", device->link.type);
}
- if ( device->link.up != up
+ if ( NM_FLAGS_HAS (device->link.flags, IFF_UP) != !!up
|| device->link.connected != connected) {
- device->link.up = up;
+ device->link.flags = NM_FLAGS_ASSIGN (device->link.flags, IFF_UP, up);
device->link.connected = connected;
link_changed (platform, device, TRUE);
}
@@ -404,8 +405,8 @@ link_set_down (NMPlatform *platform, int ifindex)
if (!device)
return FALSE;
- if (device->link.up || device->link.connected) {
- device->link.up = FALSE;
+ if (NM_FLAGS_HAS (device->link.flags, IFF_UP) || device->link.connected) {
+ device->link.flags = NM_FLAGS_UNSET (device->link.flags, IFF_UP);
device->link.connected = FALSE;
link_changed (platform, device, TRUE);
@@ -422,7 +423,7 @@ link_set_arp (NMPlatform *platform, int ifindex)
if (!device)
return FALSE;
- device->link.arp = TRUE;
+ device->link.flags = NM_FLAGS_UNSET (device->link.flags, IFF_NOARP);
link_changed (platform, device, TRUE);
@@ -437,7 +438,7 @@ link_set_noarp (NMPlatform *platform, int ifindex)
if (!device)
return FALSE;
- device->link.arp = FALSE;
+ device->link.flags = NM_FLAGS_SET (device->link.flags, IFF_NOARP);
link_changed (platform, device, TRUE);
@@ -449,7 +450,7 @@ link_is_up (NMPlatform *platform, int ifindex)
{
NMFakePlatformLink *device = link_get (platform, ifindex);
- return device ? device->link.up : FALSE;
+ return device ? NM_FLAGS_HAS (device->link.flags, IFF_UP) : FALSE;
}
static gboolean
@@ -465,7 +466,7 @@ link_uses_arp (NMPlatform *platform, int ifindex)
{
NMFakePlatformLink *device = link_get (platform, ifindex);
- return device ? device->link.arp : FALSE;
+ return device ? !NM_FLAGS_HAS (device->link.flags, IFF_NOARP) : FALSE;
}
static gboolean
@@ -616,7 +617,7 @@ link_enslave (NMPlatform *platform, int master, int slave)
device->link.master = master;
if (NM_IN_SET (master_device->link.type, NM_LINK_TYPE_BOND, NM_LINK_TYPE_TEAM)) {
- device->link.up = TRUE;
+ device->link.flags = NM_FLAGS_SET (device->link.flags, IFF_UP);
device->link.connected = TRUE;
}
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index de82cc53fe..fe40cbc535 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -913,9 +913,7 @@ _nmp_vt_cmd_plobj_init_from_nl_link (NMPlatform *platform, NMPlatformObject *_ob
obj->type = link_extract_type (platform, nlo, complete_from_cache, &kind);
obj->kind = g_intern_string (kind);
obj->flags = rtnl_link_get_flags (nlo);
- obj->up = NM_FLAGS_HAS (obj->flags, IFF_UP);
obj->connected = NM_FLAGS_HAS (obj->flags, IFF_LOWER_UP);
- obj->arp = !NM_FLAGS_HAS (obj->flags, IFF_NOARP);
obj->master = rtnl_link_get_master (nlo);
obj->parent = rtnl_link_get_link (nlo);
obj->mtu = rtnl_link_get_mtu (nlo);
diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c
index da1cea829c..f77ee93498 100644
--- a/src/platform/nm-platform.c
+++ b/src/platform/nm-platform.c
@@ -2466,9 +2466,9 @@ nm_platform_link_to_string (const NMPlatformLink *link)
return "(unknown link)";
str_flags = g_string_new (NULL);
- if (!link->arp)
+ if (NM_FLAGS_HAS (link->flags, IFF_NOARP))
g_string_append (str_flags, "NOARP,");
- if (link->up)
+ if (NM_FLAGS_HAS (link->flags, IFF_UP))
g_string_append (str_flags, "UP");
else
g_string_append (str_flags, "DOWN");
@@ -2844,11 +2844,9 @@ nm_platform_link_cmp (const NMPlatformLink *a, const NMPlatformLink *b)
_CMP_FIELD_STR (a, b, name);
_CMP_FIELD (a, b, master);
_CMP_FIELD (a, b, parent);
- _CMP_FIELD (a, b, up);
_CMP_FIELD (a, b, vlan_id);
_CMP_FIELD (a, b, flags);
_CMP_FIELD (a, b, connected);
- _CMP_FIELD (a, b, arp);
_CMP_FIELD (a, b, mtu);
_CMP_FIELD_BOOL (a, b, initialized);
_CMP_FIELD (a, b, arptype);
diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h
index 81771b87f2..a0addbfdd5 100644
--- a/src/platform/nm-platform.h
+++ b/src/platform/nm-platform.h
@@ -135,16 +135,10 @@ struct _NMPlatformLink {
* but libnl stores the flag internally as u32. */
guint32 flags;
- /* FIXME: @up is redundant to (@flags & IFF_UP) */
- gboolean up;
-
/* @connected is mostly identical to (@flags & IFF_UP). Except for bridge/bond masters,
* where we coerce the link as disconnect if it has no slaves. */
gboolean connected;
- /* FIXME: @arp is redundant to !(@flags & IFF_NOARP) */
- gboolean arp;
-
guint mtu;
};
diff --git a/src/platform/tests/dump.c b/src/platform/tests/dump.c
index d28d517936..5187d266f6 100644
--- a/src/platform/tests/dump.c
+++ b/src/platform/tests/dump.c
@@ -7,6 +7,7 @@
#include "nm-platform.h"
#include "nm-linux-platform.h"
#include "nm-fake-platform.h"
+#include "nm-macros-internal.h"
static void
dump_interface (NMPlatformLink *link)
@@ -26,14 +27,14 @@ dump_interface (NMPlatformLink *link)
size_t addrlen;
int i;
- g_assert (link->up || !link->connected);
+ g_assert (NM_FLAGS_HAS (link->flags, IFF_UP) || !link->connected);
printf ("%d: %s: %s", link->ifindex, link->name, nm_link_type_to_string (link->type));
- if (link->up)
+ if (NM_FLAGS_HAS (link->flags, IFF_UP))
printf (" %s", link->connected ? "CONNECTED" : "DISCONNECTED");
else
printf (" DOWN");
- if (!link->arp)
+ if (NM_FLAGS_HAS (link->flags, IFF_NOARP))
printf (" noarp");
if (link->master)
printf (" master %d", link->master);