case DPLANE_OP_MAC_INSTALL:
case DPLANE_OP_MAC_DELETE:
+ case DPLANE_OP_NEIGH_INSTALL:
+ case DPLANE_OP_NEIGH_DELETE:
case DPLANE_OP_NONE:
break;
}
case DPLANE_OP_MAC_DELETE:
ret = "MAC_DELETE";
break;
+
+ case DPLANE_OP_NEIGH_INSTALL:
+ ret = "NEIGH_INSTALL";
+ break;
+ case DPLANE_OP_NEIGH_DELETE:
+ ret = "NEIGH_DELETE";
+ break;
}
return ret;
/* MAC address update */
DPLANE_OP_MAC_INSTALL,
DPLANE_OP_MAC_DELETE,
+
+ /* EVPN neighbor updates */
+ DPLANE_OP_NEIGH_INSTALL,
+ DPLANE_OP_NEIGH_DELETE,
};
/* Enable system route notifications */
const struct ethaddr *mac,
struct in_addr vtep_ip);
+/*
+ * Enqueue evpn neighbor updates for the dataplane.
+ */
+enum zebra_dplane_result dplane_neigh_add(const struct interface *ifp,
+ const struct ipaddr *ip,
+ const struct ethaddr *mac,
+ int32_t flags);
+enum zebra_dplane_result dplane_neigh_del(const struct interface *ifp,
+ const struct ipaddr *ip);
+
/* Retrieve the limit on the number of pending, unprocessed updates. */
uint32_t dplane_get_in_queue_limit(void);