diff options
| -rw-r--r-- | zebra/zebra_vxlan.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index 7e86d15b4b..c6ff5089ca 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -5554,6 +5554,7 @@ void zebra_vxlan_advertise_svi_macip(ZAPI_HANDLER_ARGS) struct zebra_if *zif = NULL; struct zebra_l2info_vxlan zl2_info; struct interface *vlan_if = NULL; + int old_advertise; zevpn = zebra_evpn_lookup(vni); if (!zevpn) @@ -5561,19 +5562,20 @@ void zebra_vxlan_advertise_svi_macip(ZAPI_HANDLER_ARGS) if (IS_ZEBRA_DEBUG_VXLAN) zlog_debug( - "EVPN SVI macip Adv %s on VNI %d , currently %s", + "EVPN SVI macip Adv %s on VNI %d, currently %s", advertise ? "enabled" : "disabled", vni, advertise_svi_macip_enabled(zevpn) ? "enabled" : "disabled"); - if (zevpn->advertise_svi_macip == advertise) - return; + old_advertise = advertise_svi_macip_enabled(zevpn); /* Store flag even though SVI is not present. * Once SVI comes up triggers self MAC-IP route add. */ zevpn->advertise_svi_macip = advertise; + if (advertise_svi_macip_enabled(zevpn) == old_advertise) + return; ifp = zevpn->vxlan_if; if (!ifp) @@ -5637,7 +5639,7 @@ void zebra_vxlan_advertise_subnet(ZAPI_HANDLER_ARGS) return; if (IS_ZEBRA_DEBUG_VXLAN) - zlog_debug("EVPN subnet Adv %s on VNI %d , currently %s", + zlog_debug("EVPN subnet Adv %s on VNI %d, currently %s", advertise ? "enabled" : "disabled", vni, zevpn->advertise_subnet ? "enabled" : "disabled"); @@ -5719,6 +5721,7 @@ void zebra_vxlan_advertise_gw_macip(ZAPI_HANDLER_ARGS) struct zebra_l2info_vxlan zl2_info; struct interface *vlan_if = NULL; struct interface *vrr_if = NULL; + int old_advertise; zevpn = zebra_evpn_lookup(vni); if (!zevpn) @@ -5726,15 +5729,16 @@ void zebra_vxlan_advertise_gw_macip(ZAPI_HANDLER_ARGS) if (IS_ZEBRA_DEBUG_VXLAN) zlog_debug( - "EVPN gateway macip Adv %s on VNI %d , currently %s", + "EVPN gateway macip Adv %s on VNI %d, currently %s", advertise ? "enabled" : "disabled", vni, advertise_gw_macip_enabled(zevpn) ? "enabled" - : "disabled"); + : "disabled"); - if (zevpn->advertise_gw_macip == advertise) - return; + old_advertise = advertise_gw_macip_enabled(zevpn); zevpn->advertise_gw_macip = advertise; + if (advertise_gw_macip_enabled(zevpn) == old_advertise) + return; ifp = zevpn->vxlan_if; if (!ifp) |
