summaryrefslogtreecommitdiff
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorvivek <vivek@cumulusnetworks.com>2017-05-14 22:38:26 -0700
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-12 12:26:02 -0400
commit13d60d351c4c70e8a2949ef45d88ec4efe382367 (patch)
treeb3846b88b4d3b03aa06801cac95d9a7992732076 /zebra/interface.c
parent18a7a601c713ab1cc7fa91a7f883e18a25cc2fa1 (diff)
zebra: VNI and VTEP handling
Implement fundamental handling for VNIs and VTEPs: - Handle EVPN enable/disable by client (advertise-all-vni) - Create/update/delete VNIs based on VxLAN interface events and inform client - Handle VTEP add/delete from client and install into kernel - New debug command for VxLAN/EVPN - kernel interface (Linux/netlink only) Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 78ba8cdde8..87b0896f9f 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -47,6 +47,7 @@
#include "zebra/zebra_ptm.h"
#include "zebra/rt_netlink.h"
#include "zebra/interface.h"
+#include "zebra/zebra_vxlan.h"
#define ZEBRA_PTM_SUPPORT
@@ -880,6 +881,9 @@ if_up (struct interface *ifp)
rib_update (ifp->vrf_id, RIB_UPDATE_IF_CHANGE);
zebra_vrf_static_route_interface_fixup (ifp);
+
+ if (IS_ZEBRA_IF_VXLAN (ifp))
+ zebra_vxlan_if_up (ifp);
}
/* Interface goes down. We have to manage different behavior of based
@@ -893,6 +897,9 @@ if_down (struct interface *ifp)
zif->down_count++;
quagga_timestamp (2, zif->down_last, sizeof (zif->down_last));
+ if (IS_ZEBRA_IF_VXLAN (ifp))
+ zebra_vxlan_if_down (ifp);
+
/* Notify to the protocol daemons. */
zebra_interface_down_update (ifp);