-
Notifications
You must be signed in to change notification settings - Fork 1.3k
LLR - Link Layer Retry HLD #2098
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
base: master
Are you sure you want to change the base?
Conversation
|
/azp run |
|
No pipelines are associated with this pull request. |
Signed-off-by: Ravi Minnikanti <[email protected]>
Signed-off-by: Ravi Minnikanti <[email protected]>
|
/azp run |
|
No pipelines are associated with this pull request. |
| `llrmgrd` operates as a daemon within the swss Docker container and is initiated by supervisord, like other swss services. | ||
| - `llrmgrd` relies on a vendor-supplied ini file named `llr_buffer_lookup.ini` located in the HWSKU directory to generate LLR profile parameters based on port operating speed and cable length. | ||
| - A WARN log is generated if the `llr_buffer_lookup.ini` file is missing or inaccessible. | ||
| - Each generated profile is assigned a unique name in the format `llr_buffer_<speed>_<cable_len>_profile`. |
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.
It seems the profile is determined by the speed and cable_len. In the case where port speed is auto, and the speed changes, how can llrmgrd catch and handle such change?
| - If the LLR global configuration mode is set to Static, the configuration is driven by the configuration in CONFIG_DB. | ||
| - When set to Dynamic, the configuration is driven by the LLDP exchange (This mode is not supported in Phase I of development). | ||
| - It subscribes to CABLE_LENGTH table in CONFIG_DB for port cable length information. For operational speed updates, it subscribes to the PORT_TABLE in STATE_DB. | ||
| - When LLR is enabled both globally and on a port, `llrmgrd` generates an LLR profile for the port and writes the corresponding profile to CONFIG_DB. |
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 need a ref_count for each LLR profile so it can only be deleted if ref_count is 0?
|
|
||
| PORT LLR Local State LLR Remote State LLR PROFILE | ||
| ---------- ----------------- ------------------ ------------------------------ | ||
| Ethernet1 enabled disabled llr_buffer_800000_40m_profile |
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.
Can you please help clarify the following questions?
- How can we get the LLR remote state, by lldp?
- Can LLR still work properly if the remote state is disabled?
- Will turn on/off LLR dynamically affect the outgoing traffic on this port?
thanks,
This PR introduces HLD for the Link Layer Retry (LLR) feature