summaryrefslogtreecommitdiff
path: root/zebra/if_netlink.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2018-03-13 12:08:38 -0400
committerQuentin Young <qlyoung@cumulusnetworks.com>2018-03-13 12:08:38 -0400
commit1f35b46a2f35d59b86ed3ee557aa1c9fcf2fcac9 (patch)
tree27de606b3510b126766ac7a0ac9eb8ddf4573ab0 /zebra/if_netlink.c
parentd47ae3db4cf14c72d8468d61113ac88e19235791 (diff)
parentc1a003878246ccc84ab5986558ca959f4545f738 (diff)
Merge branch 'master' into docuser
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'zebra/if_netlink.c')
-rw-r--r--zebra/if_netlink.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/zebra/if_netlink.c b/zebra/if_netlink.c
index 639f70a6b4..a37d74416b 100644
--- a/zebra/if_netlink.c
+++ b/zebra/if_netlink.c
@@ -30,6 +30,7 @@
*/
#define _LINUX_IN6_H
+#include <netinet/if_ether.h>
#include <linux/if_bridge.h>
#include <linux/if_link.h>
#include <net/if_arp.h>
@@ -362,13 +363,13 @@ static int get_iflink_speed(struct interface *interface)
/* initialize ethtool interface */
memset(&ecmd, 0, sizeof(ecmd));
ecmd.cmd = ETHTOOL_GSET; /* ETHTOOL_GLINK */
- ifdata.ifr_data = (__caddr_t)&ecmd;
+ ifdata.ifr_data = (caddr_t)&ecmd;
/* use ioctl to get IP address of an interface */
if (zserv_privs.change(ZPRIVS_RAISE))
zlog_err("Can't raise privileges");
- sd = vrf_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP,
- interface->vrf_id, NULL);
+ sd = vrf_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP, interface->vrf_id,
+ NULL);
if (sd < 0) {
if (IS_ZEBRA_DEBUG_KERNEL)
zlog_debug("Failure to read interface %s speed: %d %s",
@@ -649,8 +650,6 @@ static int netlink_interface(struct sockaddr_nl *snl, struct nlmsghdr *h,
ifp = if_get_by_name(name, vrf_id, 0);
set_ifindex(ifp, ifi->ifi_index, zns);
ifp->flags = ifi->ifi_flags & 0x0000fffff;
- if (IS_ZEBRA_IF_VRF(ifp))
- SET_FLAG(ifp->status, ZEBRA_INTERFACE_VRF_LOOPBACK);
ifp->mtu6 = ifp->mtu = *(uint32_t *)RTA_DATA(tb[IFLA_MTU]);
ifp->metric = 0;
ifp->speed = get_iflink_speed(ifp);
@@ -661,6 +660,8 @@ static int netlink_interface(struct sockaddr_nl *snl, struct nlmsghdr *h,
/* Set zebra interface type */
zebra_if_set_ziftype(ifp, zif_type, zif_slave_type);
+ if (IS_ZEBRA_IF_VRF(ifp))
+ SET_FLAG(ifp->status, ZEBRA_INTERFACE_VRF_LOOPBACK);
/* Update link. */
zebra_if_update_link(ifp, link_ifindex);
@@ -856,14 +857,14 @@ int kernel_address_delete_ipv4(struct interface *ifp, struct connected *ifc)
return netlink_address(RTM_DELADDR, AF_INET, ifp, ifc);
}
-int kernel_address_add_ipv6 (struct interface *ifp, struct connected *ifc)
+int kernel_address_add_ipv6(struct interface *ifp, struct connected *ifc)
{
- return netlink_address (RTM_NEWADDR, AF_INET6, ifp, ifc);
+ return netlink_address(RTM_NEWADDR, AF_INET6, ifp, ifc);
}
-int kernel_address_delete_ipv6 (struct interface *ifp, struct connected *ifc)
+int kernel_address_delete_ipv6(struct interface *ifp, struct connected *ifc)
{
- return netlink_address (RTM_DELADDR, AF_INET6, ifp, ifc);
+ return netlink_address(RTM_DELADDR, AF_INET6, ifp, ifc);
}
int netlink_interface_addr(struct sockaddr_nl *snl, struct nlmsghdr *h,
@@ -1143,15 +1144,15 @@ int netlink_link_change(struct sockaddr_nl *snl, struct nlmsghdr *h,
/* Update interface information. */
set_ifindex(ifp, ifi->ifi_index, zns);
ifp->flags = ifi->ifi_flags & 0x0000fffff;
- if (IS_ZEBRA_IF_VRF(ifp))
- SET_FLAG(ifp->status,
- ZEBRA_INTERFACE_VRF_LOOPBACK);
ifp->mtu6 = ifp->mtu = *(int *)RTA_DATA(tb[IFLA_MTU]);
ifp->metric = 0;
ifp->ptm_status = ZEBRA_PTM_STATUS_UNKNOWN;
/* Set interface type */
zebra_if_set_ziftype(ifp, zif_type, zif_slave_type);
+ if (IS_ZEBRA_IF_VRF(ifp))
+ SET_FLAG(ifp->status,
+ ZEBRA_INTERFACE_VRF_LOOPBACK);
/* Update link. */
zebra_if_update_link(ifp, link_ifindex);