summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2010-07-29 23:00:19 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2010-07-29 23:02:31 +0200
commit8d700f69b7d50061ebcab967d321f09ef63ca0d9 (patch)
treed427c336123eb7dba68076d037a98473091a6b22 /src
parent4afea89d14b9c1c4be41e9e57214c7e94435ae6e (diff)
downloadconnman-8d700f69b7d50061ebcab967d321f09ef63ca0d9.tar.gz
connman-8d700f69b7d50061ebcab967d321f09ef63ca0d9.tar.bz2
connman-8d700f69b7d50061ebcab967d321f09ef63ca0d9.zip
Skip IPv6 link-local addresses reporting
Diffstat (limited to 'src')
-rw-r--r--src/rtnl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/rtnl.c b/src/rtnl.c
index d8ea5dfd..83f79520 100644
--- a/src/rtnl.c
+++ b/src/rtnl.c
@@ -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;
}