diff options
| author | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2020-05-10 18:02:37 -0700 | 
|---|---|---|
| committer | Anuradha Karuppiah <anuradhak@nvidia.com> | 2020-11-24 10:20:32 -0800 | 
| commit | b2ee2b71f4864c691e7b022e06e01b521745bc85 (patch) | |
| tree | cb8be2384efbfe58239c0581e28d6f62e249a6bb /zebra/zebra_evpn_neigh.c | |
| parent | 2784d2c7d2b9d40509cfd9cb6ac59b9da06fbcfb (diff) | |
zebra: Keep DAD disabled if EVPN MH is turned on
DAD is not supported currently with EVPN-MH so we turn it off internally
when the first ES config is detected.
PS: Note that when all local ESs are deleted DAD will stay off and
will need to be cleared via a daemon restart.
Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_evpn_neigh.c')
| -rw-r--r-- | zebra/zebra_evpn_neigh.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/zebra/zebra_evpn_neigh.c b/zebra/zebra_evpn_neigh.c index e4f38008ac..6d72bc570e 100644 --- a/zebra/zebra_evpn_neigh.c +++ b/zebra/zebra_evpn_neigh.c @@ -984,7 +984,8 @@ void zebra_evpn_process_neigh_on_local_mac_change(zebra_evpn_t *zevpn,  			    || es_change) {  				ZEBRA_NEIGH_SET_ACTIVE(n);  				n->loc_seq = zmac->loc_seq; -				if (!(zvrf->dup_addr_detect && zvrf->dad_freeze +				if (!(zebra_evpn_do_dup_addr_detect(zvrf) +				      && zvrf->dad_freeze  				      && !!CHECK_FLAG(n->flags,  						      ZEBRA_NEIGH_DUPLICATE)))  					zebra_evpn_neigh_send_add_to_client( @@ -1106,7 +1107,7 @@ static int zebra_evpn_ip_inherit_dad_from_mac(struct zebra_vrf *zvrf,  	bool is_old_mac_dup = false;  	bool is_new_mac_dup = false; -	if (!zvrf->dup_addr_detect) +	if (!zebra_evpn_do_dup_addr_detect(zvrf))  		return 0;  	/* Check old or new MAC is detected as duplicate  	 * mark this neigh as duplicate @@ -1203,7 +1204,7 @@ zebra_evpn_dup_addr_detect_for_neigh(struct zebra_vrf *zvrf, zebra_neigh_t *nbr,  	char buf1[INET6_ADDRSTRLEN];  	bool reset_params = false; -	if (!zvrf->dup_addr_detect) +	if (!zebra_evpn_do_dup_addr_detect(zvrf))  		return;  	/* IP is detected as duplicate or inherit dup @@ -1456,7 +1457,7 @@ int zebra_evpn_local_neigh_update(zebra_evpn_t *zevpn, struct interface *ifp,  				 * is enabled, do not send update to client.  				 */  				is_neigh_freezed = -					(zvrf->dup_addr_detect +					(zebra_evpn_do_dup_addr_detect(zvrf)  					 && zvrf->dad_freeze  					 && CHECK_FLAG(n->flags,  						       ZEBRA_NEIGH_DUPLICATE));  | 
