platform: remove plen argument for IPv6 address ID
The prefix length is not part of the ID for IPv6 address. Remove it from nmp_object_stackinit_id_ip6_address().
This commit is contained in:
@@ -8399,8 +8399,7 @@ dad6_get_pending_addresses (NMDevice *self)
|
||||
addr = nm_ip6_config_get_address (confs[i], j);
|
||||
pl_addr = nm_platform_ip6_address_get (nm_device_get_platform (self),
|
||||
ifindex,
|
||||
addr->address,
|
||||
addr->plen);
|
||||
addr->address);
|
||||
if ( pl_addr
|
||||
&& NM_FLAGS_HAS (pl_addr->n_ifa_flags, IFA_F_TENTATIVE)
|
||||
&& !NM_FLAGS_HAS (pl_addr->n_ifa_flags, IFA_F_DADFAILED)
|
||||
|
@@ -1117,7 +1117,7 @@ ip4_address_get (NMPlatform *platform, int ifindex, in_addr_t addr, guint8 plen,
|
||||
}
|
||||
|
||||
static const NMPlatformIP6Address *
|
||||
ip6_address_get (NMPlatform *platform, int ifindex, struct in6_addr addr, guint8 plen)
|
||||
ip6_address_get (NMPlatform *platform, int ifindex, struct in6_addr addr)
|
||||
{
|
||||
NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
|
||||
int i;
|
||||
@@ -1126,7 +1126,6 @@ ip6_address_get (NMPlatform *platform, int ifindex, struct in6_addr addr, guint8
|
||||
NMPlatformIP6Address *address = &g_array_index (priv->ip6_addresses, NMPlatformIP6Address, i);
|
||||
|
||||
if ( address->ifindex == ifindex
|
||||
&& address->plen == plen
|
||||
&& IN6_ARE_ADDR_EQUAL (&address->address, &addr))
|
||||
return address;
|
||||
}
|
||||
|
@@ -5906,7 +5906,7 @@ ip6_address_add (NMPlatform *platform,
|
||||
preferred,
|
||||
NULL);
|
||||
|
||||
nmp_object_stackinit_id_ip6_address (&obj_id, ifindex, &addr, plen);
|
||||
nmp_object_stackinit_id_ip6_address (&obj_id, ifindex, &addr);
|
||||
return do_add_addrroute (platform, &obj_id, nlmsg);
|
||||
}
|
||||
|
||||
@@ -5956,7 +5956,7 @@ ip6_address_delete (NMPlatform *platform, int ifindex, struct in6_addr addr, gui
|
||||
if (!nlmsg)
|
||||
g_return_val_if_reached (FALSE);
|
||||
|
||||
nmp_object_stackinit_id_ip6_address (&obj_id, ifindex, &addr, plen);
|
||||
nmp_object_stackinit_id_ip6_address (&obj_id, ifindex, &addr);
|
||||
return do_delete_object (platform, &obj_id, nlmsg);
|
||||
}
|
||||
|
||||
@@ -5974,12 +5974,12 @@ ip4_address_get (NMPlatform *platform, int ifindex, in_addr_t addr, guint8 plen,
|
||||
}
|
||||
|
||||
static const NMPlatformIP6Address *
|
||||
ip6_address_get (NMPlatform *platform, int ifindex, struct in6_addr addr, guint8 plen)
|
||||
ip6_address_get (NMPlatform *platform, int ifindex, struct in6_addr addr)
|
||||
{
|
||||
NMPObject obj_id;
|
||||
const NMPObject *obj;
|
||||
|
||||
nmp_object_stackinit_id_ip6_address (&obj_id, ifindex, &addr, plen);
|
||||
nmp_object_stackinit_id_ip6_address (&obj_id, ifindex, &addr);
|
||||
obj = nmp_cache_lookup_obj (NM_LINUX_PLATFORM_GET_PRIVATE (platform)->cache, &obj_id);
|
||||
if (nmp_object_is_visible (obj))
|
||||
return &obj->ip6_address;
|
||||
|
@@ -2776,13 +2776,11 @@ nm_platform_ip4_address_get (NMPlatform *self, int ifindex, in_addr_t address, g
|
||||
}
|
||||
|
||||
const NMPlatformIP6Address *
|
||||
nm_platform_ip6_address_get (NMPlatform *self, int ifindex, struct in6_addr address, guint8 plen)
|
||||
nm_platform_ip6_address_get (NMPlatform *self, int ifindex, struct in6_addr address)
|
||||
{
|
||||
_CHECK_SELF (self, klass, NULL);
|
||||
|
||||
g_return_val_if_fail (plen <= 128, NULL);
|
||||
|
||||
return klass->ip6_address_get (self, ifindex, address, plen);
|
||||
return klass->ip6_address_get (self, ifindex, address);
|
||||
}
|
||||
|
||||
static const NMPlatformIP4Address *
|
||||
|
@@ -663,7 +663,7 @@ typedef struct {
|
||||
gboolean (*ip4_address_delete) (NMPlatform *, int ifindex, in_addr_t address, guint8 plen, in_addr_t peer_address);
|
||||
gboolean (*ip6_address_delete) (NMPlatform *, int ifindex, struct in6_addr address, guint8 plen);
|
||||
const NMPlatformIP4Address *(*ip4_address_get) (NMPlatform *, int ifindex, in_addr_t address, guint8 plen, in_addr_t peer_address);
|
||||
const NMPlatformIP6Address *(*ip6_address_get) (NMPlatform *, int ifindex, struct in6_addr address, guint8 plen);
|
||||
const NMPlatformIP6Address *(*ip6_address_get) (NMPlatform *, int ifindex, struct in6_addr address);
|
||||
|
||||
GArray * (*ip4_route_get_all) (NMPlatform *, int ifindex, NMPlatformGetRouteFlags flags);
|
||||
GArray * (*ip6_route_get_all) (NMPlatform *, int ifindex, NMPlatformGetRouteFlags flags);
|
||||
@@ -938,7 +938,7 @@ NMPlatformError nm_platform_link_sit_add (NMPlatform *self,
|
||||
const NMPlatformLnkSit *props,
|
||||
const NMPlatformLink **out_link);
|
||||
|
||||
const NMPlatformIP6Address *nm_platform_ip6_address_get (NMPlatform *self, int ifindex, struct in6_addr address, guint8 plen);
|
||||
const NMPlatformIP6Address *nm_platform_ip6_address_get (NMPlatform *self, int ifindex, struct in6_addr address);
|
||||
GArray *nm_platform_ip4_address_get_all (NMPlatform *self, int ifindex);
|
||||
GArray *nm_platform_ip6_address_get_all (NMPlatform *self, int ifindex);
|
||||
gboolean nm_platform_ip4_address_add (NMPlatform *self,
|
||||
|
@@ -357,20 +357,19 @@ _vt_cmd_obj_stackinit_id_ip4_address (NMPObject *obj, const NMPObject *src)
|
||||
}
|
||||
|
||||
const NMPObject *
|
||||
nmp_object_stackinit_id_ip6_address (NMPObject *obj, int ifindex, const struct in6_addr *address, guint8 plen)
|
||||
nmp_object_stackinit_id_ip6_address (NMPObject *obj, int ifindex, const struct in6_addr *address)
|
||||
{
|
||||
nmp_object_stackinit (obj, NMP_OBJECT_TYPE_IP6_ADDRESS, NULL);
|
||||
obj->ip4_address.ifindex = ifindex;
|
||||
if (address)
|
||||
obj->ip6_address.address = *address;
|
||||
obj->ip6_address.plen = plen;
|
||||
return obj;
|
||||
}
|
||||
|
||||
static void
|
||||
_vt_cmd_obj_stackinit_id_ip6_address (NMPObject *obj, const NMPObject *src)
|
||||
{
|
||||
nmp_object_stackinit_id_ip6_address (obj, src->ip_address.ifindex, &src->ip6_address.address, src->ip_address.plen);
|
||||
nmp_object_stackinit_id_ip6_address (obj, src->ip_address.ifindex, &src->ip6_address.address);
|
||||
}
|
||||
|
||||
const NMPObject *
|
||||
|
@@ -390,7 +390,7 @@ const NMPObject *nmp_object_stackinit (NMPObject *obj, NMPObjectType obj_type, c
|
||||
const NMPObject *nmp_object_stackinit_id (NMPObject *obj, const NMPObject *src);
|
||||
const NMPObject *nmp_object_stackinit_id_link (NMPObject *obj, int ifindex);
|
||||
const NMPObject *nmp_object_stackinit_id_ip4_address (NMPObject *obj, int ifindex, guint32 address, guint8 plen, guint32 peer_address);
|
||||
const NMPObject *nmp_object_stackinit_id_ip6_address (NMPObject *obj, int ifindex, const struct in6_addr *address, guint8 plen);
|
||||
const NMPObject *nmp_object_stackinit_id_ip6_address (NMPObject *obj, int ifindex, const struct in6_addr *address);
|
||||
const NMPObject *nmp_object_stackinit_id_ip4_route (NMPObject *obj, int ifindex, guint32 network, guint8 plen, guint32 metric);
|
||||
const NMPObject *nmp_object_stackinit_id_ip6_route (NMPObject *obj, int ifindex, const struct in6_addr *network, guint8 plen, guint32 metric);
|
||||
|
||||
|
@@ -143,9 +143,9 @@ test_ip6_address_general (void)
|
||||
inet_pton (AF_INET6, IP6_ADDRESS, &addr);
|
||||
|
||||
/* Add address */
|
||||
g_assert (!nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr, IP6_PLEN));
|
||||
g_assert (!nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr));
|
||||
nmtstp_ip6_address_add (NULL, EX, ifindex, addr, IP6_PLEN, in6addr_any, lifetime, preferred, flags);
|
||||
g_assert (nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr, IP6_PLEN));
|
||||
g_assert (nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr));
|
||||
accept_signal (address_added);
|
||||
|
||||
/* Add address again (aka update) */
|
||||
@@ -164,7 +164,7 @@ test_ip6_address_general (void)
|
||||
|
||||
/* Remove address */
|
||||
nmtstp_ip6_address_del (NULL, EX, ifindex, addr, IP6_PLEN);
|
||||
g_assert (!nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr, IP6_PLEN));
|
||||
g_assert (!nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr));
|
||||
accept_signal (address_removed);
|
||||
|
||||
/* Remove address again */
|
||||
@@ -229,20 +229,20 @@ test_ip6_address_general_2 (void)
|
||||
/* Add/delete notification */
|
||||
nmtstp_ip6_address_add (NULL, EX, ifindex, addr, IP6_PLEN, in6addr_any, lifetime, preferred, 0);
|
||||
accept_signal (address_added);
|
||||
g_assert (nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr, IP6_PLEN));
|
||||
g_assert (nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr));
|
||||
|
||||
nmtstp_ip6_address_del (NULL, EX, ifindex, addr, IP6_PLEN);
|
||||
accept_signal (address_removed);
|
||||
g_assert (!nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr, IP6_PLEN));
|
||||
g_assert (!nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr));
|
||||
|
||||
/* Add/delete conflict */
|
||||
nmtstp_ip6_address_add (NULL, EX, ifindex, addr, IP6_PLEN, in6addr_any, lifetime, preferred, 0);
|
||||
accept_signal (address_added);
|
||||
g_assert (nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr, IP6_PLEN));
|
||||
g_assert (nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr));
|
||||
|
||||
nmtstp_ip6_address_add (NULL, EX, ifindex, addr, IP6_PLEN, in6addr_any, lifetime, preferred, flags);
|
||||
ensure_no_signal (address_added);
|
||||
g_assert (nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr, IP6_PLEN));
|
||||
g_assert (nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, addr));
|
||||
|
||||
free_signal (address_added);
|
||||
free_signal (address_removed);
|
||||
|
@@ -717,7 +717,7 @@ _ip_address_add (NMPlatform *platform,
|
||||
g_assert (label == NULL);
|
||||
g_assert (flags == 0);
|
||||
|
||||
a = nm_platform_ip6_address_get (platform, ifindex, address->addr6, plen);
|
||||
a = nm_platform_ip6_address_get (platform, ifindex, address->addr6);
|
||||
if ( a
|
||||
&& !memcmp (nm_platform_ip6_address_get_peer (a),
|
||||
(IN6_IS_ADDR_UNSPECIFIED (&peer_address->addr6) || IN6_ARE_ADDR_EQUAL (&address->addr6, &peer_address->addr6))
|
||||
@@ -861,7 +861,7 @@ _ip_address_del (NMPlatform *platform,
|
||||
if (is_v4)
|
||||
had_address = !!nm_platform_ip4_address_get (platform, ifindex, address->addr4, plen, peer_address->addr4);
|
||||
else
|
||||
had_address = !!nm_platform_ip6_address_get (platform, ifindex, address->addr6, plen);
|
||||
had_address = !!nm_platform_ip6_address_get (platform, ifindex, address->addr6);
|
||||
|
||||
if (is_v4) {
|
||||
success = nmtstp_run_command ("ip address delete %s%s%s/%d dev %s",
|
||||
@@ -913,7 +913,7 @@ _ip_address_del (NMPlatform *platform,
|
||||
} else {
|
||||
const NMPlatformIP6Address *a;
|
||||
|
||||
a = nm_platform_ip6_address_get (platform, ifindex, address->addr6, plen);
|
||||
a = nm_platform_ip6_address_get (platform, ifindex, address->addr6);
|
||||
if (!a)
|
||||
break;
|
||||
}
|
||||
|
@@ -268,7 +268,7 @@ test_ip6_route (void)
|
||||
|
||||
nmtstp_wait_for_signal (NM_PLATFORM_GET, 50);
|
||||
nm_platform_process_events (NM_PLATFORM_GET);
|
||||
plt_addr = nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, pref_src, 128);
|
||||
plt_addr = nm_platform_ip6_address_get (NM_PLATFORM_GET, ifindex, pref_src);
|
||||
if (plt_addr && !NM_FLAGS_HAS (plt_addr->n_ifa_flags, IFA_F_TENTATIVE))
|
||||
break;
|
||||
});
|
||||
|
Reference in New Issue
Block a user