Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

McLAG Stale Static mac is present in hardware even after the port-channel is removed from VLAN #2610

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

skannan-sonic
Copy link

@skannan-sonic skannan-sonic commented Jan 10, 2023

What I did

Co-Author - @prasanna-cls

Fix
1. VLT VLAN Member removal - As part of Vlan member remove flush the static entries from hardware and update the saved_fdb_entries for restoration
2. Mac move to ICL (due to VLT shut) - This is like mac move to ICL in this cases previously saved FDB entries in saved_fdb_entries has to be removed.
   So when VLT is added as vlan member mac entry will not be restored back to Hardware.

Why I did it

Issue

Create Mclag intance.
Create vlan 101 (make member for VLT ports as members)
Send traffic on Vlan 101 so node-1 learns the mac address as dynamic and synced to node-2 as static entry.
now remove node-2 vlan 101 membership for VLT port channel and check the h/w, ASIC_DB stale entry will be present.

How I verified it

Test cases Tried on device :-
1. Node - 2 VLT synced mac address configured as static - PASS
2. Remove VLT from VLAN 101  verify hardware mac entry is not present - PASS
3. Shut the VLT port verify mac entry moved to ICL - PASS
4. Flush the entry in Node-1 verify mac address in node-2 pointing to ICL is removed - PASS
5. no shut the VLT port and add VLT as member of VLAN 101 verify mac address is not present in H/W - PASS

Test cases tried in docker vs :-
  1. test_mclagFdb_remote_static_mac_add_member_remove_add
  2. +# Test-13 Remote Static MAC Add
    +# add static mac on vlan 200, portchannel5
    +# remove portchannel5 from vlan 200
    +# move mac from portchannel5 to portchannel6
    +# delete mac from portchannel6
    +# add portchannel5 to vlan 200
    +# verify whether static mac is configured on portchannel5

Test-14 Remote Static MAC Add

add static mac on vlan 200, portchannel5

remove portchannel5 from vlan 200

move mac from portchannel5 to portchannel6

move mac from portchannel6 to portchannel5 check for entry removed

flush fdb entry

add portchannel5 to vlan 200

verify whether static mac is not configured on portchannel5

Details if related
Test cases Tried on device :-
1. Node - 2 VLT synced mac address configured as static - PASS
3. Remove VLT from VLAN 101 verify hardware mac entry is not present - PASS
4. Shut the VLT port verify mac entry moved to ICL - PASS
5. Flush the entry in Node-1 verify mac address in node-2 pointing to ICL is removed - PASS
6. no shut the VLT port and add VLT as member of VLAN 101 verify mac address is not present in H/W - PASS

Fix
1. VLT VLAN Member removal - As part of Vlan member remove flush the static entries from hardware and update the saved_fdb_entries for restoration
2. Mac move to ICL (due to VLT shut) - This is like mac move to ICL in this cases previously saved FDB entries in saved_fdb_entries has to be removed.
   So when VLT is added as vlan member mac entry will not be restored back to Hardware.
3. Mac move from ICL to Non vlan member VLT - delete the entry from hardware and save the entry for future programming (handle no bridge port case also)

Issue

Create Mclag intance.
Create vlan 101 (make member for VLT ports as members)
Send traffic on Vlan 101 so node-1 learns the mac address as dynamic and synced to node-2 as static entry.
now remove node-2 vlan 101 membership for VLT port channel and check the h/w, ASIC_DB stale entry will be present.

Test cases in VS:-
1. test_mclagFdb_remote_static_mac_add_member_remove_add
2.

3.
@skannan-sonic skannan-sonic marked this pull request as ready for review January 11, 2023 04:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant