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

Layer 2 forwarding enhancements HLD #379

Merged
merged 38 commits into from
Jul 17, 2019
Merged

Conversation

anilkpandey
Copy link
Contributor

@anilkpandey anilkpandey commented May 9, 2019

The document provides high level design for enhancements in SONiC layer 2 forwarding for FDB flush, MAC move, FDB aging time configuration, Static FDB configuration and VLAN Range configuration.

PRs:

sonic-net/sonic-sairedis#510
sonic-net/sonic-swss-common#303
sonic-net/sonic-utilities#529
sonic-net/sonic-swss#1716

anilkpandey added 28 commits May 7, 2019 15:25
The documents decribes the functional spec and high level design for Layer 2 Forwarding Enhancements.
@msftclas
Copy link

msftclas commented May 9, 2019

CLA assistant check
All CLA requirements met.

@anilkpandey anilkpandey changed the title High level design for layer 2 forwarding enhancements Layer 2 forwarding enhancements HLD May 9, 2019
Changed FDB flush mechanism from individual FDB entry delete to Bulk flush in hardware.
Updated to exclude bridge_port_id in Orchagent FDB data structure as it is not needed for bulk flush. We only need the FDB type.
@chainwu
Copy link

chainwu commented May 21, 2019

Could you also help to fix CLI "show mac" takes too much time to display mac entries, e.g. It will take more than 30+ mins to display 32K entries output? Thanks!

Wilson @loshihyu

@anilkpandey
Copy link
Contributor Author

anilkpandey commented May 21, 2019 via email

@loshihyu
Copy link

That's great! Thanks Anil!

Wilson

1. Added per port per VLAN fdb clear option.
2. Listed all the SAI attributes being used.
3. Added -w option in VLAN Range commands to indicate logging of warning messages.
Copy link
Contributor

@stcheng stcheng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you remove all the .DS_Store files?

@anilkpandey
Copy link
Contributor Author

could you remove all the .DS_Store files?

Done

Copy link
Contributor

@qiluo-msft qiluo-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also check other reviewers' comments

@prsunny
Copy link
Contributor

prsunny commented Jul 16, 2019

@keboliu , @madhupalu , can you review/approve this?. Looks like all the open comments are addressed.

@prsunny prsunny merged commit d4dacee into sonic-net:master Jul 17, 2019
rajendra-dendukuri pushed a commit to rajendra-dendukuri/SONiC that referenced this pull request Jul 29, 2019
* Layer 2 Forwarding Enhancements FDS

The documents decribes the functional spec and high level design for Layer 2 Forwarding Enhancements.

* Layer 2 Forwarding Enhancements HLD

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

* Update .DS_Store

* Update .DS_Store

* Updated to change FDB flush as bulk flush in hardware

Changed FDB flush mechanism from individual FDB entry delete to Bulk flush in hardware.

* exclude bridge_port_id in fdb data structure

Updated to exclude bridge_port_id in Orchagent FDB data structure as it is not needed for bulk flush. We only need the FDB type.

* exclude bridge_port_id in fdb data structure

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

some minor corrections.

* Updated with inputs from community review

1. Added per port per VLAN fdb clear option.
2. Listed all the SAI attributes being used.
3. Added -w option in VLAN Range commands to indicate logging of warning messages.

* remove .DS_Store

* Update SONiC Layer 2 Forwarding Enhancements HLD.md

Updated default FDB aging time.
@William-zx
Copy link

Hi Anil,

Are there any plans to write ansible or pytest scripts to test those enhancements. @anilkpandey

Thanks.
william-zx

@anilkpandey
Copy link
Contributor Author

Hi William,

pytest scripts are added as part of the following PR:

sonic-net/sonic-swss#885

@William-zx
Copy link

Hi Anil,

It seems you have added some VS tests to test this enhancements. I also want to know if there are any plans to write test cases for this enhancements in sonic-mgmt

Thanks.
william-zx

@anilkpandey
Copy link
Contributor Author

No, only VS pytest.

@William-zx
Copy link

Thanks Anil! I see.

william-zx



**Changes for Static FDB configuration.**
New CLI will be added for configuring Static FDB entry. It will be set in the FDB_TABLE in CONFIG_DB. Vlanmgr will handle the CONIG_DB changes, do necessary validations and then populate in APP_DB. FdbOrch already has all the necessary handling for Static FDB changes from APP_DB.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am curious When a static FDB entry is removed from CLI, will SAI notify a SAI_FDB_EVENT_AGED to orchagent?

From images/staticMacConfig.jpg, even if such an event is present, orchagent will ignore it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, SAI_FDB_EVENT_AGED will be received and it will be ignored at orchagent because the fdb entry does not exist anymore.

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.