summaryrefslogtreecommitdiff
path: root/zebra/kernel_socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/kernel_socket.c')
-rw-r--r--zebra/kernel_socket.c36
1 files changed, 12 insertions, 24 deletions
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index bcd92e15fe..20a0472195 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -111,7 +111,7 @@ extern struct zebra_privs_t zserv_privs;
*/
#if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)
#define SAROUNDUP(X) ROUNDUP(((struct sockaddr *)(X))->sa_len)
-#elif defined(HAVE_IPV6)
+#else
/*
* One would hope all fixed-size structure definitions are aligned,
* but round them up nonetheless.
@@ -123,12 +123,6 @@ extern struct zebra_privs_t zserv_privs;
ROUNDUP(sizeof(struct sockaddr_in6)) : \
(((struct sockaddr *)(X))->sa_family == AF_LINK ? \
ROUNDUP(sizeof(struct sockaddr_dl)) : sizeof(struct sockaddr))))
-#else /* HAVE_IPV6 */
-#define SAROUNDUP(X) \
- (((struct sockaddr *)(X))->sa_family == AF_INET ? \
- ROUNDUP(sizeof(struct sockaddr_in)):\
- (((struct sockaddr *)(X))->sa_family == AF_LINK ? \
- ROUNDUP(sizeof(struct sockaddr_dl)) : sizeof(struct sockaddr)))
#endif /* HAVE_STRUCT_SOCKADDR_SA_LEN */
#endif /* !SA_SIZE */
@@ -299,10 +293,8 @@ af_check (int family)
{
if (family == AF_INET)
return 1;
-#ifdef HAVE_IPV6
if (family == AF_INET6)
return 1;
-#endif /* HAVE_IPV6 */
return 0;
}
@@ -682,9 +674,7 @@ ifam_read_mesg (struct ifa_msghdr *ifm,
switch (family)
{
case AF_INET:
-#ifdef HAVE_IPV6
case AF_INET6:
-#endif
{
char buf[4][INET6_ADDRSTRLEN];
zlog_debug ("%s: ifindex %d, ifname %s, ifam_addrs 0x%x, "
@@ -772,7 +762,6 @@ ifam_read (struct ifa_msghdr *ifam)
ip_masklen (mask.sin.sin_addr),
&brd.sin.sin_addr);
break;
-#ifdef HAVE_IPV6
case AF_INET6:
/* Unset interface index from link-local address when IPv6 stack
is KAME. */
@@ -792,7 +781,6 @@ ifam_read (struct ifa_msghdr *ifam)
ip6_masklen (mask.sin6.sin6_addr),
&brd.sin6.sin6_addr);
break;
-#endif /* HAVE_IPV6 */
default:
/* Unsupported family silently ignore... */
break;
@@ -939,7 +927,7 @@ rtm_read (struct rt_msghdr *rtm)
int ret;
if (! IS_ZEBRA_DEBUG_RIB)
return;
- ret = rib_lookup_ipv4_route (&p, &gate, VRF_DEFAULT);
+ ret = rib_lookup_ipv4_route ((struct prefix_ipv4 *)&p, &gate, VRF_DEFAULT);
prefix2str (&p, buf, sizeof(buf));
switch (rtm->rtm_type)
{
@@ -963,7 +951,7 @@ rtm_read (struct rt_msghdr *rtm)
case ZEBRA_RIB_FOUND_EXACT: /* RIB RR == FIB RR */
zlog_debug ("%s: %s %s: done Ok",
__func__, lookup (rtm_type_str, rtm->rtm_type), buf);
- rib_lookup_and_dump (&p, VRF_DEFAULT);
+ rib_lookup_and_dump ((struct prefix_ipv4 *)&p, VRF_DEFAULT);
return;
break;
}
@@ -976,18 +964,18 @@ rtm_read (struct rt_msghdr *rtm)
case ZEBRA_RIB_FOUND_EXACT:
zlog_debug ("%s: %s %s: desync: RR is still in RIB, while already not in FIB",
__func__, lookup (rtm_type_str, rtm->rtm_type), buf);
- rib_lookup_and_dump (&p, VRF_DEFAULT);
+ rib_lookup_and_dump ((struct prefix_ipv4 *)&p, VRF_DEFAULT);
break;
case ZEBRA_RIB_FOUND_CONNECTED:
case ZEBRA_RIB_FOUND_NOGATE:
zlog_debug ("%s: %s %s: desync: RR is still in RIB, plus gate differs",
__func__, lookup (rtm_type_str, rtm->rtm_type), buf);
- rib_lookup_and_dump (&p, VRF_DEFAULT);
+ rib_lookup_and_dump ((struct prefix_ipv4 *)&p, VRF_DEFAULT);
break;
case ZEBRA_RIB_NOTFOUND: /* RIB RR == FIB RR */
zlog_debug ("%s: %s %s: done Ok",
__func__, lookup (rtm_type_str, rtm->rtm_type), buf);
- rib_lookup_and_dump (&p, VRF_DEFAULT);
+ rib_lookup_and_dump ((struct prefix_ipv4 *)&p, VRF_DEFAULT);
return;
break;
}
@@ -1004,17 +992,17 @@ rtm_read (struct rt_msghdr *rtm)
*/
if (rtm->rtm_type == RTM_CHANGE)
rib_delete (AFI_IP, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL,
- 0, zebra_flags, &p, NULL, 0, 0);
+ 0, zebra_flags, &p, NULL, NULL, 0, 0);
union g_addr ggate = { .ipv4 = gate.sin.sin_addr };
if (rtm->rtm_type == RTM_GET
|| rtm->rtm_type == RTM_ADD
|| rtm->rtm_type == RTM_CHANGE)
rib_add (AFI_IP, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL, 0, zebra_flags,
- &p, &ggate, NULL, 0, 0, 0, 0, 0);
+ &p, NULL, &ggate, NULL, 0, 0, 0, 0, 0);
else
rib_delete (AFI_IP, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL,
- 0, zebra_flags, &p, &ggate, 0, 0);
+ 0, zebra_flags, &p, NULL, &ggate, 0, 0);
}
if (dest.sa.sa_family == AF_INET6)
{
@@ -1046,18 +1034,18 @@ rtm_read (struct rt_msghdr *rtm)
*/
if (rtm->rtm_type == RTM_CHANGE)
rib_delete (AFI_IP6, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL,
- 0, zebra_flags, &p, NULL, 0, 0);
+ 0, zebra_flags, &p, NULL, NULL, 0, 0);
union g_addr ggate = { .ipv6 = gate.sin6.sin6_addr };
if (rtm->rtm_type == RTM_GET
|| rtm->rtm_type == RTM_ADD
|| rtm->rtm_type == RTM_CHANGE)
rib_add (AFI_IP6, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL,
- 0, zebra_flags, &p, &ggate, NULL, ifindex,
+ 0, zebra_flags, &p, NULL, &ggate, NULL, ifindex,
0, 0, 0, 0);
else
rib_delete (AFI_IP6, SAFI_UNICAST, VRF_DEFAULT, ZEBRA_ROUTE_KERNEL,
- 0, zebra_flags, &p, &ggate, ifindex, 0);
+ 0, zebra_flags, &p, NULL, &ggate, ifindex, 0);
}
}