Skip to content

Commit

Permalink
Update SAI-Proposal-Packet-Trimming.md
Browse files Browse the repository at this point in the history
  • Loading branch information
marian-pritsak authored Jan 17, 2025
1 parent 62e7823 commit 9087ee8
Showing 1 changed file with 18 additions and 17 deletions.
35 changes: 18 additions & 17 deletions doc/SAI-Proposal-Packet-Trimming.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,56 +110,57 @@ Trimming engine attributes are configured globally.
* @flags CREATE_AND_SET
* @default 128
*/
SAI_SWITCH_ATTR_PACKET_TRIMMING_SIZE,
SAI_SWITCH_ATTR_PACKET_TRIM_SIZE,
/**
* @brief New packet trimming DSCP value
* @brief New packet trim DSCP value
*
* @type sai_uint8_t
* @flags CREATE_AND_SET
* @default 0
*/
SAI_SWITCH_ATTR_PACKET_TRIMMING_DSCP_VALUE,
SAI_SWITCH_ATTR_PACKET_TRIM_DSCP_VALUE,
/**
* @brief Is the new queue index for a trimmed packet mapped from DSCP
* @brief Queue mapping mode for a trimmed packet
*
* @type sai_bool_t
* @flags READ_ONLY
* @type sai_packet_trim_queue_resolution_mode_t
* @flags CREATE_AND_SET
* @default SAI_PACKET_TRIM_QUEUE_RESOLUTION_MODE_STATIC
*/
SAI_SWITCH_ATTR_PACKET_TRIMMING_QUEUE_INDEX_MAPPED_FROM_DSCP,
SAI_SWITCH_ATTR_PACKET_TRIM_QUEUE_RESOLUTION_MODE,
/**
* @brief New packet trimming queue index
* @brief New packet trim queue index
*
* @type sai_uint8_t
* @flags CREATE_AND_SET
* @default 0
* @validonly SAI_SWITCH_ATTR_PACKET_TRIMMING_QUEUE_INDEX_MAPPED_FROM_DSCP == false
* @validonly SAI_SWITCH_ATTR_PACKET_TRIM_QUEUE_RESOLUTION_MODE == SAI_PACKET_TRIM_QUEUE_RESOLUTION_MODE_STATIC
*/
SAI_SWITCH_ATTR_PACKET_TRIMMING_QUEUE_INDEX,
SAI_SWITCH_ATTR_PACKET_TRIM_QUEUE_INDEX,
```

If more granularity is needed (e.g. trim a specific protocol, or packets within protocol), ACL action is added to disable trimming even if the packet is eligible due to a queue with a buffer profile attached that has trimming enabled.
```
/**
* @brief Disable packet trimming for a given match condition.
* @brief Disable packet trim for a given match condition.
*
* This rule takes effect only when packet trimming is configured on a buffer profile of a queue to which a packet belongs.
* This rule takes effect only when packet trim is configured on a buffer profile of a queue to which a packet belongs.
*
* @type sai_acl_action_data_t bool
* @flags CREATE_AND_SET
* @default disabled
*/
SAI_ACL_ENTRY_ATTR_ACTION_DISABLE_TRIMMING = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x39,
SAI_ACL_ENTRY_ATTR_ACTION_PACKET_TRIM_DISABLE = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x39,
```

Both the queue and the port have the packet counter to reflect the number of trimmed packet.
```
/** Packets trimmed due to failed admission [uint64_t] */
SAI_QUEUE_STAT_TRIMMED_PACKETS = 0x00000028,
/** Packets trimmed due to failed shared buffer admission [uint64_t] */
SAI_PORT_STAT_TRIM_PACKETS,
```
```
/** Packets trimmed due to failed shared buffer admission [uint64_t] */
SAI_PORT_STAT_TRIMMED_PACKETS,
/** Packets trimmed due to failed admission [uint64_t] */
SAI_QUEUE_STAT_TRIM_PACKETS = 0x00000028,
```

0 comments on commit 9087ee8

Please sign in to comment.