summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2016-07-02 12:20:52 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2016-07-06 12:17:13 +0200
commitf85941ee91017079f30afac80e7b39c44cb04c81 (patch)
tree05a31f53d60e226939abe0e1b6e44ab2be03afe5
parent1bbc26a5c73596087201e0d1b4d76f5cf9474a1e (diff)
device: don't try to generate ipv6ll address for disconnected devices
If the device is disconnected because it can't be assumed due to lack of IP configuration, don't try to generate an ipv6 link-local address, as this requires a connection. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 __GI_abort () at abort.c:89 #2 g_assertion_message (domain=domain@entry=0x5f41b4 "NetworkManager", file=file@entry=0x5ef9b5 "devices/nm-device.c", line=line@entry=831, func=func@entry=0x5f3220 <__FUNCTION__.37383> "nm_device_get_ip_iface_identifier", message=message@entry=0x1e86100 "assertion failed: (connection)") at gtestutils.c:2429 #3 g_assertion_message_expr (domain=domain@entry=0x5f41b4 "NetworkManager", file=file@entry=0x5ef9b5 "devices/nm-device.c", line=line@entry=831, func=func@entry=0x5f3220 <__FUNCTION__.37383> "nm_device_get_ip_iface_identifier", expr=expr@entry=0x5e65c6 "connection") at gtestutils.c:2452 #4 nm_device_get_ip_iface_identifier (self=self@entry=0x1e612a0, iid=iid@entry=0x7fffce40e3d0, ignore_token=ignore_token@entry=1) at devices/nm-device.c:831 #5 check_and_add_ipv6ll_addr (self=self@entry=0x1e612a0) at devices/nm-device.c:5983 #6 queued_ip6_config_change (user_data=0x1e612a0) at devices/nm-device.c:9489 #7 g_main_dispatch (context=0x1d3e060) at gmain.c:3154 #8 g_main_context_dispatch (context=context@entry=0x1d3e060) at gmain.c:3769 #9 g_main_context_iterate (context=0x1d3e060, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840 #10 g_main_loop_run (loop=0x1d3ab00) at gmain.c:4034 #11 main (argc=1, argv=0x7fffce40e6a8) at main.c:411 https://bugzilla.redhat.com/show_bug.cgi?id=1351633
-rw-r--r--src/devices/nm-device.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 243cf28526..f107dc35fe 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -9466,8 +9466,9 @@ queued_ip6_config_change (gpointer user_data)
priv->queued_ip6_config_id = 0;
update_ip6_config (self, FALSE);
- if ( nm_platform_link_get (NM_PLATFORM_GET, priv->ifindex)
- && priv->state < NM_DEVICE_STATE_DEACTIVATING) {
+ if ( priv->state > NM_DEVICE_STATE_DISCONNECTED
+ && priv->state < NM_DEVICE_STATE_DEACTIVATING
+ && nm_platform_link_get (NM_PLATFORM_GET, priv->ifindex)) {
/* Handle DAD failures */
for (iter = priv->dad6_failed_addrs; iter; iter = g_slist_next (iter)) {
NMPlatformIP6Address *addr = iter->data;