mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-10-31 01:03:15 +00:00 
			
		
		
		
	Merge pull request #4307 from chiragshah6/evpn_dev1
zebra: unset sticky mac upon local deletion
This commit is contained in:
		
						commit
						81ea11208b
					
				| @ -7505,9 +7505,9 @@ int zebra_vxlan_check_del_local_mac(struct interface *ifp, | ||||
| 
 | ||||
| 	if (IS_ZEBRA_DEBUG_VXLAN) | ||||
| 		zlog_debug( | ||||
| 			"Add/update remote MAC %s intf %s(%u) VNI %u - del local", | ||||
| 			"Add/update remote MAC %s intf %s(%u) VNI %u flags 0x%x - del local", | ||||
| 			prefix_mac2str(macaddr, buf, sizeof(buf)), ifp->name, | ||||
| 			ifp->ifindex, vni); | ||||
| 			ifp->ifindex, vni, mac->flags); | ||||
| 
 | ||||
| 	/* Remove MAC from BGP. */ | ||||
| 	zvni_mac_send_del_to_client(zvni->vni, macaddr); | ||||
| @ -7520,6 +7520,7 @@ int zebra_vxlan_check_del_local_mac(struct interface *ifp, | ||||
| 		zvni_mac_del(zvni, mac); | ||||
| 	} else { | ||||
| 		UNSET_FLAG(mac->flags, ZEBRA_MAC_LOCAL); | ||||
| 		UNSET_FLAG(mac->flags, ZEBRA_MAC_STICKY); | ||||
| 		SET_FLAG(mac->flags, ZEBRA_MAC_AUTO); | ||||
| 	} | ||||
| 
 | ||||
| @ -7603,11 +7604,6 @@ int zebra_vxlan_local_mac_del(struct interface *ifp, struct interface *br_if, | ||||
| 		return -1; | ||||
| 	} | ||||
| 
 | ||||
| 	if (IS_ZEBRA_DEBUG_VXLAN) | ||||
| 		zlog_debug("DEL MAC %s intf %s(%u) VID %u -> VNI %u", | ||||
| 			   prefix_mac2str(macaddr, buf, sizeof(buf)), ifp->name, | ||||
| 			   ifp->ifindex, vid, zvni->vni); | ||||
| 
 | ||||
| 	/* If entry doesn't exist, nothing to do. */ | ||||
| 	mac = zvni_mac_lookup(zvni, macaddr); | ||||
| 	if (!mac) | ||||
| @ -7617,6 +7613,11 @@ int zebra_vxlan_local_mac_del(struct interface *ifp, struct interface *br_if, | ||||
| 	if (!CHECK_FLAG(mac->flags, ZEBRA_MAC_LOCAL)) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	if (IS_ZEBRA_DEBUG_VXLAN) | ||||
| 		zlog_debug("DEL MAC %s intf %s(%u) VID %u -> VNI %u flags 0x%x", | ||||
| 			   prefix_mac2str(macaddr, buf, sizeof(buf)), ifp->name, | ||||
| 			   ifp->ifindex, vid, zvni->vni, mac->flags); | ||||
| 
 | ||||
| 	/* Update all the neigh entries associated with this mac */ | ||||
| 	zvni_process_neigh_on_local_mac_del(zvni, mac); | ||||
| 
 | ||||
| @ -7631,6 +7632,7 @@ int zebra_vxlan_local_mac_del(struct interface *ifp, struct interface *br_if, | ||||
| 		zvni_mac_del(zvni, mac); | ||||
| 	} else { | ||||
| 		UNSET_FLAG(mac->flags, ZEBRA_MAC_LOCAL); | ||||
| 		UNSET_FLAG(mac->flags, ZEBRA_MAC_STICKY); | ||||
| 		SET_FLAG(mac->flags, ZEBRA_MAC_AUTO); | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 David Lamparter
						David Lamparter