Skip IPv6 link-local addresses reporting
authorSamuel Ortiz <sameo@linux.intel.com>
Thu, 29 Jul 2010 21:00:19 +0000 (23:00 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 29 Jul 2010 21:02:31 +0000 (23:02 +0200)
src/rtnl.c

index d8ea5df..83f7952 100644 (file)
@@ -568,6 +568,9 @@ static void process_newaddr(unsigned char family, unsigned char prefixlen,
                struct in6_addr ipv6_address, ipv6_local;
 
                extract_ipv6_addr(msg, bytes, &ipv6_address, &ipv6_local);
+               if (IN6_IS_ADDR_LINKLOCAL(&ipv6_address))
+                       return;
+
                src = &ipv6_address;
        }
 
@@ -597,6 +600,9 @@ static void process_deladdr(unsigned char family, unsigned char prefixlen,
                struct in6_addr ipv6_address, ipv6_local;
 
                extract_ipv6_addr(msg, bytes, &ipv6_address, &ipv6_local);
+               if (IN6_IS_ADDR_LINKLOCAL(&ipv6_address))
+                       return;
+
                src = &ipv6_address;
        }