You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/llr/Link_Layer_Retry_Design.md
+49-34Lines changed: 49 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -185,7 +185,7 @@ The following initial configurations are handled for LLR
185
185
-`llrmgrd` subscribes to LLR_GLOBAL and LLR_PORT tables in CONFIG_DB to receive LLR global and per-port configuration updates and, depending on the global and per-port LLR state, propagates the relevant LLR configuration to APPL_DB.
186
186
- If the LLR global configuration mode is set to Static, the configuration is driven by the configuration in CONFIG_DB.
187
187
- When set to Dynamic, the configuration is driven by the LLDP exchange (This mode is not supported in Phase I of development).
188
-
- It subscribes to CABLE_LENGTH tables in CONFIG_DB for admin_status, cable length information. For operational speed updates, it subscribes to the PORT_TABLE in STATE_DB.
188
+
- 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.
189
189
- 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.
190
190
- Additionally, it consumes LLR_PROFILE updates from CONFIG_DB and writes LLR port and profile information to APPL_DB for orchagent consumption.
191
191
@@ -207,27 +207,27 @@ Field names in `llr_buffer_lookup.ini` maps to CONFIG_DB `LLR_PROFILE` fields. A
207
207
208
208
Profile fields to ini header mapping:
209
209
```
210
-
max_outstanding_frames <-> outstanding_frames (no of frames)
210
+
max_outstanding_frames <-> outstanding_frames (number of frames)
Vendors may omit any unsupported field by removing the column from the header; the manager will skip setting that attribute. This flexible format allows heterogeneous hardware capabilities without requiring code changes.
230
+
Vendors may omit any unsupported field other than the `outstanding_frames` and `outstanding_bytes`by removing the column from the header; the manager will skip setting that attribute. This flexible format allows heterogeneous hardware capabilities without requiring code changes.
@@ -586,7 +588,8 @@ LLR per-port statistics are stored in the existing COUNTERS_DB Port Counters tab
586
588
```
587
589
- config llr {enable|disable}
588
590
- config llr mode {static|dynamic} (dynamic Not implemented in Phase I)
589
-
- config llr interface <interface-name> state {enabled|disabled} // only applicable when mode == static
591
+
- config llr interface local-state <interface-name> {enabled|disabled} // only applicable when mode == static
592
+
- config llr interface remote-state <interface-name> {enabled|disabled} // only applicable when mode == static
590
593
591
594
- show llr
592
595
- show llr interface [interface-name]
@@ -619,18 +622,24 @@ The following command configures LLR mode:
619
622
## config llr mode <static|dynamic>
620
623
621
624
config
622
-
|--- llr mode <static|dynamic>
625
+
|--- llr
626
+
|--- mode <static|dynamic>
623
627
```
624
628
### 2.6.1.2 LLR Port Configuration Commands
625
-
The following command allows enabling/disabling LLR (both TX and RX) on a port:
629
+
The following commands allow enabling/disabling LLR local and remote states separately on a port. As per the UE SPEC, local_state is set when LLDP negotiation determines that both ends of a link support LLR, and remote_state is set when negotiation receives indication from the remote end of the link that its local_state has been set to ON.
630
+
631
+
In static mode, handling local_state and remote_state enablement sequence across the link parts is the responsibility of the network administrator.
626
632
627
633
**Enable/Disable LLR per Port**:
628
634
```bash
629
-
## config llr interface <interface-name> state {enabled|disabled}
description "Enable LLR local state on the port.";
826
+
}
827
+
828
+
leaf remote_state {
814
829
type stypes:admin_mode;
815
830
default disabled;
816
-
description "Enable LLR on the port (enables both transmit and receive directions).";
831
+
description "Enable LLR remote state on the port.";
817
832
}
818
833
819
834
leaf llr_profile {
@@ -959,12 +974,12 @@ module sonic-llr-profile {
959
974
description "Maximum value for Port PCS lost status timer in nanoseconds. This value represents maximum duration for a port PCS status can be lost, post timer expiry, LLR state transitions into FLUSH state. Support for non-zero values is optional depending on platform implementation.";
960
975
}
961
976
962
-
leaf data_age_timer {
977
+
leaf data_age_timeout {
963
978
type uint32 {
964
979
range "0..4290000000";
965
980
}
966
981
default 0;
967
-
description "Maximum value for data age timer in nanoseconds. This value represents the maximum time that data can reside in the replay buffer. Post timer expiry, LLR declares the replay data is too old and invalid for retransmission";
982
+
description "Maximum value for data age timeout in nanoseconds. This value represents the maximum time that data can reside in the replay buffer. Post timer expiry, LLR declares the replay data is too old and invalid for retransmission";
0 commit comments