diff options
| -rw-r--r-- | zebra/zebra_vrf.h | 4 | ||||
| -rw-r--r-- | zebra/zebra_vxlan.c | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/zebra/zebra_vrf.h b/zebra/zebra_vrf.h index 3574f4b67c..115d2b9d01 100644 --- a/zebra/zebra_vrf.h +++ b/zebra/zebra_vrf.h @@ -203,9 +203,7 @@ extern struct route_table *zebra_vrf_table(afi_t, safi_t, vrf_id_t); static inline vrf_id_t zebra_vrf_get_evpn_id(void) { - struct zebra_vrf *zvrf = NULL; - zvrf = zebra_vrf_lookup_by_id(VRF_DEFAULT); - return zvrf ? zvrf->evpn_vrf_id : VRF_DEFAULT; + return zebra_vrf_lookup_by_id(VRF_DEFAULT)->evpn_vrf_id; } static inline struct zebra_vrf *zebra_vrf_get_evpn(void) { diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index 88a4375238..0ceaed8d24 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -9045,7 +9045,10 @@ void zebra_vxlan_advertise_all_vni(ZAPI_HANDLER_ARGS) struct zebra_vrf *zvrf_default = NULL; zvrf_default = zebra_vrf_lookup_by_id(VRF_DEFAULT); - if (!zvrf_default) + + /* Mismatch between EVPN VRF and current VRF (should be prevented by + * bgpd's cli) */ + if (is_evpn_enabled() && !zvrf->advertise_all_vni) return; s = msg; |
