-
Notifications
You must be signed in to change notification settings - Fork 551
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
Add support for recirc port and everflow #1530
Conversation
Recirc prot changes: - portsyncd includes recirc ports in total port count. - portsyncd does not add recirc ports to g_portSet because no host intfs are created for recirc ports. - portsorch discovers recirc ports by checking port role setting and adds them correspondingly. - intforch supports adding rif for recirc ports. Everflow changes: - mirrororch allows mirror dst port to be system port. - mirrororch sets mirror dst port to recirc port in voq switch. - mirrororch sets router mac as mirror dst mac in voq switch.
@@ -678,6 +679,10 @@ bool MirrorOrch::getNeighborInfo(const string& name, MirrorEntry& session) | |||
|
|||
return true; | |||
} | |||
case Port::SYSTEM: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we actually need this? Is knowing route existing enough?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mirrororch makes use of getNeighborInfo() to resolve mirror dstIp into neighbor, especially when mirror dstIp is actually a neighbor. Therefore, the change is still required to allow resolving mirror dstIp to remote neighbor in multi-asic.
Could we please name it recycle port instead of recirc port? |
We actually named these ports as recycle ports initially. This is in line
with the naming in Broadcom SAI/SDK.
However, in an earlier discussion with Guohan, he suggested to use recirc,
instead of recycle.
We are okay to change it back to recycle ports. Please do let us know what
you and Guohan decide.
…On Wed, Dec 9, 2020 at 6:15 PM rlhui ***@***.***> wrote:
Could we please name it recycling port instead of recirc port?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1530 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APITCDBIPXWC7UBF5D3KVQLSUAVMHANCNFSM4UQ74QZQ>
.
|
Do you have a design doc for this feature? |
This pull request introduces 3 alerts when merging 3185fca into cf27721 - view on LGTM.com new alerts:
|
This is the PR for Everflow HLD: sonic-net/SONiC#716.
The HLD was reviewed in chassis subgroup meeting last week. We will add a
section in the HLD to cover recirc port.
…On Wed, Dec 9, 2020 at 10:00 PM zhenggen-xu ***@***.***> wrote:
Do you have a design doc for this feature?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1530 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APITCDEWIUQBGBPSFY2NWZLSUBPZFANCNFSM4UQ74QZQ>
.
|
This pull request introduces 3 alerts when merging 9324a32 into 376acfe - view on LGTM.com new alerts:
|
This pull request introduces 3 alerts when merging 6e33003 into 288fb40 - view on LGTM.com new alerts:
|
tests/test_port_config.py
Outdated
asic_db = swsscommon.DBConnector(swsscommon.ASIC_DB, dvs.redis_sock, 0) | ||
asic_db_lanes_tbl = swsscommon.Table(asic_db, "LANES") | ||
|
||
lanes = asic_db_lanes_tbl.get('')[1] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use wait_for function to improve robustness
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestion. Fixed.
This pull request introduces 3 alerts when merging 5df61d8 into f9d5959 - view on LGTM.com new alerts:
|
…for a given role.
This pull request introduces 3 alerts when merging d5dbaf4 into f2854f8 - view on LGTM.com new alerts:
|
- Fix doProcessRecircPort to bail out if port Id is not found - Fix a couple of issues in test_recirc_port and also address review comments
This pull request introduces 2 alerts when merging e50cbd5 into de03dd7 - view on LGTM.com new alerts:
|
This pull request introduces 2 alerts when merging ec03925 into de03dd7 - view on LGTM.com new alerts:
|
This pull request introduces 2 alerts when merging 95377ac into 500e2e9 - view on LGTM.com new alerts:
|
This pull request introduces 2 alerts when merging e0d9c79 into 500e2e9 - view on LGTM.com new alerts:
|
@abdosi Thanks for review. Conflict was resolved and all checks have passed now. |
This pull request introduces 2 alerts when merging f55823f into ee7a735 - view on LGTM.com new alerts:
|
|
@abdosi Conflict was resolved and all checks have passed now. Can you take a look and approve? |
@ysmanman can you fix the conflict. |
# Add recirc ports to port config in configDB | ||
recirc_port_lane_name_map = {} | ||
for i in range(2): | ||
name = alias = "Ethernet-Rec%s" % i |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does it not need Ethernet-IB here ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@abdosi thanks for review. The name do not really matter here. What matters is the port role. We covered both port roles: Rec and Inb in the test (Line188).
|
||
# Verify recirc ports in port table in applDB | ||
for i in range(2): | ||
name = alias = "Ethernet-Rec%s" % i |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@abdosi The name do not really matter here. What matters is the port role. We covered both port roles: Rec and Inb in the test (Line188 and 205).
This pull request introduces 2 alerts when merging 19ec921 into 3629d70 - view on LGTM.com new alerts:
|
@abdosi Resolved conflicts again. Swss tests passed. |
@abdosi - could you please re-approve. |
This reverts commit 5ef4b38.
This PR adds recirc port and Everflow support in distributed VOQ chassis. What I did Recirc prot changes: portsyncd includes recirc ports in total port count. portsyncd does not add recirc ports to g_portSet because no host intfs are created for recirc ports. portsorch discovers recirc ports by checking port role setting and adds them correspondingly. intforch supports adding rif for recirc ports. Everflow changes: mirrororch allows mirror dst port to be system port. mirrororch sets mirror dst port to recirc port in voq switch. mirrororch sets router mac as mirror dst mac in voq switch.
… are no broken changes with future versions (sonic-net#1530) #### What I did Fixes sonic-net/sonic-buildimage#7152 #### How I did it Relax the install_requires
This PR adds recirc port and Everflow support in distributed VOQ chassis.
What I did
Recirc prot changes:
Everflow changes:
Why I did it
Support recirc port and Everflow
How I verified it
Tested in a distributed VOQ system with BCM ASICs.
Details if related
This PR has some dependency on PR #1431 and some minor change is needed once that PR is merged.