-
Notifications
You must be signed in to change notification settings - Fork 556
UEC Congestion Signaling Protocol #2231
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?
Changes from all commits
3a5e8de
60fd34f
d268d35
d9c6d1d
8eed402
d896415
bfd7499
bf6bf4e
289c62c
64bf85d
ec48299
0f75d31
d8e5c37
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3539,6 +3539,27 @@ typedef enum _sai_switch_attr_t | |
| */ | ||
| SAI_SWITCH_ATTR_FAST_LINKUP_BER_THRESHOLD, | ||
|
|
||
| /** | ||
| * @brief Maximum number of timers supported for CSIG bandwidth signal | ||
| * | ||
| * @type sai_uint8_t | ||
| * @flags READ_ONLY | ||
| */ | ||
| SAI_SWITCH_ATTR_MAX_CSIG_TIMERS, | ||
|
|
||
| /** | ||
| * @brief TAM INT bind point | ||
| * | ||
| * Bind (or unbind) the TAM INT object. | ||
| * SAI_NULL_OBJECT_ID in the attribute value. | ||
| * | ||
| * @type sai_object_list_t | ||
| * @flags CREATE_AND_SET | ||
| * @objects SAI_OBJECT_TYPE_TAM_INT | ||
| * @default empty | ||
| */ | ||
| SAI_SWITCH_ATTR_TAM_INT_OBJECT_ID, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Conclusion was to use the existing SAI_SWITCH_ATTR_TAM_OBJECT_ID->TAM_INT instead of adding a new TAM_INT object. |
||
|
|
||
| /** | ||
| * @brief End of attributes | ||
| */ | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -484,6 +484,15 @@ typedef enum _sai_tam_int_type_t | |
| */ | ||
| SAI_TAM_INT_TYPE_PATH_TRACING, | ||
|
|
||
| /** | ||
| * @brief INT type Congestion Signaling compact tag | ||
| */ | ||
| SAI_TAM_INT_TYPE_CSIG_COMPACT, | ||
|
|
||
| /** | ||
| * @brief INT type Congestion Signaling wide tag | ||
| */ | ||
| SAI_TAM_INT_TYPE_CSIG_WIDE, | ||
| } sai_tam_int_type_t; | ||
|
|
||
| /** | ||
|
|
@@ -512,10 +521,87 @@ typedef enum _sai_tam_int_presence_type_t | |
| /** | ||
| * @brief INT presence type DSCP | ||
| */ | ||
| SAI_TAM_INT_PRESENCE_TYPE_DSCP | ||
| SAI_TAM_INT_PRESENCE_TYPE_DSCP, | ||
|
|
||
| /** | ||
| * @brief INT presence type Ether Type Code Point | ||
| */ | ||
| SAI_TAM_INT_PRESENCE_TYPE_ETH_TYPE, | ||
| } sai_tam_int_presence_type_t; | ||
|
|
||
| /** | ||
| * @brief Bandwidth time interval units | ||
| */ | ||
| typedef enum _sai_tam_int_bw_time_interval_unit_t | ||
| { | ||
| /** | ||
| * @brief Time interval unit nanosecond | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_UNIT_NANOSEC, | ||
|
|
||
| /** | ||
| * @brief Time interval unit microsecond | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_UNIT_USEC, | ||
|
|
||
| /** | ||
| * @brief Time interval unit millisecond | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_UNIT_MSEC, | ||
|
|
||
| } sai_tam_int_bw_time_interval_unit_t; | ||
|
|
||
| /** | ||
| * @brief BW time intervals | ||
| */ | ||
| typedef enum _sai_tam_int_bw_time_interval_t | ||
| { | ||
| /** | ||
| * @brief Time window 128 | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_128, | ||
|
|
||
| /** | ||
| * @brief Time window 256 | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_256, | ||
|
|
||
| /** | ||
| * @brief Time window 384 | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_384, | ||
|
|
||
| /** | ||
| * @brief Time window 512 | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_512, | ||
|
|
||
| /** | ||
| * @brief Time window 640 | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_640, | ||
|
|
||
| /** | ||
| * @brief Time window 768 | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_768, | ||
|
|
||
| /** | ||
| * @brief Time window 896 | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_896, | ||
|
|
||
| /** | ||
| * @brief Time window 1024 | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_1024, | ||
|
|
||
| /** | ||
| * @brief Vendor defined time window | ||
| */ | ||
| SAI_TAM_INT_BW_TIME_INTERVAL_VENDOR_DEFINED, | ||
| } sai_tam_int_bw_time_interval_t; | ||
|
|
||
| /** | ||
| * @brief Attributes for TAM INT | ||
| */ | ||
|
|
@@ -801,6 +887,97 @@ typedef enum _sai_tam_int_attr_t | |
| */ | ||
| SAI_TAM_INT_ATTR_REPORT_ID, | ||
|
|
||
| /** | ||
| * @brief Ethernet code point value that indicates presence of CSIG compact tag in a packet | ||
| * | ||
| * @type sai_uint16_t | ||
| * @flags MANDATORY_ON_CREATE | CREATE_ONLY | ||
| * @isvlan false | ||
| * @condition SAI_TAM_INT_ATTR_INT_PRESENCE_TYPE == SAI_TAM_INT_PRESENCE_TYPE_ETH_TYPE | ||
| */ | ||
| SAI_TAM_INT_ATTR_ETH_TYPE_CODE_POINT, | ||
|
|
||
| /** | ||
| * @brief CSIG signal type | ||
| * | ||
| * @type sai_csig_signal_type_t | ||
| * @flags CREATE_AND_SET | ||
| * @default SAI_CSIG_SIGNAL_TYPE_ABW | ||
| */ | ||
| SAI_TAM_INT_ATTR_CSIG_SIGNAL_TYPE, | ||
|
|
||
| /** | ||
| * @brief Time interval for bandwidth computation | ||
| * | ||
| * @type sai_tam_int_bw_time_interval_t | ||
| * @flags CREATE_AND_SET | ||
| * @default SAI_TAM_INT_BW_TIME_INTERVAL_256 | ||
| * @validonly SAI_TAM_INT_ATTR_CSIG_SIGNAL_TYPE == SAI_CSIG_SIGNAL_TYPE_ABW or SAI_TAM_INT_ATTR_CSIG_SIGNAL_TYPE == SAI_CSIG_SIGNAL_TYPE_ABWC | ||
| */ | ||
| SAI_TAM_INT_ATTR_BW_TIME_INTERVAL, | ||
|
|
||
| /** | ||
| * @brief Bandwidth time Interval Units | ||
| * | ||
| * @type sai_tam_int_bw_time_interval_unit_t | ||
| * @flags CREATE_AND_SET | ||
| * @default SAI_TAM_INT_BW_TIME_INTERVAL_UNIT_USEC | ||
| * @validonly SAI_TAM_INT_ATTR_CSIG_SIGNAL_TYPE == SAI_CSIG_SIGNAL_TYPE_ABW or SAI_TAM_INT_ATTR_CSIG_SIGNAL_TYPE == SAI_CSIG_SIGNAL_TYPE_ABWC | ||
| */ | ||
| SAI_TAM_INT_ATTR_BW_TIME_INTERVAL_UNIT, | ||
|
|
||
| /** | ||
| * @brief Number of quantization bands | ||
| * Compact tag supports maximum of 32 bands and wide tag supports maximum of 1048576 bands | ||
| * | ||
| * @type sai_uint32_t | ||
| * @flags CREATE_AND_SET | ||
| * @default 32 | ||
| * @validonly SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_CSIG_COMPACT or SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_CSIG_WIDE | ||
| */ | ||
| SAI_TAM_INT_ATTR_QUANT_BANDS, | ||
|
|
||
| /** | ||
| * @brief Quantization band range values for compact tag | ||
| * | ||
| * @type sai_u32_range_list_t | ||
| * @flags CREATE_AND_SET | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Change the data type to uint64. uint 32 will not acommodate interface speeds higher than 50Gbps |
||
| * @default empty | ||
| * @validonly SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_CSIG_COMPACT | ||
| */ | ||
| SAI_TAM_INT_ATTR_QUANT_BAND_UINT32_RANGE_LIST, | ||
|
|
||
| /** | ||
| * @brief Base value for wide tag quantization. Must be power of 2 | ||
| * | ||
| * @type sai_uint32_t | ||
| * @flags CREATE_AND_SET | ||
| * @default 0 | ||
| * @validonly SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_CSIG_WIDE | ||
| */ | ||
| SAI_TAM_INT_ATTR_WIDE_QUANT_BASE_VALUE, | ||
|
|
||
| /** | ||
| * @brief Step value for wide tag quantization. Must be power of 2 | ||
| * | ||
| * @type sai_uint32_t | ||
| * @flags CREATE_AND_SET | ||
| * @default 0 | ||
| * @validonly SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_CSIG_WIDE | ||
| */ | ||
| SAI_TAM_INT_ATTR_WIDE_QUANT_STEP_VALUE, | ||
|
|
||
| /** | ||
| * @brief Update the D bit indicating the packet is trimmed | ||
| * DSCP value configured for TRIM packets comes from the TRIM configuration | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_AND_SET | ||
| * @default false | ||
| * @validonly SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_CSIG_COMPACT or SAI_TAM_INT_ATTR_TYPE == SAI_TAM_INT_TYPE_CSIG_WIDE | ||
| */ | ||
| SAI_TAM_INT_ATTR_CSIG_D_BIT, | ||
|
|
||
| /** | ||
| * @brief End of Attributes | ||
| */ | ||
|
|
||
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.
Add Units for each signal type