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

Recycle port HLD #742

Merged
merged 13 commits into from
Jun 2, 2021
Merged

Recycle port HLD #742

merged 13 commits into from
Jun 2, 2021

Conversation

ysmanman
Copy link
Contributor

No description provided.

@ysmanman ysmanman changed the title Add recycle port HLD. Recycle port HLD Jan 26, 2021
Copy link
Contributor

@eswaranb eswaranb left a comment

Choose a reason for hiding this comment

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

  1. Support host if for recycle port?
  2. Update show command to support the recycle port.
  3. Inband port can be configured to be Recirc0

Ethernet8 56,57,58,59,60,61,62,63 Ethernet2/1 2 Ext 400000
Ethernet16 64,65,66,67,68,69,70,71 Ethernet3/1 3 Ext 400000
Ethernet24 72,73,74,75,76,77,78,79 Ethernet4/1 4 Ext 400000
Recirc0 221 Recirc0/0 5 Rec 400000
Copy link
Contributor

Choose a reason for hiding this comment

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

Inband0 221 Inband0 5 Rec 400000
Recirc0 222 Recirc0 6 Rec 400000

Ethernet16 64,65,66,67,68,69,70,71 Ethernet3/1 3 Ext 400000
Ethernet24 72,73,74,75,76,77,78,79 Ethernet4/1 4 Ext 400000
Recirc0 221 Recirc0/0 5 Rec 400000
Recirc1 222 Recirc0/1 6 Rec 400000
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Add a new role Inb for inband.

Ethernet8 56,57,58,59,60,61,62,63 Ethernet2/1 2 Ext 400000
Ethernet16 64,65,66,67,68,69,70,71 Ethernet3/1 3 Ext 400000
Ethernet24 72,73,74,75,76,77,78,79 Ethernet4/1 4 Ext 400000
Recirc0 221 Recirc0/0 5 Rec 400000
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Rename Recirc0 -> Ethernet-Recirc0.

@anshuv-mfst
Copy link
Collaborator

@rlhui , @arlakshm - Could you please review the PR, thanks.
@skeesara-nokia - could you please review the PR, thanks.

@anshuv-mfst anshuv-mfst requested review from rlhui and arlakshm February 3, 2021 17:22
vganesan-nokia pushed a commit to vganesan-nokia/sonic-swss that referenced this pull request Feb 6, 2021
Signed-off-by: vedganes <[email protected]>

