From 76531c42a3a2cccd008c264acc78792fc1c5d8cb Mon Sep 17 00:00:00 2001 From: Martin Liao Date: Thu, 25 Sep 2025 10:50:43 +0800 Subject: [PATCH] Create API for fast linkup configuration. Signed-off-by: Martin Liao --- doc/SAI-Proposal-Fast-Linkup.md | 38 +++++++++++++ doc/figures/sai_fast_linkup_state_machine.png | Bin 0 -> 82710 bytes inc/saiport.h | 9 +++ inc/saiswitch.h | 53 ++++++++++++++++++ inc/saitypes.h | 3 + meta/saimetadatatypes.h | 5 ++ meta/saisanitycheck.c | 2 + 7 files changed, 110 insertions(+) create mode 100644 doc/SAI-Proposal-Fast-Linkup.md create mode 100644 doc/figures/sai_fast_linkup_state_machine.png diff --git a/doc/SAI-Proposal-Fast-Linkup.md b/doc/SAI-Proposal-Fast-Linkup.md new file mode 100644 index 000000000..67b3c1031 --- /dev/null +++ b/doc/SAI-Proposal-Fast-Linkup.md @@ -0,0 +1,38 @@ +# Fast Link-Up +------------------------------------------------------------------------------- + Title | Fast Link-Up +-------------|----------------------------------------------------------------- + Authors | Eddy Kvetny, Nvidia + Status | In review + Type | Standards track + Created | 2025-09-09 + SAI-Version | 1.17 +------------------------------------------------------------------------------- + +# 1. Overview +In some cases the equalization parameters from the previous session can be used for a new link-up process. It can significantly reduce time of the Link-Up process + +# 2. Scope +This approach is applicable to devices (switch-to-switch or switch-to-NIC) supporting this process, usually from the same vendor or from different vendors aligned on the process. + +Can be applied to cold/fast boot or link recovery flows (vendor decision) + +# 3. Architecture +This feature shall be enabled per-port using a new SAI attribute - SAI_PORT_ATTR_FAST_LINKUP_ENABLED (default status - disabled/false) + +On ports with the enabled feature the ASIC FW shall try first to bring a link up using the equalization parameter stored from the previous successul session. The time given to ASIC to try to bring a link up with the old EQ parameters is limited by the Fast Link-Up Polling Timer. The time value is configured using a new SAI attribute - SAI_SWITCH_ATTR_FAST_LINKUP_POLLING_TIMEOUT. The supported range for this value (in secs) can be read by NOS using a new SAI attribute SAI_SWITCH_ATTR_FAST_LINKUP_POLLING_TIMEOUT_RANGE + +If the process of brining a link up with the previosly used EQ parameters doesn't succeed the regular link-up process is triggered + +If the link succeeds moving to the Operation UP state then the BER level shall be checked to make sure that the establish link has a good quality. To do that another timer called Guard Timer is used. Its value is also configurable using a new SAI attribute (SAI_SWITCH_ATTR_FAST_LINKUP_GUARD_TIMEOUT) + + +When the Guard Timer expires the BER is measured and compared with the "good" BER value configured using a new SAI attribure SAI_SWITCH_ATTR_FAST_LINKUP_BER_THRESHOLD. Only if the measured BER is equal or better than the configured BER threshold the process is considered completed. Otherwise, the fallback to the regular link-up process is done and link's Oper status changes to DOWN + +If the remote side doesn't support the Fast Link-up then the fallback to regular process will happen + +Note that the State Machine is implemented by ASIC FW and can vary between vendors. The proposal just defines just high level flow and SAI configuration for this flow + +The following State Machine is proposed for the Fast Link-UP process described above + +![](figures/sai_fast_linkup_state_machine.png) \ No newline at end of file diff --git a/doc/figures/sai_fast_linkup_state_machine.png b/doc/figures/sai_fast_linkup_state_machine.png new file mode 100644 index 0000000000000000000000000000000000000000..58e78d12b4399d5c1a96da48ccddff5dc7edce33 GIT binary patch literal 82710 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 == SAI_ATTR_VALUE_TYPE_TAPS_LIST */ sai_taps_list_t portserdestaps; + + /** @validonly meta->attrvaluetype == SAI_ATTR_VALUE_TYPE_UINT16_RANGE */ + sai_u16_range_t u16range; } sai_attribute_value_t; /** diff --git a/meta/saimetadatatypes.h b/meta/saimetadatatypes.h index fc17c031b..5e4809ec7 100644 --- a/meta/saimetadatatypes.h +++ b/meta/saimetadatatypes.h @@ -191,6 +191,11 @@ typedef enum _sai_attr_value_type_t */ SAI_ATTR_VALUE_TYPE_UINT32_RANGE, + /** + * @brief Attribute value is 16bit unsigned integer range. + */ + SAI_ATTR_VALUE_TYPE_UINT16_RANGE, + /** * @brief Attribute value is 16 bit unsigned integer range list. */ diff --git a/meta/saisanitycheck.c b/meta/saisanitycheck.c index f942ff16b..bd3a7bf2c 100644 --- a/meta/saisanitycheck.c +++ b/meta/saisanitycheck.c @@ -789,6 +789,7 @@ void check_attr_object_type_provided( case SAI_ATTR_VALUE_TYPE_PRBS_RX_STATE: case SAI_ATTR_VALUE_TYPE_CHARDATA: case SAI_ATTR_VALUE_TYPE_UINT32_RANGE: + case SAI_ATTR_VALUE_TYPE_UINT16_RANGE: case SAI_ATTR_VALUE_TYPE_UINT16_RANGE_LIST: case SAI_ATTR_VALUE_TYPE_UINT32_LIST: case SAI_ATTR_VALUE_TYPE_QOS_MAP_LIST: @@ -3026,6 +3027,7 @@ void check_attr_is_primitive( case SAI_ATTR_VALUE_TYPE_UINT16: case SAI_ATTR_VALUE_TYPE_INT16: case SAI_ATTR_VALUE_TYPE_UINT32: + case SAI_ATTR_VALUE_TYPE_UINT16_RANGE: case SAI_ATTR_VALUE_TYPE_UINT32_RANGE: case SAI_ATTR_VALUE_TYPE_UINT64: case SAI_ATTR_VALUE_TYPE_INT64: