diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2017-08-28 04:39:18 +0200 |
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2017-08-28 05:52:06 +0200 |
| commit | 608105a73eb8f24ad8f6124dfcc82ac62bd99bff (patch) | |
| tree | 601f1c916af3c8b2edcc2a363e82821565b4bbad /zebra/if_ioctl.c | |
| parent | 5a41e961f8460f4c2126ac3a393e6a73bbe56035 (diff) | |
zebra: drop IPv6 "broadcast" and "peer" addr code
There is no such thing as an IPv6 "broadcast" or "peer" address.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'zebra/if_ioctl.c')
| -rw-r--r-- | zebra/if_ioctl.c | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/zebra/if_ioctl.c b/zebra/if_ioctl.c index a65fcb2b8c..6396911e1b 100644 --- a/zebra/if_ioctl.c +++ b/zebra/if_ioctl.c @@ -214,7 +214,7 @@ static int if_getaddrs(void) dest_pnt = NULL; - if (ifap->ifa_dstaddr + if (if_is_pointopoint(ifp) && ifap->ifa_dstaddr && !IPV4_ADDR_SAME(&addr->sin_addr, &((struct sockaddr_in *) ifap->ifa_dstaddr) @@ -239,35 +239,12 @@ static int if_getaddrs(void) if (ifap->ifa_addr->sa_family == AF_INET6) { struct sockaddr_in6 *addr; struct sockaddr_in6 *mask; - struct sockaddr_in6 *dest; - struct in6_addr *dest_pnt; int flags = 0; addr = (struct sockaddr_in6 *)ifap->ifa_addr; mask = (struct sockaddr_in6 *)ifap->ifa_netmask; prefixlen = ip6_masklen(mask->sin6_addr); - dest_pnt = NULL; - - if (ifap->ifa_dstaddr - && !IPV6_ADDR_SAME(&addr->sin6_addr, - &((struct sockaddr_in6 *) - ifap->ifa_dstaddr) - ->sin6_addr)) { - dest = (struct sockaddr_in6 *)ifap->ifa_dstaddr; - dest_pnt = &dest->sin6_addr; - flags = ZEBRA_IFA_PEER; - } else if (ifap->ifa_broadaddr - && !IPV6_ADDR_SAME( - &addr->sin6_addr, - &((struct sockaddr_in6 *) - ifap->ifa_broadaddr) - ->sin6_addr)) { - dest = (struct sockaddr_in6 *) - ifap->ifa_broadaddr; - dest_pnt = &dest->sin6_addr; - } - #if defined(KAME) if (IN6_IS_ADDR_LINKLOCAL(&addr->sin6_addr)) { addr->sin6_scope_id = @@ -279,7 +256,7 @@ static int if_getaddrs(void) #endif connected_add_ipv6(ifp, flags, &addr->sin6_addr, - prefixlen, dest_pnt, NULL); + prefixlen, NULL); } } |