Based on review comments Recyle port HLD
(sonic-net/SONiC#742) the inband port name prefix is
changed from Inband to "Ethernet-IB" similar to what we have for
Ethernet-BP (Ethernet-Backplane) in multi-asic design. Because of this
changes, we no longer need "INBAND_PREFIX" definition since Ethernet-IB
is covered in "INTFS_PREIFX"
vganesan-nokia pushed a commit to vganesan-nokia/sonic-swss that referenced this pull request Feb 11, 2021
Signed-off-by: vedganes <[email protected]>

Based on review comments Recyle port HLD
(sonic-net/SONiC#742) the inband port name prefix is
changed from Inband to "Ethernet-IB" similar to what we have for
Ethernet-BP (Ethernet-Backplane) in multi-asic design. Because of this
changes, we no longer need "INBAND_PREFIX" definition since Ethernet-IB
is covered in "INTFS_PREIFX"
vganesan-nokia pushed a commit to vganesan-nokia/sonic-swss that referenced this pull request Feb 17, 2021
Signed-off-by: vedganes <[email protected]>

Based on review comments Recyle port HLD
(sonic-net/SONiC#742) the inband port name prefix is
changed from Inband to "Ethernet-IB" similar to what we have for
Ethernet-BP (Ethernet-Backplane) in multi-asic design. Because of this
changes, we no longer need "INBAND_PREFIX" definition since Ethernet-IB
is covered in "INTFS_PREIFX"
vganesan-nokia pushed a commit to vganesan-nokia/sonic-buildimage that referenced this pull request Feb 17, 2021
Signed-off-by: vedganes <[email protected]>

(1) Based on review comments Recyle port HLD
(sonic-net/SONiC#742) the inband port name prefix is
changed from Inband to "Ethernet-IB" similar to what we have for
Ethernet-BP (Ethernet-Backplane) in multi-asic design. Changes are done
in interface.py to handle this changed name
(2) Code review comments fix for lldpmgrd
Copy link
Contributor

@rlhui rlhui left a comment

Choose a reason for hiding this comment

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

How to create a recycle port with SAI?

@ysmanman
Copy link
Contributor Author

ysmanman commented Mar 3, 2021

How to create a recycle port with SAI?

This should be similar to front panel ports. Recycle ports are defined in port_config.ini, and are populated in APP_DB port table. portsorch retrieves ports list, including recycle ports, from SAI in initialization, and initialize recycle ports just like other front panel ports in doTask.

@rlhui
Copy link
Contributor

rlhui commented Mar 3, 2021

How to create a recycle port with SAI?

This should be similar to front panel ports. Recycle ports are defined in port_config.ini, and are populated in APP_DB port table. portsorch retrieves ports list, including recycle ports, from SAI in initialization, and initialize recycle ports just like other front panel ports in doTask.

how to convey to ASIC SAI implementation that this is not an actual front-panel port, but to add 1 or 2 recycle ports?

@ysmanman
Copy link
Contributor Author

ysmanman commented Mar 3, 2021

How to create a recycle port with SAI?

This should be similar to front panel ports. Recycle ports are defined in port_config.ini, and are populated in APP_DB port table. portsorch retrieves ports list, including recycle ports, from SAI in initialization, and initialize recycle ports just like other front panel ports in doTask.

how to convey to ASIC SAI implementation that this is not an actual front-panel port, but to add 1 or 2 recycle ports?

If a SAI implementation needs to differentiate recycle port from recycle ports, it can encode a sub port type in the pid of recycle port. But this is transparent to orchagent since all orchagent needs is just a pid for recycle port.

@abdosi
Copy link
Contributor

abdosi commented Mar 7, 2021

Some Question on QoS w.r.t Recycle Port:-

What about the Queue of recycle port ? Do we will have Queue stats for recycle port ? What will be behaviour of PFC and recycle port ? Can this port get back pressure for PFC queue 3 and 4 ?

Copy link
Contributor

@abdosi abdosi left a comment

Choose a reason for hiding this comment

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

Some questions on Qos.

Ethernet16 64,65,66,67,68,69,70,71 Ethernet3/1 3 Ext 400000
Ethernet24 72,73,74,75,76,77,78,79 Ethernet4/1 4 Ext 400000
Ethernet-Rec0 221 Recirc0/0 5 Rec 400000
Ethernet-Rec1 222 Recirc0/1 6 Inb 400000
Copy link
Contributor

Choose a reason for hiding this comment

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

The naming convention for inband ports is "Ethernet-IB0", "Ethernet-IB1" etc. Can you please change "Ethernet-Rec1" above to "Ethernet-IB0"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sounds good. Fixed.

@skeesara-nokia
Copy link
Contributor

Some Question on QoS w.r.t Recycle Port:-

What about the Queue of recycle port ? Do we will have Queue stats for recycle port ? What will be behaviour of PFC and recycle port ? Can this port get back pressure for PFC queue 3 and 4 ?

Some Question on QoS w.r.t Recycle Port:-

What about the Queue of recycle port ? Do we will have Queue stats for recycle port ? What will be behaviour of PFC and recycle port ? Can this port get back pressure for PFC queue 3 and 4 ?

Recycle port is expected to have queue statistics like any other port.
The back pressure part may be implementation dependent. Expect more clarity on that once the Recycle port proposal is reviewed in the SAI forum.

@skeesara-nokia
Copy link
Contributor

Some questions on Qos.

QOS for the recycle port in general works similar any other port. It will support queues, mappings, remarking etc.

@rlhui
Copy link
Contributor

rlhui commented Mar 10, 2021

No description provided.

Some Question on QoS w.r.t Recycle Port:-
What about the Queue of recycle port ? Do we will have Queue stats for recycle port ? What will be behaviour of PFC and recycle port ? Can this port get back pressure for PFC queue 3 and 4 ?

Some Question on QoS w.r.t Recycle Port:-
What about the Queue of recycle port ? Do we will have Queue stats for recycle port ? What will be behaviour of PFC and recycle port ? Can this port get back pressure for PFC queue 3 and 4 ?

Recycle port is expected to have queue statistics like any other port.
The back pressure part may be implementation dependent. Expect more clarity on that once the Recycle port proposal is reviewed in the SAI forum.

I would like to request that we add to the doc the usage of the SAI recycle port API - the current raised idea is to add a subport type for the recycle port. How will this be used by the sonic applications/users?

@rlhui
Copy link
Contributor

rlhui commented Mar 10, 2021

How to create a recycle port with SAI?

This should be similar to front panel ports. Recycle ports are defined in port_config.ini, and are populated in APP_DB port table. portsorch retrieves ports list, including recycle ports, from SAI in initialization, and initialize recycle ports just like other front panel ports in doTask.

how to convey to ASIC SAI implementation that this is not an actual front-panel port, but to add 1 or 2 recycle ports?

If a SAI implementation needs to differentiate recycle port from recycle ports, it can encode a sub port type in the pid of recycle port. But this is transparent to orchagent since all orchagent needs is just a pid for recycle port.

How to create a recycle port with SAI?

This should be similar to front panel ports. Recycle ports are defined in port_config.ini, and are populated in APP_DB port table. portsorch retrieves ports list, including recycle ports, from SAI in initialization, and initialize recycle ports just like other front panel ports in doTask.

how to convey to ASIC SAI implementation that this is not an actual front-panel port, but to add 1 or 2 recycle ports?

If a SAI implementation needs to differentiate recycle port from recycle ports, it can encode a sub port type in the pid of recycle port. But this is transparent to orchagent since all orchagent needs is just a pid for recycle port.

Would we please add to the doc on this. Thanks.

@ysmanman
Copy link
Contributor Author

No description provided.

Some Question on QoS w.r.t Recycle Port:-
What about the Queue of recycle port ? Do we will have Queue stats for recycle port ? What will be behaviour of PFC and recycle port ? Can this port get back pressure for PFC queue 3 and 4 ?

Some Question on QoS w.r.t Recycle Port:-
What about the Queue of recycle port ? Do we will have Queue stats for recycle port ? What will be behaviour of PFC and recycle port ? Can this port get back pressure for PFC queue 3 and 4 ?

Recycle port is expected to have queue statistics like any other port.
The back pressure part may be implementation dependent. Expect more clarity on that once the Recycle port proposal is reviewed in the SAI forum.

I would like to request that we add to the doc the usage of the SAI recycle port API - the current raised idea is to add a subport type for the recycle port. How will this be used by the sonic applications/users?

The HLD proposes to use recycle port in a way that’s independent of the SAI recycele port API. In this proposal, SONiC application/users shouldn’t really care about if a subport type is defined for recycle port or not. What we proposed in the HLD is to use port role to identify recycle ports in SONiC and its applications. Detailedly, we define recycle ports by setting the specific port roles along with their lanes in port_config.ini. With lanes and roles from port_config.ini, portsorch should be able to initialize recycle ports and also uncover their pid returned by SAI. SONiC applications that need recycle ports, like Everflow, should simply request the pid of recycle port from portsorch. It’s not clear to me why we have to define a subport type for recycle port. Did I get your comment correct?

@ysmanman
Copy link
Contributor Author

How to create a recycle port with SAI?

This should be similar to front panel ports. Recycle ports are defined in port_config.ini, and are populated in APP_DB port table. portsorch retrieves ports list, including recycle ports, from SAI in initialization, and initialize recycle ports just like other front panel ports in doTask.

how to convey to ASIC SAI implementation that this is not an actual front-panel port, but to add 1 or 2 recycle ports?

If a SAI implementation needs to differentiate recycle port from recycle ports, it can encode a sub port type in the pid of recycle port. But this is transparent to orchagent since all orchagent needs is just a pid for recycle port.

How to create a recycle port with SAI?

This should be similar to front panel ports. Recycle ports are defined in port_config.ini, and are populated in APP_DB port table. portsorch retrieves ports list, including recycle ports, from SAI in initialization, and initialize recycle ports just like other front panel ports in doTask.

how to convey to ASIC SAI implementation that this is not an actual front-panel port, but to add 1 or 2 recycle ports?

If a SAI implementation needs to differentiate recycle port from recycle ports, it can encode a sub port type in the pid of recycle port. But this is transparent to orchagent since all orchagent needs is just a pid for recycle port.

Would we please add to the doc on this. Thanks.

As I replied to another comment, this seems not relevant to the proposal in the HLD.

vganesan-nokia pushed a commit to vganesan-nokia/sonic-swss that referenced this pull request Apr 1, 2021
Signed-off-by: vedganes <[email protected]>

Based on review comments Recyle port HLD
(sonic-net/SONiC#742) the inband port name prefix is
changed from Inband to "Ethernet-IB" similar to what we have for
Ethernet-BP (Ethernet-Backplane) in multi-asic design. Because of this
changes, we no longer need "INBAND_PREFIX" definition since Ethernet-IB
is covered in "INTFS_PREIFX"
@ysmanman ysmanman requested a review from abdosi April 7, 2021 04:50
@ysmanman
Copy link
Contributor Author

ysmanman commented Apr 7, 2021

Some questions on Qos.

This comment had been addressed already. Copy the reply again to update review status:

QOS for the recycle port in general works similar any other port. It will support queues, mappings, remarking etc.

@ysmanman can we capture this point as part of document also.

vganesan-nokia pushed a commit to vganesan-nokia/sonic-swss that referenced this pull request Apr 10, 2021
Signed-off-by: vedganes <[email protected]>

Based on review comments Recyle port HLD
(sonic-net/SONiC#742) the inband port name prefix is
changed from Inband to "Ethernet-IB" similar to what we have for
Ethernet-BP (Ethernet-Backplane) in multi-asic design. Because of this
changes, we no longer need "INBAND_PREFIX" definition since Ethernet-IB
is covered in "INTFS_PREIFX"
@abdosi abdosi merged commit 7d27ce8 into sonic-net:master Jun 2, 2021
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.

6 participants