summaryrefslogtreecommitdiff
path: root/zebra/ioctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/ioctl.c')
-rw-r--r--zebra/ioctl.c37
1 files changed, 16 insertions, 21 deletions
diff --git a/zebra/ioctl.c b/zebra/ioctl.c
index a895ed9410..239763754b 100644
--- a/zebra/ioctl.c
+++ b/zebra/ioctl.c
@@ -48,6 +48,7 @@ void ifreq_set_name(struct ifreq *ifreq, struct interface *ifp)
strlcpy(ifreq->ifr_name, ifp->name, sizeof(ifreq->ifr_name));
}
+#ifndef HAVE_NETLINK
/* call ioctl system call */
int if_ioctl(unsigned long request, caddr_t buffer)
{
@@ -73,6 +74,7 @@ int if_ioctl(unsigned long request, caddr_t buffer)
}
return 0;
}
+#endif
/* call ioctl system call */
int vrf_if_ioctl(unsigned long request, caddr_t buffer, vrf_id_t vrf_id)
@@ -127,7 +129,6 @@ static int if_ioctl_ipv6(unsigned long request, caddr_t buffer)
}
return 0;
}
-#endif /* ! HAVE_NETLINK */
/*
* get interface metric
@@ -174,6 +175,7 @@ void if_get_mtu(struct interface *ifp)
ifp->mtu6 = ifp->mtu = -1;
#endif
}
+#endif /* ! HAVE_NETLINK */
/*
* Handler for interface address programming via the zebra dplane,
@@ -217,13 +219,6 @@ enum zebra_dplane_result kernel_address_update_ctx(
ZEBRA_DPLANE_REQUEST_SUCCESS : ZEBRA_DPLANE_REQUEST_FAILURE);
}
-#endif /* !HAVE_NETLINK */
-
-#ifdef HAVE_NETLINK
-
-/* TODO -- remove; no use of these apis with netlink any longer */
-
-#else /* ! HAVE_NETLINK */
#ifdef HAVE_STRUCT_IFALIASREQ
/*
@@ -242,7 +237,7 @@ static int if_set_prefix_ctx(const struct zebra_dplane_ctx *ctx)
strlcpy((char *)&addreq.ifra_name, dplane_ctx_get_ifname(ctx),
sizeof(addreq.ifra_name));
- memset(&addr, 0, sizeof(struct sockaddr_in));
+ memset(&addr, 0, sizeof(addr));
addr.sin_addr = p->prefix;
addr.sin_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -252,7 +247,7 @@ static int if_set_prefix_ctx(const struct zebra_dplane_ctx *ctx)
if (dplane_ctx_intf_is_connected(ctx)) {
p = (struct prefix_ipv4 *)dplane_ctx_get_intf_dest(ctx);
- memset(&mask, 0, sizeof(struct sockaddr_in));
+ memset(&mask, 0, sizeof(mask));
peer.sin_addr = p->prefix;
peer.sin_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -262,7 +257,7 @@ static int if_set_prefix_ctx(const struct zebra_dplane_ctx *ctx)
sizeof(struct sockaddr_in));
}
- memset(&mask, 0, sizeof(struct sockaddr_in));
+ memset(&mask, 0, sizeof(mask));
masklen2ip(p->prefixlen, &mask.sin_addr);
mask.sin_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -293,7 +288,7 @@ static int if_unset_prefix_ctx(const struct zebra_dplane_ctx *ctx)
strlcpy((char *)&addreq.ifra_name, dplane_ctx_get_ifname(ctx),
sizeof(addreq.ifra_name));
- memset(&addr, 0, sizeof(struct sockaddr_in));
+ memset(&addr, 0, sizeof(addr));
addr.sin_addr = p->prefix;
addr.sin_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -303,7 +298,7 @@ static int if_unset_prefix_ctx(const struct zebra_dplane_ctx *ctx)
if (dplane_ctx_intf_is_connected(ctx)) {
p = (struct prefix_ipv4 *)dplane_ctx_get_intf_dest(ctx);
- memset(&mask, 0, sizeof(struct sockaddr_in));
+ memset(&mask, 0, sizeof(mask));
peer.sin_addr = p->prefix;
peer.sin_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -313,7 +308,7 @@ static int if_unset_prefix_ctx(const struct zebra_dplane_ctx *ctx)
sizeof(struct sockaddr_in));
}
- memset(&mask, 0, sizeof(struct sockaddr_in));
+ memset(&mask, 0, sizeof(mask));
masklen2ip(p->prefixlen, &mask.sin_addr);
mask.sin_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -394,7 +389,7 @@ int if_unset_prefix_ctx(const struct zebra_dplane_ctx *ctx)
strlcpy(ifreq.ifr_name, dplane_ctx_get_ifname(ctx),
sizeof(ifreq.ifr_name));
- memset(&addr, 0, sizeof(struct sockaddr_in));
+ memset(&addr, 0, sizeof(addr));
addr.sin_family = p->family;
memcpy(&ifreq.ifr_addr, &addr, sizeof(struct sockaddr_in));
ret = if_ioctl(SIOCSIFADDR, (caddr_t)&ifreq);
@@ -508,7 +503,7 @@ int if_set_flags(struct interface *ifp, uint64_t flags)
int ret;
struct ifreq ifreq;
- memset(&ifreq, 0, sizeof(struct ifreq));
+ memset(&ifreq, 0, sizeof(ifreq));
ifreq_set_name(&ifreq, ifp);
ifreq.ifr_flags = ifp->flags;
@@ -529,7 +524,7 @@ int if_unset_flags(struct interface *ifp, uint64_t flags)
int ret;
struct ifreq ifreq;
- memset(&ifreq, 0, sizeof(struct ifreq));
+ memset(&ifreq, 0, sizeof(ifreq));
ifreq_set_name(&ifreq, ifp);
ifreq.ifr_flags = ifp->flags;
@@ -568,7 +563,7 @@ static int if_set_prefix6_ctx(const struct zebra_dplane_ctx *ctx)
strlcpy((char *)&addreq.ifra_name,
dplane_ctx_get_ifname(ctx), sizeof(addreq.ifra_name));
- memset(&addr, 0, sizeof(struct sockaddr_in6));
+ memset(&addr, 0, sizeof(addr));
addr.sin6_addr = p->prefix;
addr.sin6_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -576,7 +571,7 @@ static int if_set_prefix6_ctx(const struct zebra_dplane_ctx *ctx)
#endif
memcpy(&addreq.ifra_addr, &addr, sizeof(struct sockaddr_in6));
- memset(&mask, 0, sizeof(struct sockaddr_in6));
+ memset(&mask, 0, sizeof(mask));
masklen2ip6(p->prefixlen, &mask.sin6_addr);
mask.sin6_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -615,7 +610,7 @@ static int if_unset_prefix6_ctx(const struct zebra_dplane_ctx *ctx)
strlcpy((char *)&addreq.ifra_name,
dplane_ctx_get_ifname(ctx), sizeof(addreq.ifra_name));
- memset(&addr, 0, sizeof(struct sockaddr_in6));
+ memset(&addr, 0, sizeof(addr));
addr.sin6_addr = p->prefix;
addr.sin6_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
@@ -623,7 +618,7 @@ static int if_unset_prefix6_ctx(const struct zebra_dplane_ctx *ctx)
#endif
memcpy(&addreq.ifra_addr, &addr, sizeof(struct sockaddr_in6));
- memset(&mask, 0, sizeof(struct sockaddr_in6));
+ memset(&mask, 0, sizeof(mask));
masklen2ip6(p->prefixlen, &mask.sin6_addr);
mask.sin6_family = p->family;
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN