-
Notifications
You must be signed in to change notification settings - Fork 600
Optimized Forwarding Header #2297
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
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -324,6 +324,9 @@ typedef enum _sai_acl_action_type_t | |
| /** Bind a TAM object */ | ||
| SAI_ACL_ACTION_TYPE_TAM_OBJECT = 0x0000003d, | ||
|
|
||
| /** Set Packet OFH COS */ | ||
| SAI_ACL_ACTION_TYPE_SET_OFH_COS = 0x0000003e, | ||
|
|
||
| /** Custom range base value */ | ||
| SAI_ACL_ACTION_TYPE_CUSTOM_RANGE_BASE = 0x10000000 | ||
|
|
||
|
|
@@ -1647,10 +1650,100 @@ typedef enum _sai_acl_table_attr_t | |
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_CSIG_D_BIT = SAI_ACL_TABLE_ATTR_FIELD_START + 0x166, | ||
|
|
||
| /** | ||
| * @brief OFH Type | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_ACL_OFH_TYPE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x167, | ||
|
|
||
| /** | ||
| * @brief OFH COS | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_COS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x168, | ||
|
|
||
|
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. Please add TTL decrement for action as well as match on TTL |
||
| /** | ||
| * @brief OFH ECN | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_ECN = SAI_ACL_TABLE_ATTR_FIELD_START + 0x169, | ||
|
|
||
| /** | ||
| * @brief OFH TTL | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_TTL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x16a, | ||
|
|
||
| /** | ||
| * @brief OFH F | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_F = SAI_ACL_TABLE_ATTR_FIELD_START + 0x16b, | ||
|
|
||
| /** | ||
| * @brief OFH Flow Label | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_FLOW_LABEL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x16c, | ||
|
|
||
| /** | ||
| * @brief OFH User Defined Field | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_UD = SAI_ACL_TABLE_ATTR_FIELD_START + 0x16d, | ||
|
|
||
| /** | ||
| * @brief OFH AR Field | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_AR = SAI_ACL_TABLE_ATTR_FIELD_START + 0x16e, | ||
|
|
||
| /** | ||
| * @brief OFH Congestion Notification Message Eligible Field | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_C = SAI_ACL_TABLE_ATTR_FIELD_START + 0x16f, | ||
|
|
||
| /** | ||
| * @brief OFH Congestion Notification Message Field | ||
| * | ||
| * @type bool | ||
| * @flags CREATE_ONLY | ||
| * @default false | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_OFH_CNM = SAI_ACL_TABLE_ATTR_FIELD_START + 0x170, | ||
|
|
||
| /** | ||
| * @brief End of ACL Table Match Field | ||
| */ | ||
| SAI_ACL_TABLE_ATTR_FIELD_END = SAI_ACL_TABLE_ATTR_FIELD_CSIG_D_BIT, | ||
| SAI_ACL_TABLE_ATTR_FIELD_END = SAI_ACL_TABLE_ATTR_FIELD_OFH_CNM, | ||
|
|
||
| /** | ||
| * @brief ACL table entries associated with this table. | ||
|
|
@@ -2825,10 +2918,101 @@ typedef enum _sai_acl_entry_attr_t | |
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_CSIG_D_BIT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x166, | ||
|
|
||
| /** | ||
| * @brief OFH Type (field mask is not needed) | ||
| * | ||
| * @type sai_acl_field_data_t sai_ofh_type_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_ACL_OFH_TYPE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x167, | ||
|
|
||
| /** | ||
| * @brief OFH COS (6 bits) | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_COS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x168, | ||
|
|
||
| /** | ||
| * @brief OFH ECN (2 bits) | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_ECN = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x169, | ||
|
|
||
| /** | ||
| * @brief OFH TTL | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_TTL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x16a, | ||
|
|
||
| /** | ||
| * @brief OFH F Bit | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_F = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x16b, | ||
|
|
||
| /** | ||
| * @brief OFH Flow Label (16 bits) | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint16_t | ||
| * @flags CREATE_AND_SET | ||
| * @isvlan false | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_FLOW_LABEL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x16c, | ||
|
|
||
| /** | ||
| * @brief OFH User Defined Field (2 bits) | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_UD = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x16d, | ||
|
|
||
| /** | ||
| * @brief OFH AR Bit | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_AR = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x16e, | ||
|
|
||
| /** | ||
| * @brief OFH Congestion Notification Message Eligible Field | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_C = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x16f, | ||
|
|
||
| /** | ||
| * @brief OFH Congestion Notification Message Field | ||
| * | ||
| * @type sai_acl_field_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_OFH_CNM = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x170, | ||
|
|
||
| /** | ||
| * @brief End of Rule Match Fields | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_FIELD_END = SAI_ACL_ENTRY_ATTR_FIELD_CSIG_D_BIT, | ||
| SAI_ACL_ENTRY_ATTR_FIELD_END = SAI_ACL_ENTRY_ATTR_FIELD_OFH_CNM, | ||
|
|
||
| /* | ||
| * Actions [sai_acl_action_data_t] | ||
|
|
@@ -3474,10 +3658,19 @@ typedef enum _sai_acl_entry_attr_t | |
| */ | ||
| SAI_ACL_ENTRY_ATTR_ACTION_TAM_OBJECT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x3d, | ||
|
|
||
| /** | ||
| * @brief Set Packet OFH COS (6 bits) | ||
| * | ||
| * @type sai_acl_action_data_t sai_uint8_t | ||
| * @flags CREATE_AND_SET | ||
| * @default disabled | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_ACTION_SET_OFH_COS = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x3e, | ||
|
|
||
| /** | ||
| * @brief End of Rule Actions | ||
| */ | ||
| SAI_ACL_ENTRY_ATTR_ACTION_END = SAI_ACL_ENTRY_ATTR_ACTION_TAM_OBJECT, | ||
| SAI_ACL_ENTRY_ATTR_ACTION_END = SAI_ACL_ENTRY_ATTR_ACTION_SET_OFH_COS, | ||
|
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. Set ECN also supported for normal IP packet. |
||
|
|
||
| /** | ||
| * @brief End of ACL Entry attributes | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -331,6 +331,21 @@ typedef enum _sai_in_drop_reason_t | |
| /** IPv4 or IPv6 Routing table (LPM) unicast miss */ | ||
| SAI_IN_DROP_REASON_LPM_MISS = 0x00000039, | ||
|
|
||
| /** OFH packet TTL expired */ | ||
| SAI_IN_DROP_REASON_OFH_TTL, | ||
|
|
||
| /** OFH Routing table miss */ | ||
| SAI_IN_DROP_REASON_OFH_MISS, | ||
|
|
||
| /** OFH Routing table action discard */ | ||
| SAI_IN_DROP_REASON_OFH_DISCARD, | ||
|
|
||
| /** OFH VLAN drop */ | ||
| SAI_IN_DROP_REASON_OFH_VLAN_DROP, | ||
|
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. If I understand correctly, SAI_IN_DROP_REASON_OFH_VLAN_DROP is meant to account the drops when RIF of type SAI_ROUTER_INTERFACE_TYPE_VLAN is not created for the given ingress port + packet.VID. Ideally, this would be accounted under SAI_IN_DROP_REASON_INGRESS_VLAN_FILTER. We do not have IPv4/IPv6 specific VLAN drops. I am trying to understand as to why we need OFH specific VLAN drops. |
||
|
|
||
| /** OFH VLAN to virtual router id drop */ | ||
|
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.
|
||
| SAI_IN_DROP_REASON_OFH_VLAN_TO_VRID_DROP, | ||
|
|
||
| /** End of in drop reasons */ | ||
| SAI_IN_DROP_REASON_END, | ||
|
|
||
|
|
@@ -377,6 +392,9 @@ typedef enum _sai_out_drop_reason_t | |
| */ | ||
| SAI_OUT_DROP_REASON_TUNNEL_LOOPBACK_PACKET_DROP, | ||
|
|
||
| /** OFH VLAN drop */ | ||
| SAI_OUT_DROP_REASON_OFH_VLAN_DROP, | ||
|
|
||
| /** End of out drop reasons */ | ||
| SAI_OUT_DROP_REASON_END, | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -175,6 +175,9 @@ typedef enum _sai_native_hash_field_t | |
| /** Native hash field RDMA packet BTH destination queue pair */ | ||
| SAI_NATIVE_HASH_FIELD_RDMA_BTH_DEST_QP = 0x00000023, | ||
|
|
||
| /** Native hash field RDMA packet BTH destination queue pair */ | ||
| SAI_NATIVE_HASH_FIELD_OFH_FLOW_LABEL = 0x00000024, | ||
|
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. Fix the comments cut and paste error. |
||
|
|
||
| /** No field - for compatibility, must be last */ | ||
| SAI_NATIVE_HASH_FIELD_NONE = 0x00000021, | ||
|
|
||
|
|
||
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.
Please add match for version field