summaryrefslogtreecommitdiff
path: root/zebra/zebra_evpn_mh.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_evpn_mh.c')
-rw-r--r--zebra/zebra_evpn_mh.c258
1 files changed, 129 insertions, 129 deletions
diff --git a/zebra/zebra_evpn_mh.c b/zebra/zebra_evpn_mh.c
index fae36ec6fa..d5ad15ce02 100644
--- a/zebra/zebra_evpn_mh.c
+++ b/zebra/zebra_evpn_mh.c
@@ -55,9 +55,9 @@ DEFINE_MTYPE_STATIC(ZEBRA, ZES_EVI, "ES info per-EVI");
DEFINE_MTYPE_STATIC(ZEBRA, ZMH_INFO, "MH global info");
DEFINE_MTYPE_STATIC(ZEBRA, ZES_VTEP, "VTEP attached to the ES");
-static void zebra_evpn_es_get_one_base_vni(void);
+static void zebra_evpn_es_get_one_base_evpn(void);
static int zebra_evpn_es_evi_send_to_client(struct zebra_evpn_es *es,
- zebra_vni_t *vni, bool add);
+ zebra_evpn_t *zevpn, bool add);
static void zebra_evpn_local_es_del(struct zebra_evpn_es *es);
static int zebra_evpn_local_es_update(struct zebra_if *zif, uint32_t lid,
struct ethaddr *sysmac);
@@ -67,7 +67,7 @@ esi_t zero_esi_buf, *zero_esi = &zero_esi_buf;
/*****************************************************************************/
/* Ethernet Segment to EVI association -
* 1. The ES-EVI entry is maintained as a RB tree per L2-VNI
- * (zebra_vni_t.es_evi_rb_tree).
+ * (zebra_evpn_t.es_evi_rb_tree).
* 2. Each local ES-EVI entry is sent to BGP which advertises it as an
* EAD-EVI (Type-1 EVPN) route
* 3. Local ES-EVI setup is re-evaluated on the following triggers -
@@ -81,7 +81,7 @@ esi_t zero_esi_buf, *zero_esi = &zero_esi_buf;
* is then sent to zebra which allocates a NHG for it.
*/
-/* compare ES-IDs for the ES-EVI RB tree maintained per-VNI */
+/* compare ES-IDs for the ES-EVI RB tree maintained per-EVPN */
static int zebra_es_evi_rb_cmp(const struct zebra_evpn_es_evi *es_evi1,
const struct zebra_evpn_es_evi *es_evi2)
{
@@ -94,17 +94,17 @@ RB_GENERATE(zebra_es_evi_rb_head, zebra_evpn_es_evi,
* tables.
*/
static struct zebra_evpn_es_evi *zebra_evpn_es_evi_new(struct zebra_evpn_es *es,
- zebra_vni_t *zvni)
+ zebra_evpn_t *zevpn)
{
struct zebra_evpn_es_evi *es_evi;
es_evi = XCALLOC(MTYPE_ZES_EVI, sizeof(struct zebra_evpn_es_evi));
es_evi->es = es;
- es_evi->zvni = zvni;
+ es_evi->zevpn = zevpn;
- /* insert into the VNI-ESI rb tree */
- if (RB_INSERT(zebra_es_evi_rb_head, &zvni->es_evi_rb_tree, es_evi)) {
+ /* insert into the EVPN-ESI rb tree */
+ if (RB_INSERT(zebra_es_evi_rb_head, &zevpn->es_evi_rb_tree, es_evi)) {
XFREE(MTYPE_ZES_EVI, es_evi);
return NULL;
}
@@ -115,15 +115,15 @@ static struct zebra_evpn_es_evi *zebra_evpn_es_evi_new(struct zebra_evpn_es *es,
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("es %s evi %d new",
- es_evi->es->esi_str, es_evi->zvni->vni);
+ es_evi->es->esi_str, es_evi->zevpn->vni);
return es_evi;
}
-/* returns TRUE if the VNI is ready to be sent to BGP */
-static inline bool zebra_evpn_vni_send_to_client_ok(zebra_vni_t *zvni)
+/* returns TRUE if the EVPN is ready to be sent to BGP */
+static inline bool zebra_evpn_send_to_client_ok(zebra_evpn_t *zevpn)
{
- return !!(zvni->flags & ZVNI_READY_FOR_BGP);
+ return !!(zevpn->flags & ZEVPN_READY_FOR_BGP);
}
/* Evaluate if the es_evi is ready to be sent BGP -
@@ -142,7 +142,7 @@ static void zebra_evpn_es_evi_re_eval_send_to_client(
/* ES and L2-VNI have to be individually ready for BGP */
if ((es_evi->flags & ZEBRA_EVPNES_EVI_LOCAL) &&
(es_evi->es->flags & ZEBRA_EVPNES_READY_FOR_BGP) &&
- zebra_evpn_vni_send_to_client_ok(es_evi->zvni))
+ zebra_evpn_send_to_client_ok(es_evi->zevpn))
es_evi->flags |= ZEBRA_EVPNES_EVI_READY_FOR_BGP;
else
es_evi->flags &= ~ZEBRA_EVPNES_EVI_READY_FOR_BGP;
@@ -153,10 +153,10 @@ static void zebra_evpn_es_evi_re_eval_send_to_client(
return;
if (new_ready)
- zebra_evpn_es_evi_send_to_client(es_evi->es, es_evi->zvni,
+ zebra_evpn_es_evi_send_to_client(es_evi->es, es_evi->zevpn,
true /* add */);
else
- zebra_evpn_es_evi_send_to_client(es_evi->es, es_evi->zvni,
+ zebra_evpn_es_evi_send_to_client(es_evi->es, es_evi->zevpn,
false /* add */);
}
@@ -166,17 +166,17 @@ static void zebra_evpn_es_evi_re_eval_send_to_client(
static void zebra_evpn_es_evi_free(struct zebra_evpn_es_evi *es_evi)
{
struct zebra_evpn_es *es = es_evi->es;
- zebra_vni_t *zvni = es_evi->zvni;
+ zebra_evpn_t *zevpn = es_evi->zevpn;
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("es %s evi %d free",
- es_evi->es->esi_str, es_evi->zvni->vni);
+ es_evi->es->esi_str, es_evi->zevpn->vni);
/* remove from the ES's VNI list */
list_delete_node(es->es_evi_list, &es_evi->es_listnode);
/* remove from the VNI-ESI rb tree */
- RB_REMOVE(zebra_es_evi_rb_head, &zvni->es_evi_rb_tree, es_evi);
+ RB_REMOVE(zebra_es_evi_rb_head, &zevpn->es_evi_rb_tree, es_evi);
/* remove from the VNI-ESI rb tree */
XFREE(MTYPE_ZES_EVI, es_evi);
@@ -184,13 +184,13 @@ static void zebra_evpn_es_evi_free(struct zebra_evpn_es_evi *es_evi)
/* find the ES-EVI in the per-L2-VNI RB tree */
static struct zebra_evpn_es_evi *zebra_evpn_es_evi_find(
- struct zebra_evpn_es *es, zebra_vni_t *zvni)
+ struct zebra_evpn_es *es, zebra_evpn_t *zevpn)
{
struct zebra_evpn_es_evi es_evi;
es_evi.es = es;
- return RB_FIND(zebra_es_evi_rb_head, &zvni->es_evi_rb_tree, &es_evi);
+ return RB_FIND(zebra_es_evi_rb_head, &zevpn->es_evi_rb_tree, &es_evi);
}
/* Tell BGP about an ES-EVI deletion and then delete it */
@@ -201,50 +201,50 @@ static void zebra_evpn_local_es_evi_do_del(struct zebra_evpn_es_evi *es_evi)
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("local es %s evi %d del",
- es_evi->es->esi_str, es_evi->zvni->vni);
+ es_evi->es->esi_str, es_evi->zevpn->vni);
if (es_evi->flags & ZEBRA_EVPNES_EVI_READY_FOR_BGP) {
/* send a del only if add was sent for it earlier */
zebra_evpn_es_evi_send_to_client(es_evi->es,
- es_evi->zvni, false /* add */);
+ es_evi->zevpn, false /* add */);
}
- /* delete it from the VNI's local list */
- list_delete_node(es_evi->zvni->local_es_evi_list,
+ /* delete it from the EVPN's local list */
+ list_delete_node(es_evi->zevpn->local_es_evi_list,
&es_evi->l2vni_listnode);
es_evi->flags &= ~ZEBRA_EVPNES_EVI_LOCAL;
zebra_evpn_es_evi_free(es_evi);
}
static void zebra_evpn_local_es_evi_del(struct zebra_evpn_es *es,
- zebra_vni_t *zvni)
+ zebra_evpn_t *zevpn)
{
struct zebra_evpn_es_evi *es_evi;
- es_evi = zebra_evpn_es_evi_find(es, zvni);
+ es_evi = zebra_evpn_es_evi_find(es, zevpn);
if (es_evi)
zebra_evpn_local_es_evi_do_del(es_evi);
}
/* Create an ES-EVI if it doesn't already exist and tell BGP */
static void zebra_evpn_local_es_evi_add(struct zebra_evpn_es *es,
- zebra_vni_t *zvni)
+ zebra_evpn_t *zevpn)
{
struct zebra_evpn_es_evi *es_evi;
- es_evi = zebra_evpn_es_evi_find(es, zvni);
+ es_evi = zebra_evpn_es_evi_find(es, zevpn);
if (!es_evi) {
- es_evi = zebra_evpn_es_evi_new(es, zvni);
+ es_evi = zebra_evpn_es_evi_new(es, zevpn);
if (!es_evi)
return;
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("local es %s evi %d add",
- es_evi->es->esi_str, es_evi->zvni->vni);
+ es_evi->es->esi_str, es_evi->zevpn->vni);
es_evi->flags |= ZEBRA_EVPNES_EVI_LOCAL;
- /* add to the VNI's local list */
+ /* add to the EVPN's local list */
listnode_init(&es_evi->l2vni_listnode, es_evi);
- listnode_add(zvni->local_es_evi_list, &es_evi->l2vni_listnode);
+ listnode_add(zevpn->local_es_evi_list, &es_evi->l2vni_listnode);
zebra_evpn_es_evi_re_eval_send_to_client(es_evi);
}
@@ -263,7 +263,7 @@ static void zebra_evpn_es_evi_show_entry(struct vty *vty,
strlcat(type_str, "L", sizeof(type_str));
vty_out(vty, "%-8d %-30s %-4s\n",
- es_evi->zvni->vni, es_evi->es->esi_str,
+ es_evi->zevpn->vni, es_evi->es->esi_str,
type_str);
}
}
@@ -281,7 +281,7 @@ static void zebra_evpn_es_evi_show_entry_detail(struct vty *vty,
strlcat(type_str, "L", sizeof(type_str));
vty_out(vty, "VNI %d ESI: %s\n",
- es_evi->zvni->vni, es_evi->es->esi_str);
+ es_evi->zevpn->vni, es_evi->es->esi_str);
vty_out(vty, " Type: %s\n", type_str);
vty_out(vty, " Ready for BGP: %s\n",
(es_evi->flags &
@@ -291,12 +291,12 @@ static void zebra_evpn_es_evi_show_entry_detail(struct vty *vty,
}
}
-static void zebra_evpn_es_evi_show_one_vni(zebra_vni_t *zvni,
+static void zebra_evpn_es_evi_show_one_evpn(zebra_evpn_t *zevpn,
struct vty *vty, json_object *json, int detail)
{
struct zebra_evpn_es_evi *es_evi;
- RB_FOREACH(es_evi, zebra_es_evi_rb_head, &zvni->es_evi_rb_tree) {
+ RB_FOREACH(es_evi, zebra_es_evi_rb_head, &zevpn->es_evi_rb_tree) {
if (detail)
zebra_evpn_es_evi_show_entry_detail(vty, es_evi, json);
else
@@ -310,13 +310,13 @@ struct evpn_mh_show_ctx {
int detail;
};
-static void zebra_evpn_es_evi_show_one_vni_hash_cb(struct hash_bucket *bucket,
+static void zebra_evpn_es_evi_show_one_evpn_hash_cb(struct hash_bucket *bucket,
void *ctxt)
{
- zebra_vni_t *zvni = (zebra_vni_t *)bucket->data;
+ zebra_evpn_t *zevpn = (zebra_evpn_t *)bucket->data;
struct evpn_mh_show_ctx *wctx = (struct evpn_mh_show_ctx *)ctxt;
- zebra_evpn_es_evi_show_one_vni(zvni, wctx->vty,
+ zebra_evpn_es_evi_show_one_evpn(zevpn, wctx->vty,
wctx->json, wctx->detail);
}
@@ -338,71 +338,71 @@ void zebra_evpn_es_evi_show(struct vty *vty, bool uj, int detail)
vty_out(vty, "%-8s %-30s %-4s\n", "VNI", "ESI", "Type");
}
/* Display all L2-VNIs */
- hash_iterate(zvrf->vni_table, zebra_evpn_es_evi_show_one_vni_hash_cb,
+ hash_iterate(zvrf->evpn_table, zebra_evpn_es_evi_show_one_evpn_hash_cb,
&wctx);
}
void zebra_evpn_es_evi_show_vni(struct vty *vty, bool uj, vni_t vni, int detail)
{
json_object *json = NULL;
- zebra_vni_t *zvni;
+ zebra_evpn_t *zevpn;
- zvni = zvni_lookup(vni);
- if (zvni) {
+ zevpn = zevpn_lookup(vni);
+ if (zevpn) {
if (!detail && !json) {
vty_out(vty, "Type: L local, R remote\n");
vty_out(vty, "%-8s %-30s %-4s\n", "VNI", "ESI", "Type");
}
} else {
if (!uj)
- vty_out(vty, "VNI %d doesn't exist\n", vni);
+ vty_out(vty, "VNI %d doesn't exist\n", zevpn->vni);
}
- zebra_evpn_es_evi_show_one_vni(zvni, vty, json, detail);
+ zebra_evpn_es_evi_show_one_evpn(zevpn, vty, json, detail);
}
/* Initialize the ES tables maintained per-L2_VNI */
-void zebra_evpn_vni_es_init(zebra_vni_t *zvni)
+void zebra_evpn_evpn_es_init(zebra_evpn_t *zevpn)
{
/* Initialize the ES-EVI RB tree */
- RB_INIT(zebra_es_evi_rb_head, &zvni->es_evi_rb_tree);
+ RB_INIT(zebra_es_evi_rb_head, &zevpn->es_evi_rb_tree);
/* Initialize the local and remote ES lists maintained for quick
* walks by type
*/
- zvni->local_es_evi_list = list_new();
- listset_app_node_mem(zvni->local_es_evi_list);
+ zevpn->local_es_evi_list = list_new();
+ listset_app_node_mem(zevpn->local_es_evi_list);
}
-/* Cleanup the ES info maintained per-L2_VNI */
-void zebra_evpn_vni_es_cleanup(zebra_vni_t *zvni)
+/* Cleanup the ES info maintained per- EVPN */
+void zebra_evpn_evpn_es_cleanup(zebra_evpn_t *zevpn)
{
struct zebra_evpn_es_evi *es_evi;
struct zebra_evpn_es_evi *es_evi_next;
RB_FOREACH_SAFE(es_evi, zebra_es_evi_rb_head,
- &zvni->es_evi_rb_tree, es_evi_next) {
+ &zevpn->es_evi_rb_tree, es_evi_next) {
zebra_evpn_local_es_evi_do_del(es_evi);
}
- list_delete(&zvni->local_es_evi_list);
- zebra_evpn_es_clear_base_vni(zvni);
+ list_delete(&zevpn->local_es_evi_list);
+ zebra_evpn_es_clear_base_evpn(zevpn);
}
/* called when the oper state or bridge membership changes for the
* vxlan device
*/
-void zebra_evpn_vni_update_all_es(zebra_vni_t *zvni)
+void zebra_evpn_update_all_es(zebra_evpn_t *zevpn)
{
struct zebra_evpn_es_evi *es_evi;
struct listnode *node;
- /* the VNI is now elgible as a base for EVPN-MH */
- if (zebra_evpn_vni_send_to_client_ok(zvni))
- zebra_evpn_es_set_base_vni(zvni);
+ /* the EVPN is now elgible as a base for EVPN-MH */
+ if (zebra_evpn_send_to_client_ok(zevpn))
+ zebra_evpn_es_set_base_evpn(zevpn);
else
- zebra_evpn_es_clear_base_vni(zvni);
+ zebra_evpn_es_clear_base_evpn(zevpn);
- for (ALL_LIST_ELEMENTS_RO(zvni->local_es_evi_list, node, es_evi))
+ for (ALL_LIST_ELEMENTS_RO(zevpn->local_es_evi_list, node, es_evi))
zebra_evpn_es_evi_re_eval_send_to_client(es_evi);
}
@@ -514,24 +514,24 @@ static void zebra_evpn_acc_bd_free_on_deref(struct zebra_evpn_access_bd *acc_bd)
}
/* called when a EVPN-L2VNI is set or cleared against a BD */
-static void zebra_evpn_acc_bd_vni_set(struct zebra_evpn_access_bd *acc_bd,
- zebra_vni_t *zvni, zebra_vni_t *old_zvni)
+static void zebra_evpn_acc_bd_evpn_set(struct zebra_evpn_access_bd *acc_bd,
+ zebra_evpn_t *zevpn, zebra_evpn_t *old_zevpn)
{
struct zebra_if *zif;
struct listnode *node;
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("access vlan %d l2-vni %u set",
- acc_bd->vid, zvni ? zvni->vni : 0);
+ acc_bd->vid, zevpn ? zevpn->vni : 0);
for (ALL_LIST_ELEMENTS_RO(acc_bd->mbr_zifs, node, zif)) {
if (!zif->es_info.es)
continue;
- if (zvni)
- zebra_evpn_local_es_evi_add(zif->es_info.es, zvni);
- else if (old_zvni)
- zebra_evpn_local_es_evi_del(zif->es_info.es, old_zvni);
+ if (zevpn)
+ zebra_evpn_local_es_evi_add(zif->es_info.es, zevpn);
+ else if (old_zevpn)
+ zebra_evpn_local_es_evi_del(zif->es_info.es, old_zevpn);
}
}
@@ -540,7 +540,7 @@ void zebra_evpn_vl_vxl_ref(uint16_t vid, struct zebra_if *vxlan_zif)
{
struct zebra_evpn_access_bd *acc_bd;
struct zebra_if *old_vxlan_zif;
- zebra_vni_t *old_zvni;
+ zebra_evpn_t *old_zevpn;
if (!vid)
return;
@@ -554,20 +554,20 @@ void zebra_evpn_vl_vxl_ref(uint16_t vid, struct zebra_if *vxlan_zif)
if (vxlan_zif == old_vxlan_zif)
return;
- old_zvni = acc_bd->zvni;
- acc_bd->zvni = zvni_lookup(vxlan_zif->l2info.vxl.vni);
- if (acc_bd->zvni == old_zvni)
+ old_zevpn = acc_bd->zevpn;
+ acc_bd->zevpn = zevpn_lookup(vxlan_zif->l2info.vxl.vni);
+ if (acc_bd->zevpn == old_zevpn)
return;
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("access vlan %d vni %u ref",
acc_bd->vid, vxlan_zif->l2info.vxl.vni);
- if (old_zvni)
- zebra_evpn_acc_bd_vni_set(acc_bd, NULL, old_zvni);
+ if (old_zevpn)
+ zebra_evpn_acc_bd_evpn_set(acc_bd, NULL, old_zevpn);
- if (acc_bd->zvni)
- zebra_evpn_acc_bd_vni_set(acc_bd, acc_bd->zvni, NULL);
+ if (acc_bd->zevpn)
+ zebra_evpn_acc_bd_evpn_set(acc_bd, acc_bd->zevpn, NULL);
}
/* handle VLAN->VxLAN_IF deref */
@@ -590,18 +590,18 @@ void zebra_evpn_vl_vxl_deref(uint16_t vid, struct zebra_if *vxlan_zif)
zlog_debug("access vlan %d vni %u deref",
acc_bd->vid, vxlan_zif->l2info.vxl.vni);
- if (acc_bd->zvni)
- zebra_evpn_acc_bd_vni_set(acc_bd, NULL, acc_bd->zvni);
+ if (acc_bd->zevpn)
+ zebra_evpn_acc_bd_evpn_set(acc_bd, NULL, acc_bd->zevpn);
- acc_bd->zvni = NULL;
+ acc_bd->zevpn = NULL;
acc_bd->vxlan_zif = NULL;
/* if there are no other references the access_bd can be freed */
zebra_evpn_acc_bd_free_on_deref(acc_bd);
}
-/* handle EVPN L2VNI add/del */
-void zebra_evpn_vxl_vni_set(struct zebra_if *zif, zebra_vni_t *zvni,
+/* handle EVPN add/del */
+void zebra_evpn_vxl_evpn_set(struct zebra_if *zif, zebra_evpn_t *zevpn,
bool set)
{
struct zebra_l2info_vxlan *vxl;
@@ -617,16 +617,16 @@ void zebra_evpn_vxl_vni_set(struct zebra_if *zif, zebra_vni_t *zvni,
return;
if (set) {
- zebra_evpn_es_set_base_vni(zvni);
- if (acc_bd->zvni != zvni) {
- acc_bd->zvni = zvni;
- zebra_evpn_acc_bd_vni_set(acc_bd, zvni, NULL);
+ zebra_evpn_es_set_base_evpn(zevpn);
+ if (acc_bd->zevpn != zevpn) {
+ acc_bd->zevpn = zevpn;
+ zebra_evpn_acc_bd_evpn_set(acc_bd, zevpn, NULL);
}
} else {
- if (acc_bd->zvni) {
- zebra_vni_t *old_zvni = acc_bd->zvni;
- acc_bd->zvni = NULL;
- zebra_evpn_acc_bd_vni_set(acc_bd, NULL, old_zvni);
+ if (acc_bd->zevpn) {
+ zebra_evpn_t *old_zevpn = acc_bd->zevpn;
+ acc_bd->zevpn = NULL;
+ zebra_evpn_acc_bd_evpn_set(acc_bd, NULL, old_zevpn);
}
}
}
@@ -651,8 +651,8 @@ void zebra_evpn_vl_mbr_ref(uint16_t vid, struct zebra_if *zif)
vid, zif->ifp->name);
listnode_add(acc_bd->mbr_zifs, zif);
- if (acc_bd->zvni && zif->es_info.es)
- zebra_evpn_local_es_evi_add(zif->es_info.es, acc_bd->zvni);
+ if (acc_bd->zevpn && zif->es_info.es)
+ zebra_evpn_local_es_evi_add(zif->es_info.es, acc_bd->zevpn);
}
/* handle deletion of VLAN members */
@@ -678,8 +678,8 @@ void zebra_evpn_vl_mbr_deref(uint16_t vid, struct zebra_if *zif)
list_delete_node(acc_bd->mbr_zifs, node);
- if (acc_bd->zvni && zif->es_info.es)
- zebra_evpn_local_es_evi_del(zif->es_info.es, acc_bd->zvni);
+ if (acc_bd->zevpn && zif->es_info.es)
+ zebra_evpn_local_es_evi_del(zif->es_info.es, acc_bd->zevpn);
/* if there are no other references the access_bd can be freed */
zebra_evpn_acc_bd_free_on_deref(acc_bd);
@@ -699,7 +699,7 @@ static void zebra_evpn_acc_vl_show_entry_detail(struct vty *vty,
acc_bd->vxlan_zif ?
acc_bd->vxlan_zif->ifp->name : "-");
vty_out(vty, " L2-VNI: %d\n",
- acc_bd->zvni ? acc_bd->zvni->vni : 0);
+ acc_bd->zevpn ? acc_bd->zevpn->vni : 0);
vty_out(vty, " Member Count: %d\n",
listcount(acc_bd->mbr_zifs));
vty_out(vty, " Members: \n");
@@ -717,7 +717,7 @@ static void zebra_evpn_acc_vl_show_entry(struct vty *vty,
acc_bd->vid,
acc_bd->vxlan_zif ?
acc_bd->vxlan_zif->ifp->name : "-",
- acc_bd->zvni ? acc_bd->zvni->vni : 0,
+ acc_bd->zevpn ? acc_bd->zevpn->vni : 0,
listcount(acc_bd->mbr_zifs));
}
@@ -961,7 +961,7 @@ static void zebra_evpn_nh_del(struct zebra_evpn_es_vtep *es_vtep)
/* A list of remote VTEPs is maintained for each ES. This list includes -
* 1. VTEPs for which we have imported the ESR i.e. ES-peers
* 2. VTEPs that have an "active" ES-EVI VTEP i.e. EAD-per-ES and EAD-per-EVI
- * have been imported into one or more VNIs
+ * have been imported into one or more EVPNs
*/
static int zebra_evpn_es_vtep_cmp(void *p1, void *p2)
{
@@ -1257,11 +1257,11 @@ void zebra_evpn_es_send_all_to_client(bool add)
if (add)
zebra_evpn_es_evi_send_to_client(
- es, es_evi->zvni,
+ es, es_evi->zevpn,
true /* add */);
else
zebra_evpn_es_evi_send_to_client(
- es, es_evi->zvni,
+ es, es_evi->zevpn,
false /* add */);
}
if (!add)
@@ -1283,8 +1283,8 @@ static void zebra_evpn_es_setup_evis(struct zebra_evpn_es *es)
bf_for_each_set_bit(zif->vlan_bitmap, vid, IF_VLAN_BITMAP_MAX) {
acc_bd = zebra_evpn_acc_vl_find(vid);
- if (acc_bd->zvni)
- zebra_evpn_local_es_evi_add(es, acc_bd->zvni);
+ if (acc_bd->zevpn)
+ zebra_evpn_local_es_evi_add(es, acc_bd->zevpn);
}
}
@@ -1328,8 +1328,8 @@ static void zebra_evpn_es_local_info_set(struct zebra_evpn_es *es,
/* setup base-vni if one doesn't already exist; the ES will get sent
* to BGP as a part of that process
*/
- if (!zmh_info->es_base_vni)
- zebra_evpn_es_get_one_base_vni();
+ if (!zmh_info->es_base_evpn)
+ zebra_evpn_es_get_one_base_evpn();
else
/* send notification to bgp */
zebra_evpn_es_re_eval_send_to_client(es,
@@ -1621,7 +1621,7 @@ bool zebra_evpn_es_mac_ref(zebra_mac_t *mac, esi_t *esi)
/* Inform BGP about local ES-EVI add or del */
static int zebra_evpn_es_evi_send_to_client(struct zebra_evpn_es *es,
- zebra_vni_t *zvni, bool add)
+ zebra_evpn_t *zevpn, bool add)
{
struct zserv *client;
struct stream *s;
@@ -1637,7 +1637,7 @@ static int zebra_evpn_es_evi_send_to_client(struct zebra_evpn_es *es,
add ? ZEBRA_LOCAL_ES_EVI_ADD : ZEBRA_LOCAL_ES_EVI_DEL,
zebra_vrf_get_evpn_id());
stream_put(s, &es->esi, sizeof(esi_t));
- stream_putl(s, zvni->vni);
+ stream_putl(s, zevpn->vni);
/* Write packet size. */
stream_putw_at(s, 0, stream_get_endp(s));
@@ -1645,7 +1645,7 @@ static int zebra_evpn_es_evi_send_to_client(struct zebra_evpn_es *es,
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("send %s local es %s evi %u to %s",
add ? "add" : "del",
- es->esi_str, zvni->vni,
+ es->esi_str, zevpn->vni,
zebra_route_string(client->proto));
client->local_es_add_cnt++;
@@ -1979,39 +1979,39 @@ DEFPY(zebra_evpn_es_id,
* necessary
*/
/* called when a new vni is added or becomes oper up or becomes a bridge port */
-void zebra_evpn_es_set_base_vni(zebra_vni_t *zvni)
+void zebra_evpn_es_set_base_evpn(zebra_evpn_t *zevpn)
{
struct listnode *node;
struct zebra_evpn_es *es;
- if (zmh_info->es_base_vni) {
- if (zmh_info->es_base_vni != zvni) {
- /* unrelated VNI; ignore it */
+ if (zmh_info->es_base_evpn) {
+ if (zmh_info->es_base_evpn != zevpn) {
+ /* unrelated EVPN; ignore it */
return;
}
/* check if the local vtep-ip has changed */
} else {
- /* check if the VNI can be used as base VNI */
- if (!zebra_evpn_vni_send_to_client_ok(zvni))
+ /* check if the EVPN can be used as base EVPN */
+ if (!zebra_evpn_send_to_client_ok(zevpn))
return;
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("es base vni set to %d",
- zvni->vni);
- zmh_info->es_base_vni = zvni;
+ zevpn->vni);
+ zmh_info->es_base_evpn = zevpn;
}
/* update local VTEP-IP */
if (zmh_info->es_originator_ip.s_addr ==
- zmh_info->es_base_vni->local_vtep_ip.s_addr)
+ zmh_info->es_base_evpn->local_vtep_ip.s_addr)
return;
zmh_info->es_originator_ip.s_addr =
- zmh_info->es_base_vni->local_vtep_ip.s_addr;
+ zmh_info->es_base_evpn->local_vtep_ip.s_addr;
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("es originator ip set to %s",
- inet_ntoa(zmh_info->es_base_vni->local_vtep_ip));
+ inet_ntoa(zmh_info->es_base_evpn->local_vtep_ip));
/* if originator ip changes we need to update bgp */
for (ALL_LIST_ELEMENTS_RO(zmh_info->local_es_list, node, es)) {
@@ -2026,20 +2026,20 @@ void zebra_evpn_es_set_base_vni(zebra_vni_t *zvni)
/* called when a vni is removed or becomes oper down or is removed from a
* bridge
*/
-void zebra_evpn_es_clear_base_vni(zebra_vni_t *zvni)
+void zebra_evpn_es_clear_base_evpn(zebra_evpn_t *zevpn)
{
struct listnode *node;
struct zebra_evpn_es *es;
- if (zmh_info->es_base_vni != zvni)
+ if (zmh_info->es_base_evpn != zevpn)
return;
- zmh_info->es_base_vni = NULL;
- /* lost current base VNI; try to find a new one */
- zebra_evpn_es_get_one_base_vni();
+ zmh_info->es_base_evpn = NULL;
+ /* lost current base EVPN; try to find a new one */
+ zebra_evpn_es_get_one_base_evpn();
- /* couldn't locate an eligible base vni */
- if (!zmh_info->es_base_vni && zmh_info->es_originator_ip.s_addr) {
+ /* couldn't locate an eligible base evpn */
+ if (!zmh_info->es_base_evpn && zmh_info->es_originator_ip.s_addr) {
if (IS_ZEBRA_DEBUG_EVPN_MH_ES)
zlog_debug("es originator ip cleared");
@@ -2053,27 +2053,27 @@ void zebra_evpn_es_clear_base_vni(zebra_vni_t *zvni)
}
/* Locate an "eligible" L2-VNI to follow */
-static int zebra_evpn_es_get_one_base_vni_cb(struct hash_bucket *b, void *data)
+static int zebra_evpn_es_get_one_base_evpn_cb(struct hash_bucket *b, void *data)
{
- zebra_vni_t *zvni = b->data;
+ zebra_evpn_t *zevpn = b->data;
- zebra_evpn_es_set_base_vni(zvni);
+ zebra_evpn_es_set_base_evpn(zevpn);
- if (zmh_info->es_base_vni)
+ if (zmh_info->es_base_evpn)
return HASHWALK_ABORT;
return HASHWALK_CONTINUE;
}
-/* locate a base_vni to follow for the purposes of common params like
+/* locate a base_evpn to follow for the purposes of common params like
* originator IP
*/
-static void zebra_evpn_es_get_one_base_vni(void)
+static void zebra_evpn_es_get_one_base_evpn(void)
{
struct zebra_vrf *zvrf;
zvrf = zebra_vrf_get_evpn();
- hash_walk(zvrf->vni_table, zebra_evpn_es_get_one_base_vni_cb, NULL);
+ hash_walk(zvrf->evpn_table, zebra_evpn_es_get_one_base_evpn_cb, NULL);
}
/*****************************************************************************/