summaryrefslogtreecommitdiff
path: root/zebra/if_ioctl.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2017-08-28 04:39:18 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2017-08-28 05:52:06 +0200
commit608105a73eb8f24ad8f6124dfcc82ac62bd99bff (patch)
tree601f1c916af3c8b2edcc2a363e82821565b4bbad /zebra/if_ioctl.c
parent5a41e961f8460f4c2126ac3a393e6a73bbe56035 (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.c27
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);
}
}