SAI Metadata
Loading...
Searching...
No Matches
SAI - ACL specific API definitions

Classes

struct  _sai_acl_api_t
 Port methods table retrieved with sai_api_query() More...
 

Macros

#define SAI_ACL_USER_DEFINED_FIELD_ATTR_ID_RANGE   0xFF
 ACL User Defined Field Attribute ID Range.
 

Typedefs

typedef enum _sai_acl_ip_type_t sai_acl_ip_type_t
 ACL IP Type.
 
typedef enum _sai_acl_ip_frag_t sai_acl_ip_frag_t
 ACL IP Fragment.
 
typedef enum _sai_acl_dtel_flow_op_t sai_acl_dtel_flow_op_t
 DTEL flow operation.
 
typedef enum _sai_acl_action_type_t sai_acl_action_type_t
 ACL Action Type.
 
typedef enum _sai_acl_table_chain_group_type_t sai_acl_table_chain_group_type_t
 Attribute data for SAI_ACL_TABLE_CHAIN_GROUP_ATTR_TYPE.
 
typedef enum _sai_acl_table_group_type_t sai_acl_table_group_type_t
 Attribute data for SAI_ACL_TABLE_GROUP_ATTR_TYPE.
 
typedef enum _sai_acl_table_group_attr_t sai_acl_table_group_attr_t
 Attribute Id for acl_table_group.
 
typedef enum _sai_acl_table_chain_group_attr_t sai_acl_table_chain_group_attr_t
 Attribute Id for acl_table_chain_group.
 
typedef enum _sai_acl_table_group_member_attr_t sai_acl_table_group_member_attr_t
 Attribute Id for acl_table_group_member.
 
typedef enum _sai_acl_table_attr_t sai_acl_table_attr_t
 Attribute Id for sai_acl_table.
 
typedef enum _sai_acl_entry_attr_t sai_acl_entry_attr_t
 Attribute Id for sai_acl_entry.
 
typedef enum _sai_acl_counter_attr_t sai_acl_counter_attr_t
 Attribute Id for sai_acl_counter.
 
typedef enum _sai_acl_range_type_t sai_acl_range_type_t
 Attribute data for ACL Range Type.
 
typedef enum _sai_acl_range_attr_t sai_acl_range_attr_t
 Attribute Id for ACL Range Object.
 
typedef sai_status_t(* sai_create_acl_table_fn) (_Out_ sai_object_id_t *acl_table_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create an ACL table.
 
typedef sai_status_t(* sai_remove_acl_table_fn) (_In_ sai_object_id_t acl_table_id)
 Delete an ACL table.
 
typedef sai_status_t(* sai_set_acl_table_attribute_fn) (_In_ sai_object_id_t acl_table_id, _In_ const sai_attribute_t *attr)
 Set ACL table attribute.
 
typedef sai_status_t(* sai_get_acl_table_attribute_fn) (_In_ sai_object_id_t acl_table_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get ACL table attribute.
 
typedef sai_status_t(* sai_create_acl_entry_fn) (_Out_ sai_object_id_t *acl_entry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create an ACL entry.
 
typedef sai_status_t(* sai_remove_acl_entry_fn) (_In_ sai_object_id_t acl_entry_id)
 Delete an ACL entry.
 
typedef sai_status_t(* sai_set_acl_entry_attribute_fn) (_In_ sai_object_id_t acl_entry_id, _In_ const sai_attribute_t *attr)
 Set ACL entry attribute.
 
typedef sai_status_t(* sai_get_acl_entry_attribute_fn) (_In_ sai_object_id_t acl_entry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get ACL entry attribute.
 
typedef sai_status_t(* sai_create_acl_counter_fn) (_Out_ sai_object_id_t *acl_counter_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create an ACL counter.
 
typedef sai_status_t(* sai_remove_acl_counter_fn) (_In_ sai_object_id_t acl_counter_id)
 Delete an ACL counter.
 
typedef sai_status_t(* sai_set_acl_counter_attribute_fn) (_In_ sai_object_id_t acl_counter_id, _In_ const sai_attribute_t *attr)
 Set ACL counter attribute.
 
typedef sai_status_t(* sai_get_acl_counter_attribute_fn) (_In_ sai_object_id_t acl_counter_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get ACL counter attribute.
 
typedef sai_status_t(* sai_create_acl_range_fn) (_Out_ sai_object_id_t *acl_range_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create an ACL Range.
 
typedef sai_status_t(* sai_remove_acl_range_fn) (_In_ sai_object_id_t acl_range_id)
 Remove an ACL Range.
 
typedef sai_status_t(* sai_set_acl_range_attribute_fn) (_In_ sai_object_id_t acl_range_id, _In_ const sai_attribute_t *attr)
 Set ACL range attribute.
 
typedef sai_status_t(* sai_get_acl_range_attribute_fn) (_In_ sai_object_id_t acl_range_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get ACL range attribute.
 
typedef sai_status_t(* sai_create_acl_table_group_fn) (_Out_ sai_object_id_t *acl_table_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create an ACL Table Group.
 
typedef sai_status_t(* sai_remove_acl_table_group_fn) (_In_ sai_object_id_t acl_table_group_id)
 Delete an ACL Group.
 
typedef sai_status_t(* sai_set_acl_table_group_attribute_fn) (_In_ sai_object_id_t acl_table_group_id, _In_ const sai_attribute_t *attr)
 Set ACL table group attribute.
 
typedef sai_status_t(* sai_get_acl_table_group_attribute_fn) (_In_ sai_object_id_t acl_table_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get ACL table group attribute.
 
typedef sai_status_t(* sai_create_acl_table_group_member_fn) (_Out_ sai_object_id_t *acl_table_group_member_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create an ACL Table Group Member.
 
typedef sai_status_t(* sai_remove_acl_table_group_member_fn) (_In_ sai_object_id_t acl_table_group_member_id)
 Delete an ACL Group Member.
 
typedef sai_status_t(* sai_set_acl_table_group_member_attribute_fn) (_In_ sai_object_id_t acl_table_group_member_id, _In_ const sai_attribute_t *attr)
 Set ACL table group member attribute.
 
typedef sai_status_t(* sai_get_acl_table_group_member_attribute_fn) (_In_ sai_object_id_t acl_table_group_member_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get ACL table group member attribute.
 
typedef sai_status_t(* sai_create_acl_table_chain_group_fn) (_Out_ sai_object_id_t *acl_table_chain_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create an ACL Table Chain Group.
 
typedef sai_status_t(* sai_remove_acl_table_chain_group_fn) (_In_ sai_object_id_t acl_table_chain_group_id)
 Delete an ACL Table Chain Group.
 
typedef sai_status_t(* sai_set_acl_table_chain_group_attribute_fn) (_In_ sai_object_id_t acl_table_chain_group_id, _In_ const sai_attribute_t *attr)
 Set ACL table chain group attribute.
 
typedef sai_status_t(* sai_get_acl_table_chain_group_attribute_fn) (_In_ sai_object_id_t acl_table_chain_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get ACL table chain group attribute.
 
typedef struct _sai_acl_api_t sai_acl_api_t
 Port methods table retrieved with sai_api_query()
 

Enumerations

enum  _sai_acl_ip_type_t {
  SAI_ACL_IP_TYPE_ANY , SAI_ACL_IP_TYPE_IP , SAI_ACL_IP_TYPE_NON_IP , SAI_ACL_IP_TYPE_IPV4ANY ,
  SAI_ACL_IP_TYPE_NON_IPV4 , SAI_ACL_IP_TYPE_IPV6ANY , SAI_ACL_IP_TYPE_NON_IPV6 , SAI_ACL_IP_TYPE_ARP ,
  SAI_ACL_IP_TYPE_ARP_REQUEST , SAI_ACL_IP_TYPE_ARP_REPLY
}
 ACL IP Type. More...
 
enum  _sai_acl_ip_frag_t {
  SAI_ACL_IP_FRAG_ANY , SAI_ACL_IP_FRAG_NON_FRAG , SAI_ACL_IP_FRAG_NON_FRAG_OR_HEAD , SAI_ACL_IP_FRAG_HEAD ,
  SAI_ACL_IP_FRAG_NON_HEAD
}
 ACL IP Fragment. More...
 
enum  _sai_acl_dtel_flow_op_t { SAI_ACL_DTEL_FLOW_OP_NOP , SAI_ACL_DTEL_FLOW_OP_INT , SAI_ACL_DTEL_FLOW_OP_IOAM , SAI_ACL_DTEL_FLOW_OP_POSTCARD }
 DTEL flow operation. More...
 
enum  _sai_acl_action_type_t {
  SAI_ACL_ACTION_TYPE_REDIRECT = 0x00000000 , SAI_ACL_ACTION_TYPE_ENDPOINT_IP = 0x00000001 , SAI_ACL_ACTION_TYPE_REDIRECT_LIST = 0x00000002 , SAI_ACL_ACTION_TYPE_PACKET_ACTION = 0x00000003 ,
  SAI_ACL_ACTION_TYPE_FLOOD = 0x00000004 , SAI_ACL_ACTION_TYPE_COUNTER = 0x00000005 , SAI_ACL_ACTION_TYPE_MIRROR_INGRESS = 0x00000006 , SAI_ACL_ACTION_TYPE_MIRROR_EGRESS = 0x00000007 ,
  SAI_ACL_ACTION_TYPE_SET_POLICER = 0x00000008 , SAI_ACL_ACTION_TYPE_DECREMENT_TTL = 0x00000009 , SAI_ACL_ACTION_TYPE_SET_TC = 0x0000000a , SAI_ACL_ACTION_TYPE_SET_PACKET_COLOR = 0x0000000b ,
  SAI_ACL_ACTION_TYPE_SET_INNER_VLAN_ID = 0x0000000c , SAI_ACL_ACTION_TYPE_SET_INNER_VLAN_PRI = 0x0000000d , SAI_ACL_ACTION_TYPE_SET_OUTER_VLAN_ID = 0x0000000e , SAI_ACL_ACTION_TYPE_SET_OUTER_VLAN_PRI = 0x0000000f ,
  SAI_ACL_ACTION_TYPE_ADD_VLAN_ID = 0x00000032 , SAI_ACL_ACTION_TYPE_ADD_VLAN_PRI = 0x00000033 , SAI_ACL_ACTION_TYPE_SET_SRC_MAC = 0x00000010 , SAI_ACL_ACTION_TYPE_SET_DST_MAC = 0x00000011 ,
  SAI_ACL_ACTION_TYPE_SET_SRC_IP = 0x00000012 , SAI_ACL_ACTION_TYPE_SET_DST_IP = 0x00000013 , SAI_ACL_ACTION_TYPE_SET_SRC_IPV6 = 0x00000014 , SAI_ACL_ACTION_TYPE_SET_DST_IPV6 = 0x00000015 ,
  SAI_ACL_ACTION_TYPE_SET_DSCP = 0x00000016 , SAI_ACL_ACTION_TYPE_SET_ECN = 0x00000017 , SAI_ACL_ACTION_TYPE_SET_L4_SRC_PORT = 0x00000018 , SAI_ACL_ACTION_TYPE_SET_L4_DST_PORT = 0x00000019 ,
  SAI_ACL_ACTION_TYPE_INGRESS_SAMPLEPACKET_ENABLE = 0x0000001a , SAI_ACL_ACTION_TYPE_EGRESS_SAMPLEPACKET_ENABLE = 0x0000001b , SAI_ACL_ACTION_TYPE_SET_ACL_META_DATA = 0x0000001c , SAI_ACL_ACTION_TYPE_EGRESS_BLOCK_PORT_LIST = 0x0000001d ,
  SAI_ACL_ACTION_TYPE_SET_USER_TRAP_ID = 0x0000001e , SAI_ACL_ACTION_TYPE_SET_DO_NOT_LEARN = 0x0000001f , SAI_ACL_ACTION_TYPE_ACL_DTEL_FLOW_OP = 0x00000020 , SAI_ACL_ACTION_TYPE_DTEL_INT_SESSION = 0x00000021 ,
  SAI_ACL_ACTION_TYPE_DTEL_DROP_REPORT_ENABLE = 0x00000022 , SAI_ACL_ACTION_TYPE_DTEL_TAIL_DROP_REPORT_ENABLE = 0x00000023 , SAI_ACL_ACTION_TYPE_DTEL_FLOW_SAMPLE_PERCENT = 0x00000024 , SAI_ACL_ACTION_TYPE_DTEL_REPORT_ALL_PACKETS = 0x00000025 ,
  SAI_ACL_ACTION_TYPE_NO_NAT = 0x00000026 , SAI_ACL_ACTION_TYPE_INT_INSERT = 0x00000027 , SAI_ACL_ACTION_TYPE_INT_DELETE = 0x00000028 , SAI_ACL_ACTION_TYPE_INT_REPORT_FLOW = 0x00000029 ,
  SAI_ACL_ACTION_TYPE_INT_REPORT_DROPS = 0x0000002a , SAI_ACL_ACTION_TYPE_INT_REPORT_TAIL_DROPS = 0x0000002b , SAI_ACL_ACTION_TYPE_TAM_INT_OBJECT = 0x0000002c , SAI_ACL_ACTION_TYPE_SET_ISOLATION_GROUP = 0x0000002d ,
  SAI_ACL_ACTION_TYPE_MACSEC_FLOW = 0x0000002e , SAI_ACL_ACTION_TYPE_SET_LAG_HASH_ID = 0x0000002f , SAI_ACL_ACTION_TYPE_SET_ECMP_HASH_ID = 0x00000030 , SAI_ACL_ACTION_TYPE_SET_VRF = 0x00000031 ,
  SAI_ACL_ACTION_TYPE_SET_FORWARDING_CLASS = 0x00000034 , SAI_ACL_ACTION_TYPE_SET_ARS_MONITORING = 0x00000035 , SAI_ACL_ACTION_TYPE_SET_ARS_OBJECT = 0x00000036 , SAI_ACL_ACTION_TYPE_DISABLE_ARS_FORWARDING = 0x00000037 ,
  SAI_ACL_ACTION_TYPE_CHAIN_REDIRECT = 0x00000038
}
 ACL Action Type. More...
 
enum  _sai_acl_table_chain_group_type_t { SAI_ACL_TABLE_CHAIN_GROUP_TYPE_SEQUENTIAL , SAI_ACL_TABLE_CHAIN_GROUP_TYPE_PARALLEL }
 Attribute data for SAI_ACL_TABLE_CHAIN_GROUP_ATTR_TYPE. More...
 
enum  _sai_acl_table_group_type_t { SAI_ACL_TABLE_GROUP_TYPE_SEQUENTIAL , SAI_ACL_TABLE_GROUP_TYPE_PARALLEL }
 Attribute data for SAI_ACL_TABLE_GROUP_ATTR_TYPE. More...
 
enum  _sai_acl_table_group_attr_t {
  SAI_ACL_TABLE_GROUP_ATTR_START , SAI_ACL_TABLE_GROUP_ATTR_ACL_STAGE = SAI_ACL_TABLE_GROUP_ATTR_START , SAI_ACL_TABLE_GROUP_ATTR_ACL_BIND_POINT_TYPE_LIST , SAI_ACL_TABLE_GROUP_ATTR_TYPE ,
  SAI_ACL_TABLE_GROUP_ATTR_MEMBER_LIST , SAI_ACL_TABLE_GROUP_ATTR_CHAIN_GROUP_LIST , SAI_ACL_TABLE_GROUP_ATTR_END , SAI_ACL_TABLE_GROUP_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_ACL_TABLE_GROUP_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for acl_table_group. More...
 
enum  _sai_acl_table_chain_group_attr_t {
  SAI_ACL_TABLE_CHAIN_GROUP_ATTR_START , SAI_ACL_TABLE_CHAIN_GROUP_ATTR_TYPE = SAI_ACL_TABLE_CHAIN_GROUP_ATTR_START , SAI_ACL_TABLE_CHAIN_GROUP_ATTR_STAGE , SAI_ACL_TABLE_CHAIN_GROUP_ATTR_END ,
  SAI_ACL_TABLE_CHAIN_GROUP_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_ACL_TABLE_CHAIN_GROUP_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for acl_table_chain_group. More...
 
enum  _sai_acl_table_group_member_attr_t {
  SAI_ACL_TABLE_GROUP_MEMBER_ATTR_START , SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_GROUP_ID = SAI_ACL_TABLE_GROUP_MEMBER_ATTR_START , SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_ID , SAI_ACL_TABLE_GROUP_MEMBER_ATTR_PRIORITY ,
  SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_CHAIN_GROUP_ID , SAI_ACL_TABLE_GROUP_MEMBER_ATTR_END , SAI_ACL_TABLE_GROUP_MEMBER_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_ACL_TABLE_GROUP_MEMBER_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for acl_table_group_member. More...
 
enum  _sai_acl_table_attr_t {
  SAI_ACL_TABLE_ATTR_START , SAI_ACL_TABLE_ATTR_ACL_STAGE = SAI_ACL_TABLE_ATTR_START , SAI_ACL_TABLE_ATTR_ACL_BIND_POINT_TYPE_LIST , SAI_ACL_TABLE_ATTR_SIZE ,
  SAI_ACL_TABLE_ATTR_ACL_ACTION_TYPE_LIST , SAI_ACL_TABLE_ATTR_FIELD_START = 0x00001000 , SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6 = SAI_ACL_TABLE_ATTR_FIELD_START , SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6_WORD3 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x153 ,
  SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6_WORD2 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x154 , SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6_WORD1 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x155 , SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6_WORD0 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x156 , SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x1 ,
  SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6_WORD3 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x157 , SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6_WORD2 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x158 , SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6_WORD1 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x159 , SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6_WORD0 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x15a ,
  SAI_ACL_TABLE_ATTR_FIELD_INNER_SRC_IPV6 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x2 , SAI_ACL_TABLE_ATTR_FIELD_INNER_DST_IPV6 = SAI_ACL_TABLE_ATTR_FIELD_START + 0x3 , SAI_ACL_TABLE_ATTR_FIELD_SRC_MAC = SAI_ACL_TABLE_ATTR_FIELD_START + 0x4 , SAI_ACL_TABLE_ATTR_FIELD_DST_MAC = SAI_ACL_TABLE_ATTR_FIELD_START + 0x5 ,
  SAI_ACL_TABLE_ATTR_FIELD_SRC_IP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x6 , SAI_ACL_TABLE_ATTR_FIELD_DST_IP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x7 , SAI_ACL_TABLE_ATTR_FIELD_INNER_SRC_IP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x8 , SAI_ACL_TABLE_ATTR_FIELD_INNER_DST_IP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x9 ,
  SAI_ACL_TABLE_ATTR_FIELD_IN_PORTS = SAI_ACL_TABLE_ATTR_FIELD_START + 0xa , SAI_ACL_TABLE_ATTR_FIELD_OUT_PORTS = SAI_ACL_TABLE_ATTR_FIELD_START + 0xb , SAI_ACL_TABLE_ATTR_FIELD_IN_PORT = SAI_ACL_TABLE_ATTR_FIELD_START + 0xc , SAI_ACL_TABLE_ATTR_FIELD_OUT_PORT = SAI_ACL_TABLE_ATTR_FIELD_START + 0xd ,
  SAI_ACL_TABLE_ATTR_FIELD_SRC_PORT = SAI_ACL_TABLE_ATTR_FIELD_START + 0xe , SAI_ACL_TABLE_ATTR_FIELD_OUTER_VLAN_ID = SAI_ACL_TABLE_ATTR_FIELD_START + 0xf , SAI_ACL_TABLE_ATTR_FIELD_OUTER_VLAN_PRI = SAI_ACL_TABLE_ATTR_FIELD_START + 0x10 , SAI_ACL_TABLE_ATTR_FIELD_OUTER_VLAN_CFI = SAI_ACL_TABLE_ATTR_FIELD_START + 0x11 ,
  SAI_ACL_TABLE_ATTR_FIELD_INNER_VLAN_ID = SAI_ACL_TABLE_ATTR_FIELD_START + 0x12 , SAI_ACL_TABLE_ATTR_FIELD_INNER_VLAN_PRI = SAI_ACL_TABLE_ATTR_FIELD_START + 0x13 , SAI_ACL_TABLE_ATTR_FIELD_INNER_VLAN_CFI = SAI_ACL_TABLE_ATTR_FIELD_START + 0x14 , SAI_ACL_TABLE_ATTR_FIELD_L4_SRC_PORT = SAI_ACL_TABLE_ATTR_FIELD_START + 0x15 ,
  SAI_ACL_TABLE_ATTR_FIELD_L4_DST_PORT = SAI_ACL_TABLE_ATTR_FIELD_START + 0x16 , SAI_ACL_TABLE_ATTR_FIELD_INNER_L4_SRC_PORT = SAI_ACL_TABLE_ATTR_FIELD_START + 0x17 , SAI_ACL_TABLE_ATTR_FIELD_INNER_L4_DST_PORT = SAI_ACL_TABLE_ATTR_FIELD_START + 0x18 , SAI_ACL_TABLE_ATTR_FIELD_ETHER_TYPE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x19 ,
  SAI_ACL_TABLE_ATTR_FIELD_INNER_ETHER_TYPE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x1a , SAI_ACL_TABLE_ATTR_FIELD_IP_PROTOCOL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x1b , SAI_ACL_TABLE_ATTR_FIELD_INNER_IP_PROTOCOL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x1c , SAI_ACL_TABLE_ATTR_FIELD_IP_IDENTIFICATION = SAI_ACL_TABLE_ATTR_FIELD_START + 0x1d ,
  SAI_ACL_TABLE_ATTR_FIELD_DSCP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x1e , SAI_ACL_TABLE_ATTR_FIELD_ECN = SAI_ACL_TABLE_ATTR_FIELD_START + 0x1f , SAI_ACL_TABLE_ATTR_FIELD_TTL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x20 , SAI_ACL_TABLE_ATTR_FIELD_TOS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x21 ,
  SAI_ACL_TABLE_ATTR_FIELD_IP_FLAGS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x22 , SAI_ACL_TABLE_ATTR_FIELD_TCP_FLAGS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x23 , SAI_ACL_TABLE_ATTR_FIELD_ACL_IP_TYPE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x24 , SAI_ACL_TABLE_ATTR_FIELD_ACL_IP_FRAG = SAI_ACL_TABLE_ATTR_FIELD_START + 0x25 ,
  SAI_ACL_TABLE_ATTR_FIELD_IPV6_FLOW_LABEL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x26 , SAI_ACL_TABLE_ATTR_FIELD_TC = SAI_ACL_TABLE_ATTR_FIELD_START + 0x27 , SAI_ACL_TABLE_ATTR_FIELD_ICMP_TYPE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x28 , SAI_ACL_TABLE_ATTR_FIELD_ICMP_CODE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x29 ,
  SAI_ACL_TABLE_ATTR_FIELD_ICMPV6_TYPE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x2a , SAI_ACL_TABLE_ATTR_FIELD_ICMPV6_CODE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x2b , SAI_ACL_TABLE_ATTR_FIELD_PACKET_VLAN = SAI_ACL_TABLE_ATTR_FIELD_START + 0x2c , SAI_ACL_TABLE_ATTR_FIELD_TUNNEL_VNI = SAI_ACL_TABLE_ATTR_FIELD_START + 0x2d ,
  SAI_ACL_TABLE_ATTR_FIELD_HAS_VLAN_TAG = SAI_ACL_TABLE_ATTR_FIELD_START + 0x2e , SAI_ACL_TABLE_ATTR_FIELD_MACSEC_SCI = SAI_ACL_TABLE_ATTR_FIELD_START + 0x2f , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL0_LABEL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x30 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL0_TTL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x31 ,
  SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL0_EXP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x32 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL0_BOS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x33 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL1_LABEL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x34 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL1_TTL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x35 ,
  SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL1_EXP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x36 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL1_BOS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x37 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL2_LABEL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x38 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL2_TTL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x39 ,
  SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL2_EXP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x3a , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL2_BOS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x3b , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL3_LABEL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x3c , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL3_TTL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x3d ,
  SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL3_EXP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x3e , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL3_BOS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x3f , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL4_LABEL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x40 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL4_TTL = SAI_ACL_TABLE_ATTR_FIELD_START + 0x41 ,
  SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL4_EXP = SAI_ACL_TABLE_ATTR_FIELD_START + 0x42 , SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL4_BOS = SAI_ACL_TABLE_ATTR_FIELD_START + 0x43 , SAI_ACL_TABLE_ATTR_FIELD_FDB_DST_USER_META = SAI_ACL_TABLE_ATTR_FIELD_START + 0x44 , SAI_ACL_TABLE_ATTR_FIELD_ROUTE_DST_USER_META = SAI_ACL_TABLE_ATTR_FIELD_START + 0x45 ,
  SAI_ACL_TABLE_ATTR_FIELD_NEIGHBOR_DST_USER_META = SAI_ACL_TABLE_ATTR_FIELD_START + 0x46 , SAI_ACL_TABLE_ATTR_FIELD_PORT_USER_META = SAI_ACL_TABLE_ATTR_FIELD_START + 0x47 , SAI_ACL_TABLE_ATTR_FIELD_VLAN_USER_META = SAI_ACL_TABLE_ATTR_FIELD_START + 0x48 , SAI_ACL_TABLE_ATTR_FIELD_ACL_USER_META = SAI_ACL_TABLE_ATTR_FIELD_START + 0x49 ,
  SAI_ACL_TABLE_ATTR_FIELD_FDB_NPU_META_DST_HIT = SAI_ACL_TABLE_ATTR_FIELD_START + 0x4a , SAI_ACL_TABLE_ATTR_FIELD_NEIGHBOR_NPU_META_DST_HIT = SAI_ACL_TABLE_ATTR_FIELD_START + 0x4b , SAI_ACL_TABLE_ATTR_FIELD_ROUTE_NPU_META_DST_HIT = SAI_ACL_TABLE_ATTR_FIELD_START + 0x4c , SAI_ACL_TABLE_ATTR_FIELD_BTH_OPCODE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x4d ,
  SAI_ACL_TABLE_ATTR_FIELD_AETH_SYNDROME = SAI_ACL_TABLE_ATTR_FIELD_START + 0x4e , SAI_ACL_TABLE_ATTR_USER_DEFINED_FIELD_GROUP_MIN = SAI_ACL_TABLE_ATTR_FIELD_START + 0x4f , SAI_ACL_TABLE_ATTR_USER_DEFINED_FIELD_GROUP_MAX = SAI_ACL_TABLE_ATTR_USER_DEFINED_FIELD_GROUP_MIN + SAI_ACL_USER_DEFINED_FIELD_ATTR_ID_RANGE , SAI_ACL_TABLE_ATTR_FIELD_ACL_RANGE_TYPE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x14f ,
  SAI_ACL_TABLE_ATTR_FIELD_IPV6_NEXT_HEADER = SAI_ACL_TABLE_ATTR_FIELD_START + 0x150 , SAI_ACL_TABLE_ATTR_FIELD_GRE_KEY = SAI_ACL_TABLE_ATTR_FIELD_START + 0x151 , SAI_ACL_TABLE_ATTR_FIELD_TAM_INT_TYPE = SAI_ACL_TABLE_ATTR_FIELD_START + 0x152 , SAI_ACL_TABLE_ATTR_FIELD_INNER_SRC_MAC = SAI_ACL_TABLE_ATTR_FIELD_START + 0x15b ,
  SAI_ACL_TABLE_ATTR_FIELD_INNER_DST_MAC = SAI_ACL_TABLE_ATTR_FIELD_START + 0x15c , SAI_ACL_TABLE_ATTR_FIELD_END = SAI_ACL_TABLE_ATTR_FIELD_INNER_DST_MAC , SAI_ACL_TABLE_ATTR_ENTRY_LIST = 0x00002000 , SAI_ACL_TABLE_ATTR_AVAILABLE_ACL_ENTRY ,
  SAI_ACL_TABLE_ATTR_AVAILABLE_ACL_COUNTER , SAI_ACL_TABLE_ATTR_ACL_TABLE_MATCH_TYPE , SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_START = 0x00003000 , SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_SRC_IPV6 = SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_START ,
  SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_DST_IPV6 = SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_START + 1 , SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_END = SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_DST_IPV6 , SAI_ACL_TABLE_ATTR_END , SAI_ACL_TABLE_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_ACL_TABLE_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for sai_acl_table. More...
 
enum  _sai_acl_entry_attr_t {
  SAI_ACL_ENTRY_ATTR_START , SAI_ACL_ENTRY_ATTR_TABLE_ID = SAI_ACL_ENTRY_ATTR_START , SAI_ACL_ENTRY_ATTR_PRIORITY , SAI_ACL_ENTRY_ATTR_ADMIN_STATE ,
  SAI_ACL_ENTRY_ATTR_FIELD_START = 0x00001000 , SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6 = SAI_ACL_ENTRY_ATTR_FIELD_START , SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6_WORD3 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x153 , SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6_WORD2 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x154 ,
  SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6_WORD1 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x155 , SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6_WORD0 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x156 , SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x1 , SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6_WORD3 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x157 ,
  SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6_WORD2 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x158 , SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6_WORD1 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x159 , SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6_WORD0 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x15a , SAI_ACL_ENTRY_ATTR_FIELD_INNER_SRC_IPV6 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x2 ,
  SAI_ACL_ENTRY_ATTR_FIELD_INNER_DST_IPV6 = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x3 , SAI_ACL_ENTRY_ATTR_FIELD_SRC_MAC = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x4 , SAI_ACL_ENTRY_ATTR_FIELD_DST_MAC = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x5 , SAI_ACL_ENTRY_ATTR_FIELD_SRC_IP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x6 ,
  SAI_ACL_ENTRY_ATTR_FIELD_DST_IP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x7 , SAI_ACL_ENTRY_ATTR_FIELD_INNER_SRC_IP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x8 , SAI_ACL_ENTRY_ATTR_FIELD_INNER_DST_IP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x9 , SAI_ACL_ENTRY_ATTR_FIELD_IN_PORTS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0xa ,
  SAI_ACL_ENTRY_ATTR_FIELD_OUT_PORTS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0xb , SAI_ACL_ENTRY_ATTR_FIELD_IN_PORT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0xc , SAI_ACL_ENTRY_ATTR_FIELD_OUT_PORT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0xd , SAI_ACL_ENTRY_ATTR_FIELD_SRC_PORT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0xe ,
  SAI_ACL_ENTRY_ATTR_FIELD_OUTER_VLAN_ID = SAI_ACL_ENTRY_ATTR_FIELD_START + 0xf , SAI_ACL_ENTRY_ATTR_FIELD_OUTER_VLAN_PRI = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x10 , SAI_ACL_ENTRY_ATTR_FIELD_OUTER_VLAN_CFI = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x11 , SAI_ACL_ENTRY_ATTR_FIELD_INNER_VLAN_ID = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x12 ,
  SAI_ACL_ENTRY_ATTR_FIELD_INNER_VLAN_PRI = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x13 , SAI_ACL_ENTRY_ATTR_FIELD_INNER_VLAN_CFI = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x14 , SAI_ACL_ENTRY_ATTR_FIELD_L4_SRC_PORT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x15 , SAI_ACL_ENTRY_ATTR_FIELD_L4_DST_PORT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x16 ,
  SAI_ACL_ENTRY_ATTR_FIELD_INNER_L4_SRC_PORT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x17 , SAI_ACL_ENTRY_ATTR_FIELD_INNER_L4_DST_PORT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x18 , SAI_ACL_ENTRY_ATTR_FIELD_ETHER_TYPE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x19 , SAI_ACL_ENTRY_ATTR_FIELD_INNER_ETHER_TYPE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x1a ,
  SAI_ACL_ENTRY_ATTR_FIELD_IP_PROTOCOL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x1b , SAI_ACL_ENTRY_ATTR_FIELD_INNER_IP_PROTOCOL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x1c , SAI_ACL_ENTRY_ATTR_FIELD_IP_IDENTIFICATION = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x1d , SAI_ACL_ENTRY_ATTR_FIELD_DSCP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x1e ,
  SAI_ACL_ENTRY_ATTR_FIELD_ECN = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x1f , SAI_ACL_ENTRY_ATTR_FIELD_TTL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x20 , SAI_ACL_ENTRY_ATTR_FIELD_TOS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x21 , SAI_ACL_ENTRY_ATTR_FIELD_IP_FLAGS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x22 ,
  SAI_ACL_ENTRY_ATTR_FIELD_TCP_FLAGS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x23 , SAI_ACL_ENTRY_ATTR_FIELD_ACL_IP_TYPE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x24 , SAI_ACL_ENTRY_ATTR_FIELD_ACL_IP_FRAG = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x25 , SAI_ACL_ENTRY_ATTR_FIELD_IPV6_FLOW_LABEL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x26 ,
  SAI_ACL_ENTRY_ATTR_FIELD_TC = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x27 , SAI_ACL_ENTRY_ATTR_FIELD_ICMP_TYPE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x28 , SAI_ACL_ENTRY_ATTR_FIELD_ICMP_CODE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x29 , SAI_ACL_ENTRY_ATTR_FIELD_ICMPV6_TYPE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x2a ,
  SAI_ACL_ENTRY_ATTR_FIELD_ICMPV6_CODE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x2b , SAI_ACL_ENTRY_ATTR_FIELD_PACKET_VLAN = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x2c , SAI_ACL_ENTRY_ATTR_FIELD_TUNNEL_VNI = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x2d , SAI_ACL_ENTRY_ATTR_FIELD_HAS_VLAN_TAG = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x2e ,
  SAI_ACL_ENTRY_ATTR_FIELD_MACSEC_SCI = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x2f , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL0_LABEL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x30 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL0_TTL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x31 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL0_EXP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x32 ,
  SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL0_BOS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x33 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL1_LABEL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x34 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL1_TTL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x35 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL1_EXP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x36 ,
  SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL1_BOS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x37 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL2_LABEL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x38 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL2_TTL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x39 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL2_EXP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x3a ,
  SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL2_BOS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x3b , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL3_LABEL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x3c , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL3_TTL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x3d , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL3_EXP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x3e ,
  SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL3_BOS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x3f , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL4_LABEL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x40 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL4_TTL = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x41 , SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL4_EXP = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x42 ,
  SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL4_BOS = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x43 , SAI_ACL_ENTRY_ATTR_FIELD_FDB_DST_USER_META = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x44 , SAI_ACL_ENTRY_ATTR_FIELD_ROUTE_DST_USER_META = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x45 , SAI_ACL_ENTRY_ATTR_FIELD_NEIGHBOR_DST_USER_META = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x46 ,
  SAI_ACL_ENTRY_ATTR_FIELD_PORT_USER_META = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x47 , SAI_ACL_ENTRY_ATTR_FIELD_VLAN_USER_META = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x48 , SAI_ACL_ENTRY_ATTR_FIELD_ACL_USER_META = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x49 , SAI_ACL_ENTRY_ATTR_FIELD_FDB_NPU_META_DST_HIT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x4a ,
  SAI_ACL_ENTRY_ATTR_FIELD_NEIGHBOR_NPU_META_DST_HIT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x4b , SAI_ACL_ENTRY_ATTR_FIELD_ROUTE_NPU_META_DST_HIT = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x4c , SAI_ACL_ENTRY_ATTR_FIELD_BTH_OPCODE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x4d , SAI_ACL_ENTRY_ATTR_FIELD_AETH_SYNDROME = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x4e ,
  SAI_ACL_ENTRY_ATTR_USER_DEFINED_FIELD_GROUP_MIN = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x4f , SAI_ACL_ENTRY_ATTR_USER_DEFINED_FIELD_GROUP_MAX = SAI_ACL_ENTRY_ATTR_USER_DEFINED_FIELD_GROUP_MIN + SAI_ACL_USER_DEFINED_FIELD_ATTR_ID_RANGE , SAI_ACL_ENTRY_ATTR_FIELD_ACL_RANGE_TYPE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x14f , SAI_ACL_ENTRY_ATTR_FIELD_IPV6_NEXT_HEADER = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x150 ,
  SAI_ACL_ENTRY_ATTR_FIELD_GRE_KEY = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x151 , SAI_ACL_ENTRY_ATTR_FIELD_TAM_INT_TYPE = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x152 , SAI_ACL_ENTRY_ATTR_FIELD_INNER_SRC_MAC = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x15b , SAI_ACL_ENTRY_ATTR_FIELD_INNER_DST_MAC = SAI_ACL_ENTRY_ATTR_FIELD_START + 0x15c ,
  SAI_ACL_ENTRY_ATTR_FIELD_END = SAI_ACL_ENTRY_ATTR_FIELD_INNER_DST_MAC , SAI_ACL_ENTRY_ATTR_ACTION_START = 0x00002000 , SAI_ACL_ENTRY_ATTR_ACTION_REDIRECT = SAI_ACL_ENTRY_ATTR_ACTION_START , SAI_ACL_ENTRY_ATTR_ACTION_ENDPOINT_IP = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x1 ,
  SAI_ACL_ENTRY_ATTR_ACTION_REDIRECT_LIST = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x2 , SAI_ACL_ENTRY_ATTR_ACTION_PACKET_ACTION = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x3 , SAI_ACL_ENTRY_ATTR_ACTION_FLOOD = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x4 , SAI_ACL_ENTRY_ATTR_ACTION_COUNTER = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x5 ,
  SAI_ACL_ENTRY_ATTR_ACTION_MIRROR_INGRESS = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x6 , SAI_ACL_ENTRY_ATTR_ACTION_MIRROR_EGRESS = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x7 , SAI_ACL_ENTRY_ATTR_ACTION_SET_POLICER = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x8 , SAI_ACL_ENTRY_ATTR_ACTION_DECREMENT_TTL = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x9 ,
  SAI_ACL_ENTRY_ATTR_ACTION_SET_TC = SAI_ACL_ENTRY_ATTR_ACTION_START + 0xa , SAI_ACL_ENTRY_ATTR_ACTION_SET_PACKET_COLOR = SAI_ACL_ENTRY_ATTR_ACTION_START + 0xb , SAI_ACL_ENTRY_ATTR_ACTION_SET_INNER_VLAN_ID = SAI_ACL_ENTRY_ATTR_ACTION_START + 0xc , SAI_ACL_ENTRY_ATTR_ACTION_SET_INNER_VLAN_PRI = SAI_ACL_ENTRY_ATTR_ACTION_START + 0xd ,
  SAI_ACL_ENTRY_ATTR_ACTION_SET_OUTER_VLAN_ID = SAI_ACL_ENTRY_ATTR_ACTION_START + 0xe , SAI_ACL_ENTRY_ATTR_ACTION_SET_OUTER_VLAN_PRI = SAI_ACL_ENTRY_ATTR_ACTION_START + 0xf , SAI_ACL_ENTRY_ATTR_ACTION_ADD_VLAN_ID = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x32 , SAI_ACL_ENTRY_ATTR_ACTION_ADD_VLAN_PRI = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x33 ,
  SAI_ACL_ENTRY_ATTR_ACTION_SET_SRC_MAC = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x10 , SAI_ACL_ENTRY_ATTR_ACTION_SET_DST_MAC = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x11 , SAI_ACL_ENTRY_ATTR_ACTION_SET_SRC_IP = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x12 , SAI_ACL_ENTRY_ATTR_ACTION_SET_DST_IP = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x13 ,
  SAI_ACL_ENTRY_ATTR_ACTION_SET_SRC_IPV6 = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x14 , SAI_ACL_ENTRY_ATTR_ACTION_SET_DST_IPV6 = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x15 , SAI_ACL_ENTRY_ATTR_ACTION_SET_DSCP = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x16 , SAI_ACL_ENTRY_ATTR_ACTION_SET_ECN = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x17 ,
  SAI_ACL_ENTRY_ATTR_ACTION_SET_L4_SRC_PORT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x18 , SAI_ACL_ENTRY_ATTR_ACTION_SET_L4_DST_PORT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x19 , SAI_ACL_ENTRY_ATTR_ACTION_INGRESS_SAMPLEPACKET_ENABLE = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x1a , SAI_ACL_ENTRY_ATTR_ACTION_EGRESS_SAMPLEPACKET_ENABLE = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x1b ,
  SAI_ACL_ENTRY_ATTR_ACTION_SET_ACL_META_DATA = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x1c , SAI_ACL_ENTRY_ATTR_ACTION_EGRESS_BLOCK_PORT_LIST = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x1d , SAI_ACL_ENTRY_ATTR_ACTION_SET_USER_TRAP_ID = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x1e , SAI_ACL_ENTRY_ATTR_ACTION_SET_DO_NOT_LEARN = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x1f ,
  SAI_ACL_ENTRY_ATTR_ACTION_ACL_DTEL_FLOW_OP = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x20 , SAI_ACL_ENTRY_ATTR_ACTION_DTEL_INT_SESSION = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x21 , SAI_ACL_ENTRY_ATTR_ACTION_DTEL_DROP_REPORT_ENABLE = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x22 , SAI_ACL_ENTRY_ATTR_ACTION_DTEL_TAIL_DROP_REPORT_ENABLE = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x23 ,
  SAI_ACL_ENTRY_ATTR_ACTION_DTEL_FLOW_SAMPLE_PERCENT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x24 , SAI_ACL_ENTRY_ATTR_ACTION_DTEL_REPORT_ALL_PACKETS = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x25 , SAI_ACL_ENTRY_ATTR_ACTION_NO_NAT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x26 , SAI_ACL_ENTRY_ATTR_ACTION_INT_INSERT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x27 ,
  SAI_ACL_ENTRY_ATTR_ACTION_INT_DELETE = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x28 , SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_FLOW = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x29 , SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_DROPS = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x2a , SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_TAIL_DROPS = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x2b ,
  SAI_ACL_ENTRY_ATTR_ACTION_TAM_INT_OBJECT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x2c , SAI_ACL_ENTRY_ATTR_ACTION_SET_ISOLATION_GROUP = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x2d , SAI_ACL_ENTRY_ATTR_ACTION_MACSEC_FLOW = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x2e , SAI_ACL_ENTRY_ATTR_ACTION_SET_LAG_HASH_ID = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x2f ,
  SAI_ACL_ENTRY_ATTR_ACTION_SET_ECMP_HASH_ID = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x30 , SAI_ACL_ENTRY_ATTR_ACTION_SET_VRF = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x31 , SAI_ACL_ENTRY_ATTR_ACTION_SET_FORWARDING_CLASS = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x34 , SAI_ACL_ENTRY_ATTR_ACTION_SET_ARS_MONITORING = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x35 ,
  SAI_ACL_ENTRY_ATTR_ACTION_SET_ARS_OBJECT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x36 , SAI_ACL_ENTRY_ATTR_ACTION_DISABLE_ARS_FORWARDING = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x37 , SAI_ACL_ENTRY_ATTR_ACTION_CHAIN_REDIRECT = SAI_ACL_ENTRY_ATTR_ACTION_START + 0x38 , SAI_ACL_ENTRY_ATTR_ACTION_END = SAI_ACL_ENTRY_ATTR_ACTION_CHAIN_REDIRECT ,
  SAI_ACL_ENTRY_ATTR_END , SAI_ACL_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_ACL_ENTRY_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for sai_acl_entry. More...
 
enum  _sai_acl_counter_attr_t {
  SAI_ACL_COUNTER_ATTR_START , SAI_ACL_COUNTER_ATTR_TABLE_ID = SAI_ACL_COUNTER_ATTR_START , SAI_ACL_COUNTER_ATTR_ENABLE_PACKET_COUNT , SAI_ACL_COUNTER_ATTR_ENABLE_BYTE_COUNT ,
  SAI_ACL_COUNTER_ATTR_PACKETS , SAI_ACL_COUNTER_ATTR_BYTES , SAI_ACL_COUNTER_ATTR_LABEL , SAI_ACL_COUNTER_ATTR_END ,
  SAI_ACL_COUNTER_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_ACL_COUNTER_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for sai_acl_counter. More...
 
enum  _sai_acl_range_type_t {
  SAI_ACL_RANGE_TYPE_L4_SRC_PORT_RANGE , SAI_ACL_RANGE_TYPE_L4_DST_PORT_RANGE , SAI_ACL_RANGE_TYPE_OUTER_VLAN , SAI_ACL_RANGE_TYPE_INNER_VLAN ,
  SAI_ACL_RANGE_TYPE_PACKET_LENGTH
}
 Attribute data for ACL Range Type. More...
 
enum  _sai_acl_range_attr_t {
  SAI_ACL_RANGE_ATTR_START , SAI_ACL_RANGE_ATTR_TYPE = SAI_ACL_RANGE_ATTR_START , SAI_ACL_RANGE_ATTR_LIMIT , SAI_ACL_RANGE_ATTR_END ,
  SAI_ACL_RANGE_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_ACL_RANGE_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for ACL Range Object. More...
 

Detailed Description

Macro Definition Documentation

◆ SAI_ACL_USER_DEFINED_FIELD_ATTR_ID_RANGE

#define SAI_ACL_USER_DEFINED_FIELD_ATTR_ID_RANGE   0xFF

ACL User Defined Field Attribute ID Range.

Definition at line 554 of file saiacl.h.

Typedef Documentation

◆ sai_acl_dtel_flow_op_t

DTEL flow operation.

Warning
experimental

◆ sai_acl_entry_attr_t

Attribute Id for sai_acl_entry.

Flags:
ranges

◆ sai_acl_table_attr_t

Attribute Id for sai_acl_table.

Flags:
ranges

◆ sai_create_acl_counter_fn

typedef sai_status_t(* sai_create_acl_counter_fn) (_Out_ sai_object_id_t *acl_counter_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create an ACL counter.

Parameters
[out]acl_counter_idThe ACL counter id
[in]switch_idThe switch Object id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3455 of file saiacl.h.

◆ sai_create_acl_entry_fn

typedef sai_status_t(* sai_create_acl_entry_fn) (_Out_ sai_object_id_t *acl_entry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create an ACL entry.

Parameters
[out]acl_entry_idThe ACL entry id
[in]switch_idThe Switch Object id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3403 of file saiacl.h.

◆ sai_create_acl_range_fn

typedef sai_status_t(* sai_create_acl_range_fn) (_Out_ sai_object_id_t *acl_range_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create an ACL Range.

Parameters
[out]acl_range_idThe ACL range id
[in]switch_idThe Switch object id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3507 of file saiacl.h.

◆ sai_create_acl_table_chain_group_fn

typedef sai_status_t(* sai_create_acl_table_chain_group_fn) (_Out_ sai_object_id_t *acl_table_chain_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create an ACL Table Chain Group.

Parameters
[out]acl_table_chain_group_idThe ACL sub group id
[in]switch_idSwitch ID
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3663 of file saiacl.h.

◆ sai_create_acl_table_fn

typedef sai_status_t(* sai_create_acl_table_fn) (_Out_ sai_object_id_t *acl_table_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create an ACL table.

Parameters
[out]acl_table_idThe ACL table id
[in]switch_idSwitch Object id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3351 of file saiacl.h.

◆ sai_create_acl_table_group_fn

typedef sai_status_t(* sai_create_acl_table_group_fn) (_Out_ sai_object_id_t *acl_table_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create an ACL Table Group.

Parameters
[out]acl_table_group_idThe ACL group id
[in]switch_idSwitch ID
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3559 of file saiacl.h.

◆ sai_create_acl_table_group_member_fn

typedef sai_status_t(* sai_create_acl_table_group_member_fn) (_Out_ sai_object_id_t *acl_table_group_member_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create an ACL Table Group Member.

Parameters
[out]acl_table_group_member_idThe ACL table group member id
[in]switch_idSwitch ID
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3611 of file saiacl.h.

◆ sai_get_acl_counter_attribute_fn

typedef sai_status_t(* sai_get_acl_counter_attribute_fn) (_In_ sai_object_id_t acl_counter_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get ACL counter attribute.

Parameters
[in]acl_counter_idACL counter id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3492 of file saiacl.h.

◆ sai_get_acl_entry_attribute_fn

typedef sai_status_t(* sai_get_acl_entry_attribute_fn) (_In_ sai_object_id_t acl_entry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get ACL entry attribute.

Parameters
[in]acl_entry_idACL entry id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3440 of file saiacl.h.

◆ sai_get_acl_range_attribute_fn

typedef sai_status_t(* sai_get_acl_range_attribute_fn) (_In_ sai_object_id_t acl_range_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get ACL range attribute.

Parameters
[in]acl_range_idACL range id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3544 of file saiacl.h.

◆ sai_get_acl_table_attribute_fn

typedef sai_status_t(* sai_get_acl_table_attribute_fn) (_In_ sai_object_id_t acl_table_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get ACL table attribute.

Parameters
[in]acl_table_idACL table id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3388 of file saiacl.h.

◆ sai_get_acl_table_chain_group_attribute_fn

typedef sai_status_t(* sai_get_acl_table_chain_group_attribute_fn) (_In_ sai_object_id_t acl_table_chain_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get ACL table chain group attribute.

Parameters
[in]acl_table_chain_group_idACL table chain_group id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3700 of file saiacl.h.

◆ sai_get_acl_table_group_attribute_fn

typedef sai_status_t(* sai_get_acl_table_group_attribute_fn) (_In_ sai_object_id_t acl_table_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get ACL table group attribute.

Parameters
[in]acl_table_group_idACL table group id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3596 of file saiacl.h.

◆ sai_get_acl_table_group_member_attribute_fn

typedef sai_status_t(* sai_get_acl_table_group_member_attribute_fn) (_In_ sai_object_id_t acl_table_group_member_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get ACL table group member attribute.

Parameters
[in]acl_table_group_member_idACL table group member id
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3648 of file saiacl.h.

◆ sai_remove_acl_counter_fn

typedef sai_status_t(* sai_remove_acl_counter_fn) (_In_ sai_object_id_t acl_counter_id)

Delete an ACL counter.

Parameters
[in]acl_counter_idThe ACL counter id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3468 of file saiacl.h.

◆ sai_remove_acl_entry_fn

typedef sai_status_t(* sai_remove_acl_entry_fn) (_In_ sai_object_id_t acl_entry_id)

Delete an ACL entry.

Parameters
[in]acl_entry_idThe ACL entry id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3416 of file saiacl.h.

◆ sai_remove_acl_range_fn

typedef sai_status_t(* sai_remove_acl_range_fn) (_In_ sai_object_id_t acl_range_id)

Remove an ACL Range.

Parameters
[in]acl_range_idThe ACL range id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3520 of file saiacl.h.

◆ sai_remove_acl_table_chain_group_fn

typedef sai_status_t(* sai_remove_acl_table_chain_group_fn) (_In_ sai_object_id_t acl_table_chain_group_id)

Delete an ACL Table Chain Group.

Parameters
[in]acl_table_chain_group_idThe ACL chain_group id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3676 of file saiacl.h.

◆ sai_remove_acl_table_fn

typedef sai_status_t(* sai_remove_acl_table_fn) (_In_ sai_object_id_t acl_table_id)

Delete an ACL table.

Parameters
[in]acl_table_idThe ACL table id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3364 of file saiacl.h.

◆ sai_remove_acl_table_group_fn

typedef sai_status_t(* sai_remove_acl_table_group_fn) (_In_ sai_object_id_t acl_table_group_id)

Delete an ACL Group.

Parameters
[in]acl_table_group_idThe ACL group id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3572 of file saiacl.h.

◆ sai_remove_acl_table_group_member_fn

typedef sai_status_t(* sai_remove_acl_table_group_member_fn) (_In_ sai_object_id_t acl_table_group_member_id)

Delete an ACL Group Member.

Parameters
[in]acl_table_group_member_idThe ACL table group member id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3624 of file saiacl.h.

◆ sai_set_acl_counter_attribute_fn

typedef sai_status_t(* sai_set_acl_counter_attribute_fn) (_In_ sai_object_id_t acl_counter_id, _In_ const sai_attribute_t *attr)

Set ACL counter attribute.

Parameters
[in]acl_counter_idThe ACL counter id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3479 of file saiacl.h.

◆ sai_set_acl_entry_attribute_fn

typedef sai_status_t(* sai_set_acl_entry_attribute_fn) (_In_ sai_object_id_t acl_entry_id, _In_ const sai_attribute_t *attr)

Set ACL entry attribute.

Parameters
[in]acl_entry_idThe ACL entry id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3427 of file saiacl.h.

◆ sai_set_acl_range_attribute_fn

typedef sai_status_t(* sai_set_acl_range_attribute_fn) (_In_ sai_object_id_t acl_range_id, _In_ const sai_attribute_t *attr)

Set ACL range attribute.

Parameters
[in]acl_range_idThe ACL range id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3531 of file saiacl.h.

◆ sai_set_acl_table_attribute_fn

typedef sai_status_t(* sai_set_acl_table_attribute_fn) (_In_ sai_object_id_t acl_table_id, _In_ const sai_attribute_t *attr)

Set ACL table attribute.

Parameters
[in]acl_table_idThe ACL table id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3375 of file saiacl.h.

◆ sai_set_acl_table_chain_group_attribute_fn

typedef sai_status_t(* sai_set_acl_table_chain_group_attribute_fn) (_In_ sai_object_id_t acl_table_chain_group_id, _In_ const sai_attribute_t *attr)

Set ACL table chain group attribute.

Parameters
[in]acl_table_chain_group_idThe ACL table chain_group id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3687 of file saiacl.h.

◆ sai_set_acl_table_group_attribute_fn

typedef sai_status_t(* sai_set_acl_table_group_attribute_fn) (_In_ sai_object_id_t acl_table_group_id, _In_ const sai_attribute_t *attr)

Set ACL table group attribute.

Parameters
[in]acl_table_group_idThe ACL table group id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3583 of file saiacl.h.

◆ sai_set_acl_table_group_member_attribute_fn

typedef sai_status_t(* sai_set_acl_table_group_member_attribute_fn) (_In_ sai_object_id_t acl_table_group_member_id, _In_ const sai_attribute_t *attr)

Set ACL table group member attribute.

Parameters
[in]acl_table_group_member_idThe ACL table group member id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 3635 of file saiacl.h.

Enumeration Type Documentation

◆ _sai_acl_action_type_t

ACL Action Type.

Enumerator
SAI_ACL_ACTION_TYPE_REDIRECT 

Set Redirect

SAI_ACL_ACTION_TYPE_ENDPOINT_IP 

Set tunnel endpoint IP

SAI_ACL_ACTION_TYPE_REDIRECT_LIST 

Redirect Packet to a list of destination which can be a port list

SAI_ACL_ACTION_TYPE_PACKET_ACTION 

Packet Action

SAI_ACL_ACTION_TYPE_FLOOD 

Flood Packet on Vlan domain

SAI_ACL_ACTION_TYPE_COUNTER 

Attach/detach counter id to the entry

SAI_ACL_ACTION_TYPE_MIRROR_INGRESS 

Ingress Mirror

SAI_ACL_ACTION_TYPE_MIRROR_EGRESS 

Egress Mirror

SAI_ACL_ACTION_TYPE_SET_POLICER 

Associate with policer

SAI_ACL_ACTION_TYPE_DECREMENT_TTL 

Decrement TTL

SAI_ACL_ACTION_TYPE_SET_TC 

Set Class-of-Service

SAI_ACL_ACTION_TYPE_SET_PACKET_COLOR 

Set Packet Color

SAI_ACL_ACTION_TYPE_SET_INNER_VLAN_ID 

Set Packet Inner Vlan Id

SAI_ACL_ACTION_TYPE_SET_INNER_VLAN_PRI 

Set Packet Inner Vlan Priority

SAI_ACL_ACTION_TYPE_SET_OUTER_VLAN_ID 

Set Packet Outer Vlan Id

SAI_ACL_ACTION_TYPE_SET_OUTER_VLAN_PRI 

Set Packet Outer Vlan Priority

SAI_ACL_ACTION_TYPE_ADD_VLAN_ID 

Add Packet Vlan Id

SAI_ACL_ACTION_TYPE_ADD_VLAN_PRI 

Add Packet Vlan Priority

SAI_ACL_ACTION_TYPE_SET_SRC_MAC 

Set Packet Src MAC Address

SAI_ACL_ACTION_TYPE_SET_DST_MAC 

Set Packet Dst MAC Address

SAI_ACL_ACTION_TYPE_SET_SRC_IP 

Set Packet Src IPv4 Address

SAI_ACL_ACTION_TYPE_SET_DST_IP 

Set Packet Src IPv4 Address

SAI_ACL_ACTION_TYPE_SET_SRC_IPV6 

Set Packet Src IPv6 Address

SAI_ACL_ACTION_TYPE_SET_DST_IPV6 

Set Packet Src IPv6 Address

SAI_ACL_ACTION_TYPE_SET_DSCP 

Set Packet DSCP

SAI_ACL_ACTION_TYPE_SET_ECN 

Set Packet ECN

SAI_ACL_ACTION_TYPE_SET_L4_SRC_PORT 

Set Packet L4 Src Port

SAI_ACL_ACTION_TYPE_SET_L4_DST_PORT 

Set Packet L4 Src Port

SAI_ACL_ACTION_TYPE_INGRESS_SAMPLEPACKET_ENABLE 

Set ingress packet sampling

SAI_ACL_ACTION_TYPE_EGRESS_SAMPLEPACKET_ENABLE 

Set egress packet sampling

SAI_ACL_ACTION_TYPE_SET_ACL_META_DATA 

Set metadata to carry forward to next ACL stage

SAI_ACL_ACTION_TYPE_EGRESS_BLOCK_PORT_LIST 

Egress block port list. To be deprecated

SAI_ACL_ACTION_TYPE_SET_USER_TRAP_ID 

Set user defined trap id

SAI_ACL_ACTION_TYPE_SET_DO_NOT_LEARN 

Set Do Not Learn unknown source MAC

SAI_ACL_ACTION_TYPE_ACL_DTEL_FLOW_OP 

Set DTEL flow operation (experimental)

SAI_ACL_ACTION_TYPE_DTEL_INT_SESSION 

Set DTEL INT session (experimental)

SAI_ACL_ACTION_TYPE_DTEL_DROP_REPORT_ENABLE 

Enable DTEL drop report (experimental)

SAI_ACL_ACTION_TYPE_DTEL_TAIL_DROP_REPORT_ENABLE 

Enable DTEL tail drop reporting (experimental)

SAI_ACL_ACTION_TYPE_DTEL_FLOW_SAMPLE_PERCENT 

Set DTEL flow sampling (experimental)

SAI_ACL_ACTION_TYPE_DTEL_REPORT_ALL_PACKETS 

Enable DTEL report for all packets without filtering (experimental)

SAI_ACL_ACTION_TYPE_NO_NAT 

Set NAT exception rule

SAI_ACL_ACTION_TYPE_INT_INSERT 

Enable insertion of INT metadata

SAI_ACL_ACTION_TYPE_INT_DELETE 

Enable deletion of INT metadata

SAI_ACL_ACTION_TYPE_INT_REPORT_FLOW 

Enable reports of INT metadata

SAI_ACL_ACTION_TYPE_INT_REPORT_DROPS 

Enable INT drop reports

SAI_ACL_ACTION_TYPE_INT_REPORT_TAIL_DROPS 

Enable INT tail drop reports

SAI_ACL_ACTION_TYPE_TAM_INT_OBJECT 

Bind a TAM INT object

SAI_ACL_ACTION_TYPE_SET_ISOLATION_GROUP 

Set isolation group to prevent traffic to members of isolation group

SAI_ACL_ACTION_TYPE_MACSEC_FLOW 

Bind a MACsec flow object

SAI_ACL_ACTION_TYPE_SET_LAG_HASH_ID 

Set custom LAG hash object ID

SAI_ACL_ACTION_TYPE_SET_ECMP_HASH_ID 

Set custom ECMP hash object ID

SAI_ACL_ACTION_TYPE_SET_VRF 

Associate with virtual router

SAI_ACL_ACTION_TYPE_SET_FORWARDING_CLASS 

Set Forwarding class

SAI_ACL_ACTION_TYPE_SET_ARS_MONITORING 

Set ARS monitoring

SAI_ACL_ACTION_TYPE_SET_ARS_OBJECT 

Set ARS object

SAI_ACL_ACTION_TYPE_DISABLE_ARS_FORWARDING 

Disable ARS forwarding

SAI_ACL_ACTION_TYPE_CHAIN_REDIRECT 

Next Chain Group

Definition at line 119 of file saiacl.h.

◆ _sai_acl_counter_attr_t

Attribute Id for sai_acl_counter.

Enumerator
SAI_ACL_COUNTER_ATTR_START 

Start of attributes.

SAI_ACL_COUNTER_ATTR_TABLE_ID 

SAI ACL table object id.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE
SAI_ACL_COUNTER_ATTR_ENABLE_PACKET_COUNT 

Enable/disable packet count.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_COUNTER_ATTR_ENABLE_BYTE_COUNT 

Enable/disable byte count.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_COUNTER_ATTR_PACKETS 

Get/set packet count.

Value Type:
sai_uint64_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_ACL_COUNTER_ATTR_BYTES 

Get/set byte count.

Value Type:
sai_uint64_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_ACL_COUNTER_ATTR_LABEL 

Attribute used to uniquely identify ACL counter.

Value Type:
char
Flags:
CREATE_AND_SET
Default value:
""
SAI_ACL_COUNTER_ATTR_END 

End of attributes.

SAI_ACL_COUNTER_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_ACL_COUNTER_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 3191 of file saiacl.h.

◆ _sai_acl_dtel_flow_op_t

DTEL flow operation.

Warning
experimental
Enumerator
SAI_ACL_DTEL_FLOW_OP_NOP 

No operation (experimental)

SAI_ACL_DTEL_FLOW_OP_INT 

In-band Network Telemetry (experimental)

SAI_ACL_DTEL_FLOW_OP_IOAM 

In-band OAM (experimental)

SAI_ACL_DTEL_FLOW_OP_POSTCARD 

Packet Postcard (experimental)

Definition at line 100 of file saiacl.h.

◆ _sai_acl_entry_attr_t

Attribute Id for sai_acl_entry.

Flags:
ranges
Enumerator
SAI_ACL_ENTRY_ATTR_START 

Start of ACL Entry attributes.

SAI_ACL_ENTRY_ATTR_TABLE_ID 

SAI ACL table object id.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE
IsResourceType:
true
SAI_ACL_ENTRY_ATTR_PRIORITY 

Priority.

Value must be in the range defined in [SAI_SWITCH_ATTR_ACL_ENTRY_MINIMUM_PRIORITY, SAI_SWITCH_ATTR_ACL_ENTRY_MAXIMUM_PRIORITY] (default = SAI_SWITCH_ATTR_ACL_ENTRY_MINIMUM_PRIORITY)

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_ACL_ENTRY_ATTR_ADMIN_STATE 

Admin state.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
true
SAI_ACL_ENTRY_ATTR_FIELD_START 

Start of Rule Match Fields.

SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6 

Src IPv6 Address.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6_WORD3 

Src IPv6 Address 127:96 32 bits.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6_WORD2 

Src IPv6 Address 95:64 32 bits.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6_WORD1 

Src IPv6 Address 63:32 32 bits.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_SRC_IPV6_WORD0 

Src IPv6 Address 31:0 32 bits.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6 

Dst IPv6 Address.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6_WORD3 

Dst IPv6 Address 127:96 32 bits.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6_WORD2 

Dst IPv6 Address 95:64 32 bits.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6_WORD1 

Dst IPv6 Address 63:32 32 bits.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_DST_IPV6_WORD0 

Dst IPv6 Address 31:0 32 bits.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_SRC_IPV6 

Inner Src IPv6 Address.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_DST_IPV6 

Inner Dst IPv6 Address.

Value Type:
sai_acl_field_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_SRC_MAC 

Src MAC Address.

Value Type:
sai_acl_field_data_t sai_mac_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_DST_MAC 

Dst MAC Address.

Value Type:
sai_acl_field_data_t sai_mac_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_SRC_IP 

Src IPv4 Address.

Value Type:
sai_acl_field_data_t sai_ip4_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_DST_IP 

Dst IPv4 Address.

Value Type:
sai_acl_field_data_t sai_ip4_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_SRC_IP 

Inner Src IPv4 Address.

Value Type:
sai_acl_field_data_t sai_ip4_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_DST_IP 

Inner Dst IPv4 Address.

Value Type:
sai_acl_field_data_t sai_ip4_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_IN_PORTS 

In-Ports (mask is not needed)

Value Type:
sai_acl_field_data_t sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_OUT_PORTS 

Out-Ports (mask is not needed)

Value Type:
sai_acl_field_data_t sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_IN_PORT 

In-Port (mask is not needed)

Value Type:
sai_acl_field_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_LAG
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_OUT_PORT 

Out-Port (mask is not needed)

Value Type:
sai_acl_field_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_LAG
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_SRC_PORT 

Source port which could be a physical or LAG port (mask is not needed)

Value Type:
sai_acl_field_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_OUTER_VLAN_ID 

Outer Vlan Id (12 bits)

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
true
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_OUTER_VLAN_PRI 

Outer Vlan Priority (3 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_OUTER_VLAN_CFI 

Outer Vlan CFI (1 bit)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_VLAN_ID 

Inner Vlan Id (12 bits)

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
true
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_VLAN_PRI 

Inner Vlan Priority (3 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_VLAN_CFI 

Inner Vlan CFI (1 bit)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_L4_SRC_PORT 

L4 Src Port.

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_L4_DST_PORT 

L4 Dst Port.

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_L4_SRC_PORT 

Inner L4 Src Port.

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_L4_DST_PORT 

Inner L4 Dst Port.

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ETHER_TYPE 

EtherType.

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_ETHER_TYPE 

Inner EtherType.

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_IP_PROTOCOL 

IP Protocol.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_IP_PROTOCOL 

Inner IP Protocol.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_IP_IDENTIFICATION 

IP Identification.

Value Type:
sai_acl_field_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_DSCP 

IP DSCP (6 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ECN 

IP ECN (2 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_TTL 

IP TTL.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_TOS 

IP TOS.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_IP_FLAGS 

IP Flags (3 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_TCP_FLAGS 

TCP Flags (6 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ACL_IP_TYPE 

IP Type (field mask is not needed)

Value Type:
sai_acl_field_data_t sai_acl_ip_type_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ACL_IP_FRAG 

IP Frag (field mask is not needed)

Value Type:
sai_acl_field_data_t sai_acl_ip_frag_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_IPV6_FLOW_LABEL 

IPv6 Flow Label (20 bits)

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_TC 

Class-of-Service (Traffic Class)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ICMP_TYPE 

ICMP Type.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ICMP_CODE 

ICMP Code.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ICMPV6_TYPE 

ICMP Type for IPv6.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ICMPV6_CODE 

ICMP Code for IPv6.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_PACKET_VLAN 

Number of VLAN Tags.

Value Type:
sai_acl_field_data_t sai_packet_vlan_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_TUNNEL_VNI 

Tunnel VNI.

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_HAS_VLAN_TAG 

Match on packet that has vlan tag.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MACSEC_SCI 

SCI value in MACsec packet SecTAG The MAC address of SCI is stored in the lowest memory address, The port id of SCI is stored in the highest memory address.

Value Type:
sai_acl_field_data_t sai_uint64_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL0_LABEL 

Label value for MPLS label on the top.

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL0_TTL 

TTL value for MPLS label on the top.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL0_EXP 

EXP value for MPLS label on the top (3 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL0_BOS 

BOS bit value for MPLS label on the top.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL1_LABEL 

Label value for second MPLS label from the top.

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL1_TTL 

TTL value for second MPLS label from the top.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL1_EXP 

EXP value for second MPLS label from the top (3 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL1_BOS 

BOS bit value for second MPLS label from the top.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL2_LABEL 

Label value for third MPLS label from the top.

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL2_TTL 

TTL value for third MPLS label from the top.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL2_EXP 

EXP value for third MPLS label on the top (3 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL2_BOS 

BOS bit value for third MPLS label from the top.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL3_LABEL 

Label value for fourth MPLS label from the top.

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL3_TTL 

TTL value for fourth MPLS label from the top.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL3_EXP 

EXP value for fourth MPLS label on the top (3 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL3_BOS 

BOS bit value for fourth MPLS label from the top.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL4_LABEL 

Label value for fifth MPLS label from the top.

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL4_TTL 

TTL value for fifth MPLS label from the top.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL4_EXP 

EXP value for fifth MPLS label on the top (3 bits)

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_MPLS_LABEL4_BOS 

BOS bit value for fifth MPLS label from the top.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_FDB_DST_USER_META 

DST MAC address match user meta data in FDB.

Value must be in the range defined in SAI_SWITCH_ATTR_FDB_DST_USER_META_DATA_RANGE

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ROUTE_DST_USER_META 

DST IP address match user meta data in Route Table.

Value must be in the range defined in SAI_SWITCH_ATTR_ROUTE_DST_USER_META_DATA_RANGE

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_NEIGHBOR_DST_USER_META 

DST IP address match user meta data in Neighbor Table.

Value must be in the range defined in SAI_SWITCH_ATTR_NEIGHBOR_DST_USER_META_DATA_RANGE

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_PORT_USER_META 

Port User metadata.

Value must be in the range defined in SAI_SWITCH_ATTR_PORT_USER_META_DATA_RANGE

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_VLAN_USER_META 

Vlan User metadata.

Value must be in the range defined in SAI_SWITCH_ATTR_VLAN_USER_META_DATA_RANGE

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ACL_USER_META 

Metadata carried from previous ACL stage.

When an ACL entry set the meta data, the ACL metadata form previous stages are overridden. Value must be in the range defined in SAI_SWITCH_ATTR_ACL_USER_META_DATA_RANGE

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_FDB_NPU_META_DST_HIT 

DST MAC address match in FDB.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_NEIGHBOR_NPU_META_DST_HIT 

DST IP address match in neighbor Table.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ROUTE_NPU_META_DST_HIT 

DST IP address match in Route Table.

Value Type:
sai_acl_field_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_BTH_OPCODE 

Base Transport Header opcode field.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_AETH_SYNDROME 

Ack_extented Transport Header syndrome field.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_USER_DEFINED_FIELD_GROUP_MIN 

User Defined Field object for the UDF Groups in ACL Table.

Value Type:
sai_acl_field_data_t sai_u8_list_t
Flags:
CREATE_AND_SET
Default value:
disabled
Range:
SAI_ACL_USER_DEFINED_FIELD_ATTR_ID_RANGE
SAI_ACL_ENTRY_ATTR_USER_DEFINED_FIELD_GROUP_MAX 

User Defined Field data max.

Value Type:
sai_acl_field_data_t sai_u8_list_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_ACL_RANGE_TYPE 

Range Type defined in sai_acl_range_type_t.

List of SAI ACL Range Object Id

Value Type:
sai_acl_field_data_t sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_ACL_RANGE
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_IPV6_NEXT_HEADER 

IPv6 Next Header (8 bits)

This is to qualify 6th Byte value in IPv6 header.

Value Type:
sai_acl_field_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_GRE_KEY 

GRE Key (32 bits)

Value Type:
sai_acl_field_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_TAM_INT_TYPE 

TAM INT type.

Value Type:
sai_acl_field_data_t sai_tam_int_type_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_SRC_MAC 

Inner Src MAC Address.

Value Type:
sai_acl_field_data_t sai_mac_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_INNER_DST_MAC 

Inner Dst MAC Address.

Value Type:
sai_acl_field_data_t sai_mac_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_FIELD_END 

End of Rule Match Fields.

SAI_ACL_ENTRY_ATTR_ACTION_START 

Start of Rule Actions.

SAI_ACL_ENTRY_ATTR_ACTION_REDIRECT 

Redirect Packet to a destination which can be a port, system port, LAG, nexthop, nexthopgroup, bridge port, L2MC group,IPMC group.

When redirecting to a bridge port, the following behavior will happen according to the bridge port type: SAI_BRIDGE_PORT_TYPE_PORT - Forward to bridge port, egress vlan will be the pipeline vlan SAI_BRIDGE_PORT_TYPE_SUB_PORT - Forward to bridge port, egress vlan will be according to corresponding bridge port SAI_BRIDGE_PORT_TYPE_1Q_ROUTER - Forward to router. RIF will be according to the outer vlan value in the pipeline SAI_BRIDGE_PORT_TYPE_1D_ROUTER - Forward to router. RIF will be the corresponding 1d bridge RIF SAI_BRIDGE_PORT_TYPE_TUNNEL - ACL based encap. Tunnel ID will be according to the corresponding bridge port. In this case, it is mandatory to also supply action endpoint, with endpoint IP value

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_SYSTEM_PORT, SAI_OBJECT_TYPE_LAG, SAI_OBJECT_TYPE_NEXT_HOP, SAI_OBJECT_TYPE_NEXT_HOP_GROUP, SAI_OBJECT_TYPE_BRIDGE_PORT, SAI_OBJECT_TYPE_L2MC_GROUP, SAI_OBJECT_TYPE_IPMC_GROUP
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_ENDPOINT_IP 

Tunnel Endpoint IP. mandatory and valid only when redirect action is to SAI_BRIDGE_PORT_TYPE_TUNNEL.

Value Type:
sai_acl_action_data_t sai_ip_address_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_REDIRECT_LIST 

Redirect Packet to a list of destination which can be a port list.

This action is deprecated and will be removed in future release. In order to achieve the functionality, please use redirect action with next hop group or L2MC group or IPMC group.

Value Type:
sai_acl_action_data_t sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_SYSTEM_PORT, SAI_OBJECT_TYPE_LAG, SAI_OBJECT_TYPE_NEXT_HOP, SAI_OBJECT_TYPE_NEXT_HOP_GROUP
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_PACKET_ACTION 

Packet Action.

Value Type:
sai_acl_action_data_t sai_packet_action_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_FLOOD 

Flood Packet on Vlan domain (parameter is not needed)

Value Type:
sai_acl_action_data_t sai_int32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_COUNTER 

Attach/detach counter id to the entry.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_ACL_COUNTER
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_MIRROR_INGRESS 

Ingress Mirror (mirror session id list)

Value Type:
sai_acl_action_data_t sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_MIRROR_SESSION
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_MIRROR_EGRESS 

Egress Mirror (mirror session id list)

Value Type:
sai_acl_action_data_t sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_MIRROR_SESSION
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_POLICER 

Associate with policer.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_POLICER
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_DECREMENT_TTL 

Decrement TTL (enable/disable)

Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_TC 

Set Class-of-Service (Traffic Class)

Value Type:
sai_acl_action_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_PACKET_COLOR 

Set packet color.

Value Type:
sai_acl_action_data_t sai_packet_color_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_INNER_VLAN_ID 

Set Packet Inner Vlan Id (12 bits)

Value Type:
sai_acl_action_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_INNER_VLAN_PRI 

Set Packet Inner Vlan Priority (3 bits)

Value Type:
sai_acl_action_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_OUTER_VLAN_ID 

Set Packet Outer Vlan Id (12 bits)

Value Type:
sai_acl_action_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
true
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_OUTER_VLAN_PRI 

Set Packet Outer Vlan Priority (3 bits)

Value Type:
sai_acl_action_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_ADD_VLAN_ID 

Add Packet Vlan Id (12 bits)

Value Type:
sai_acl_action_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
true
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_ADD_VLAN_PRI 

Add Packet Vlan Priority (3 bits)

Value Type:
sai_acl_action_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_SRC_MAC 

Set Packet Src MAC Address.

Value Type:
sai_acl_action_data_t sai_mac_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_DST_MAC 

Set Packet Dst MAC Address.

Value Type:
sai_acl_action_data_t sai_mac_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_SRC_IP 

Set Packet Src IPv4 Address.

Value Type:
sai_acl_action_data_t sai_ip4_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_DST_IP 

Set Packet Src IPv4 Address.

Value Type:
sai_acl_action_data_t sai_ip4_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_SRC_IPV6 

Set Packet Src IPv6 Address.

Value Type:
sai_acl_action_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_DST_IPV6 

Set Packet Src IPv6 Address.

Value Type:
sai_acl_action_data_t sai_ip6_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_DSCP 

Set Packet DSCP (6 bits)

Value Type:
sai_acl_action_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_ECN 

Set Packet ECN (2 bits)

Value Type:
sai_acl_action_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_L4_SRC_PORT 

Set Packet L4 Src Port.

Value Type:
sai_acl_action_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_L4_DST_PORT 

Set Packet L4 Src Port.

Value Type:
sai_acl_action_data_t sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_INGRESS_SAMPLEPACKET_ENABLE 

Set ingress packet sampling (sample packet session id)

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_SAMPLEPACKET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_EGRESS_SAMPLEPACKET_ENABLE 

Set egress packet sampling (sample packet session id)

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_SAMPLEPACKET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_ACL_META_DATA 

Set metadata to carry forward to next ACL Stage.

Value Range SAI_SWITCH_ATTR_ACL_USER_META_DATA_RANGE

Value Type:
sai_acl_action_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_EGRESS_BLOCK_PORT_LIST 

Egress block port list.

This action would be deprecated in future release. To achieve this functionality use isolation group.

Packets matching the ACL entry and egressing out of the ports in the given port list will be dropped.

Value Type:
sai_acl_action_data_t sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_USER_TRAP_ID 

Set User Defined Trap ID.

Copy packet action mandatory to be present (Copy/Trap/Log) Value Range SAI_SWITCH_ATTR_ACL_USER_TRAP_ID_RANGE

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_HOSTIF_USER_DEFINED_TRAP
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_DO_NOT_LEARN 

Do Not Learn unknown source MAC on match(enable/disable) (parameter is not needed)

Value Type:
sai_acl_action_data_t sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_ACL_DTEL_FLOW_OP 

DTEL flow operation.

Warning
experimental
Value Type:
sai_acl_action_data_t sai_acl_dtel_flow_op_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_DTEL_INT_SESSION 

DTEL INT session ID.

Warning
experimental
Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_DTEL_INT_SESSION
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_DTEL_DROP_REPORT_ENABLE 

Enable DTEL drop report.

Warning
experimental
Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_DTEL_TAIL_DROP_REPORT_ENABLE 

Enable DTEL tail drop reporting.

Warning
experimental
Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_DTEL_FLOW_SAMPLE_PERCENT 

DTEL flow sample percentage.

Warning
experimental
Value Type:
sai_acl_action_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_DTEL_REPORT_ALL_PACKETS 

Enable DTEL report for all packets without filtering.

Warning
experimental
Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_NO_NAT 

Set NAT exception rule.

Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_INT_INSERT 

Enable INT metadata insertion.

Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_INT_DELETE 

Enable INT metadata deletion.

Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_FLOW 

Enable INT metadata reports.

Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_DROPS 

Enable INT drop reports.

Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_TAIL_DROPS 

Enable INT tail drop reports.

Value Type:
sai_acl_action_data_t bool
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_TAM_INT_OBJECT 

ACL bind point for TAM INT object.

Bind (or unbind) a TAM INT object. Note that an ACL entry may bind a TAM INT object, or conversely a TAM INT object may bind an ACL table or ACL group. In the latter case, SAI_NULL_OBJECT_ID should be assigned as the attribute value.

Note: Applicable only when SAI_ACL_ENTRY_ATTR_ACTION_INT_INSERT == true or SAI_ACL_ENTRY_ATTR_ACTION_INT_DELETE == true or SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_FLOW == true or SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_DROPS == true or SAI_ACL_ENTRY_ATTR_ACTION_INT_REPORT_TAIL_DROPS == true

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_TAM_INT
Allows NULL object ID
true
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_ISOLATION_GROUP 

Set isolation group (isolation group object id)

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_ISOLATION_GROUP
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_MACSEC_FLOW 

MACsec flow.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_MACSEC_FLOW
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_LAG_HASH_ID 

LAG Hash ID.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_HASH
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_ECMP_HASH_ID 

ECMP Hash ID.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_HASH
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_VRF 

Set virtual router.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_VIRTUAL_ROUTER
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_FORWARDING_CLASS 

Set Forwarding Class.

Value Type:
sai_acl_action_data_t sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_ARS_MONITORING 

Enable ARS monitoring for a destination that can be a LAG or nexthopgroup.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_LAG, SAI_OBJECT_TYPE_NEXT_HOP_GROUP
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_SET_ARS_OBJECT 

Enable ARS object for a destination that can be a LAG or nexthopgroup.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_ARS
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_DISABLE_ARS_FORWARDING 

Disable ARS forwarding for a destination that can be a LAG or nexthopgroup.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_LAG, SAI_OBJECT_TYPE_NEXT_HOP_GROUP
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_CHAIN_REDIRECT 

Redirect Packet to a next chain table group object for chained lookup.

Value Type:
sai_acl_action_data_t sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE_CHAIN_GROUP
Default value:
disabled
SAI_ACL_ENTRY_ATTR_ACTION_END 

End of Rule Actions.

SAI_ACL_ENTRY_ATTR_END 

End of ACL Entry attributes.

SAI_ACL_ENTRY_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_ACL_ENTRY_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 1616 of file saiacl.h.

◆ _sai_acl_ip_frag_t

ACL IP Fragment.

Enumerator
SAI_ACL_IP_FRAG_ANY 

Any Fragment of Fragmented Packet

SAI_ACL_IP_FRAG_NON_FRAG 

Non-Fragmented Packet

SAI_ACL_IP_FRAG_NON_FRAG_OR_HEAD 

Non-Fragmented or First Fragment

SAI_ACL_IP_FRAG_HEAD 

First Fragment of Fragmented Packet

SAI_ACL_IP_FRAG_NON_HEAD 

Not the First Fragment

Definition at line 76 of file saiacl.h.

◆ _sai_acl_ip_type_t

ACL IP Type.

Enumerator
SAI_ACL_IP_TYPE_ANY 

Don't care

SAI_ACL_IP_TYPE_IP 

IPv4 and IPv6 packets

SAI_ACL_IP_TYPE_NON_IP 

Non-IP packet

SAI_ACL_IP_TYPE_IPV4ANY 

Any IPv4 packet

SAI_ACL_IP_TYPE_NON_IPV4 

Anything but IPv4 packets

SAI_ACL_IP_TYPE_IPV6ANY 

IPv6 packet

SAI_ACL_IP_TYPE_NON_IPV6 

Anything but IPv6 packets

SAI_ACL_IP_TYPE_ARP 

ARP/RARP

SAI_ACL_IP_TYPE_ARP_REQUEST 

ARP Request

SAI_ACL_IP_TYPE_ARP_REPLY 

ARP Reply

Definition at line 39 of file saiacl.h.

◆ _sai_acl_range_attr_t

Attribute Id for ACL Range Object.

Enumerator
SAI_ACL_RANGE_ATTR_START 

Start of attributes.

SAI_ACL_RANGE_ATTR_TYPE 

Range type.

Mandatory to pass only one of the range types defined in sai_acl_range_type_t enum during ACL Range Creation. Range Type cannot be changed after the range is created.

Value Type:
sai_acl_range_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_ACL_RANGE_ATTR_LIMIT 

Start and End of ACL Range.

Range will include the start and end values. Range Limit cannot be changed after the range is created.

Value Type:
sai_u32_range_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_ACL_RANGE_ATTR_END 

End of attributes.

SAI_ACL_RANGE_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_ACL_RANGE_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 3298 of file saiacl.h.

◆ _sai_acl_range_type_t

Attribute data for ACL Range Type.

Enumerator
SAI_ACL_RANGE_TYPE_L4_SRC_PORT_RANGE 

L4 Source Port Range

SAI_ACL_RANGE_TYPE_L4_DST_PORT_RANGE 

L4 Destination Port Range

SAI_ACL_RANGE_TYPE_OUTER_VLAN 

Outer Vlan Range

SAI_ACL_RANGE_TYPE_INNER_VLAN 

Inner Vlan Range

SAI_ACL_RANGE_TYPE_PACKET_LENGTH 

Packet Length Range in bytes

Definition at line 3276 of file saiacl.h.

◆ _sai_acl_table_attr_t

Attribute Id for sai_acl_table.

Flags:
ranges
Enumerator
SAI_ACL_TABLE_ATTR_START 

Table attributes start.

SAI_ACL_TABLE_ATTR_ACL_STAGE 

ACL stage.

Value Type:
sai_acl_stage_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_ACL_TABLE_ATTR_ACL_BIND_POINT_TYPE_LIST 

List of ACL bind point where this ACL can be applied.

(Default = empty) - if the bind point is empty during create or ACL Table that is previously bound is unbound, then it is expected that there is no real hardware resource that is being utilized. In this case, application is not expected to query for SAI_ACL_TABLE_ATTR_AVAILABLE_ACL_ENTRY or SAI_ACL_TABLE_ATTR_AVAILABLE_ACL_COUNTER. If it is queried, the result is undefined

Value Type:
sai_s32_list_t sai_acl_bind_point_type_t
Flags:
CREATE_ONLY
Default value:
empty
SAI_ACL_TABLE_ATTR_SIZE 

Table size.

(Default = 0) - Grow dynamically till MAX ACL TCAM Size By default, table can grow up to maximum ACL TCAM space. Supported only during Table Create for now until NPU supports Dynamic adjustment of Table size post Table creation

The table size refers to the number of ACL entries. The number of entries that gets allocated when we create a table with a specific size would depend on the ACL CAM Arch of the NPU. Some NPU supports different blocks, each may have same or different size and what gets allocated can depend on the block size or other factors. So internally what gets allocated when we do a table create would be based on the NPU CAM Arch and size may be more than what is requested. As an example the NPU may support blocks of 128 entries. When a user creates a table of size 100, the actual size that gets allocated is 128. Hence, it's recommended that the user does a get_attribute(SAI_ACL_TABLE_ATTR_SIZE) to query the actual table size on table create so the user knows the ACL CAM space allocated and able to do ACL CAM Carving accurately.

Value Type:
sai_uint32_t
Flags:
CREATE_ONLY
Default value:
0
IsResourceType:
true
SAI_ACL_TABLE_ATTR_ACL_ACTION_TYPE_LIST 

List of actions in sai_acl_action_type_t.

Based on the ACL capability per stage obtained from the switch attributes SAI_SWITCH_ATTR_ACL_STAGE_INGRESS and SAI_SWITCH_ATTR_ACL_STAGE_EGRESS application should pass the action list if its mandatory per stage. Pass the action list if its mandatory per stage. If its not mandatory application can either pass the action list or ignore it.

Value Type:
sai_s32_list_t sai_acl_action_type_t
Flags:
CREATE_ONLY
Default value:
empty
SAI_ACL_TABLE_ATTR_FIELD_START 

Start of Table Match Field.

SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6 

Src IPv6 Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6_WORD3 

Src IPv6 Address 127:96 32 bits.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6_WORD2 

Src IPv6 Address 95:64 32 bits.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6_WORD1 

Src IPv6 Address 63:32 32 bits.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6_WORD0 

Src IPv6 Address 31:0 32 bits.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6 

Dst IPv6 Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6_WORD3 

Dst IPv6 Address 127:96 32 bits.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6_WORD2 

Dst IPv6 Address 95:64 32 bits.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6_WORD1 

Dst IPv6 Address 63:32 32 bits.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6_WORD0 

Dst IPv6 Address 31:0 32 bits.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_SRC_IPV6 

Inner Src IPv6 Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_DST_IPV6 

Inner Dst IPv6 Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_SRC_MAC 

Src MAC Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_DST_MAC 

Dst MAC Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_SRC_IP 

Src IPv4 Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_DST_IP 

Dst IPv4 Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_SRC_IP 

Inner Src IPv4 Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_DST_IP 

Inner Dst IPv4 Address.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_IN_PORTS 

In-Ports.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_OUT_PORTS 

Out-Ports.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_IN_PORT 

In-Port.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_OUT_PORT 

Out-Port.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_SRC_PORT 

Source Port.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_OUTER_VLAN_ID 

Outer Vlan Id.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_OUTER_VLAN_PRI 

Outer Vlan Priority.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_OUTER_VLAN_CFI 

Outer Vlan CFI.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_VLAN_ID 

Inner Vlan Id.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_VLAN_PRI 

Inner Vlan Priority.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_VLAN_CFI 

Inner Vlan CFI.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_L4_SRC_PORT 

L4 Src Port.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_L4_DST_PORT 

L4 Dst Port.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_L4_SRC_PORT 

Inner L4 Src Port.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_L4_DST_PORT 

Inner L4 Dst Port.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ETHER_TYPE 

EtherType.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_ETHER_TYPE 

Inner EtherType.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_IP_PROTOCOL 

IP Protocol.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_IP_PROTOCOL 

Inner IP Protocol.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_IP_IDENTIFICATION 

IP Identification.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_DSCP 

IP DSCP.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ECN 

IP ECN.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_TTL 

IP TTL.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_TOS 

IP TOS.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_IP_FLAGS 

IP Flags.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_TCP_FLAGS 

TCP Flags.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ACL_IP_TYPE 

IP Type.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ACL_IP_FRAG 

IP Frag.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_IPV6_FLOW_LABEL 

IPv6 Flow Label.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_TC 

Class-of-Service (Traffic Class)

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ICMP_TYPE 

ICMP Type.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ICMP_CODE 

ICMP Code.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ICMPV6_TYPE 

ICMP Type for IPv6.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ICMPV6_CODE 

ICMP Code for IPv6.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_PACKET_VLAN 

Vlan Tags.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_TUNNEL_VNI 

Tunnel VNI.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_HAS_VLAN_TAG 

Match on packet that has vlan tag.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MACSEC_SCI 

SCI value in MACsec packet SecTAG.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL0_LABEL 

Label value for MPLS label on the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL0_TTL 

TTL value for MPLS label on the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL0_EXP 

EXP value for MPLS label on the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL0_BOS 

BOS bit value for MPLS label on the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL1_LABEL 

Label value for second MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL1_TTL 

TTL value for second MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL1_EXP 

EXP value for second MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL1_BOS 

BOS bit value for second MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL2_LABEL 

Label value for third MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL2_TTL 

TTL value for third MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL2_EXP 

EXP value for third MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL2_BOS 

BOS bit value for third MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL3_LABEL 

Label value for fourth MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL3_TTL 

TTL value for fourth MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL3_EXP 

EXP value for fourth MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL3_BOS 

BOS bit value for fourth MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL4_LABEL 

Label value for fifth MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL4_TTL 

TTL value for fifth MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL4_EXP 

EXP value for fifth MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_MPLS_LABEL4_BOS 

BOS bit value for fifth MPLS label from the top.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_FDB_DST_USER_META 

FDB DST user meta data.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ROUTE_DST_USER_META 

ROUTE DST User Meta data.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_NEIGHBOR_DST_USER_META 

Neighbor DST User metadata.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_PORT_USER_META 

Port User metadata.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_VLAN_USER_META 

Vlan User metadata.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ACL_USER_META 

Metadata carried from previous ACL Stage.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_FDB_NPU_META_DST_HIT 

DST MAC address match in FDB.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_NEIGHBOR_NPU_META_DST_HIT 

DST IP address match in neighbor table.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_ROUTE_NPU_META_DST_HIT 

DST IP address match in Route table.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_BTH_OPCODE 

Base Transport Header opcode field.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_AETH_SYNDROME 

Ack_extented Transport Header syndrome field.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_USER_DEFINED_FIELD_GROUP_MIN 

User Defined Field Groups Length is derived from the UDF group OID.

Value Type:
sai_object_id_t
Flags:
CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_UDF_GROUP
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
Range:
SAI_ACL_USER_DEFINED_FIELD_ATTR_ID_RANGE
SAI_ACL_TABLE_ATTR_USER_DEFINED_FIELD_GROUP_MAX 

User Defined Field Groups end Length is derived from the UDF group OID.

Value Type:
sai_object_id_t
Flags:
CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_UDF_GROUP
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
SAI_ACL_TABLE_ATTR_FIELD_ACL_RANGE_TYPE 

Range type defined.

Value Type:
sai_s32_list_t sai_acl_range_type_t
Flags:
CREATE_ONLY
Default value:
empty
SAI_ACL_TABLE_ATTR_FIELD_IPV6_NEXT_HEADER 

IPv6 Next Header.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_GRE_KEY 

GRE key.

The key is dedicated for GRE packets. The VNI key should not be used for matching on GRE packets or NVGRE packets.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_TAM_INT_TYPE 

TAM INT type.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_SRC_MAC 

Inner Src MAC.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_INNER_DST_MAC 

Inner Dst MAC.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
false
SAI_ACL_TABLE_ATTR_FIELD_END 

End of ACL Table Match Field.

SAI_ACL_TABLE_ATTR_ENTRY_LIST 

ACL table entries associated with this table.

Value Type:
sai_object_list_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_ACL_ENTRY
SAI_ACL_TABLE_ATTR_AVAILABLE_ACL_ENTRY 

Available ACL entries for this table.

Value Type:
sai_uint32_t
Flags:
READ_ONLY
SAI_ACL_TABLE_ATTR_AVAILABLE_ACL_COUNTER 

Available ACL counters for this table.

Value Type:
sai_uint32_t
Flags:
READ_ONLY
SAI_ACL_TABLE_ATTR_ACL_TABLE_MATCH_TYPE 

Match type for the table.

Value Type:
sai_acl_table_match_type_t
Flags:
CREATE_ONLY
Default value:
SAI_ACL_TABLE_MATCH_TYPE_TERNARY
SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_START 

Start of Table Match valid bits.

The valid bits specify the bits of match field that should be included in the lookup key. If a match field does not have valid bits specified, all bits in the field are valid.

For tables implemented using Exact Match, there is no further key masking supported in table entries. The mask for such entries needs to be set to all 1s.

SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_SRC_IPV6 

Src IPv6 Valid bits.

Value Type:
sai_acl_field_data_mask_t sai_ip6_t
Flags:
CREATE_ONLY
Default value:
ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
Valid only when:
SAI_ACL_TABLE_ATTR_FIELD_SRC_IPV6 == true
SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_DST_IPV6 

Dst IPv6 Valid bits.

Value Type:
sai_acl_field_data_mask_t sai_ip6_t
Flags:
CREATE_ONLY
Default value:
ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
Valid only when:
SAI_ACL_TABLE_ATTR_FIELD_DST_IPV6 == true
SAI_ACL_TABLE_ATTR_FIELD_VALID_BITS_END 

End of Table Match Field Mask.

SAI_ACL_TABLE_ATTR_END 

End of ACL Table attributes.

SAI_ACL_TABLE_ATTR_CUSTOM_RANGE_START 

Custom range base value start.

SAI_ACL_TABLE_ATTR_CUSTOM_RANGE_END 

End of Custom range base.

Definition at line 561 of file saiacl.h.

◆ _sai_acl_table_chain_group_attr_t

Attribute Id for acl_table_chain_group.

Enumerator
SAI_ACL_TABLE_CHAIN_GROUP_ATTR_START 

Start of attributes.

SAI_ACL_TABLE_CHAIN_GROUP_ATTR_TYPE 

ACL table sub group type.

ACL table group type represents the way various ACL tables within this ACL table group perform their lookups. There are two optional values: Sequential - All the ACL tables are looked up in a sequential order, which is based on the ACL table priorities and only one ACL entry is matched with its corresponding ACL entry action applied. In case two ACL tables have the same priority they are looked up on a first come basis. Parallel - All the ACL tables within the ACL table groups are looked up in parallel and non-conflicting actions are resolved and applied from multiple matched ACL entries (each from different ACL tables of this group). Conflicting actions are resolved based on the ACL table priorities.

Value Type:
sai_acl_table_chain_group_type_t
Flags:
CREATE_ONLY
Default value:
SAI_ACL_TABLE_CHAIN_GROUP_TYPE_SEQUENTIAL
SAI_ACL_TABLE_CHAIN_GROUP_ATTR_STAGE 

ACL table sub group stage.

ACL table sub group stage represents the cascading stage in the pipeline. Lower numbered stage comes before the higher numbered stage.

Value Type:
sai_acl_table_chain_group_stage_t
Flags:
CREATE_ONLY
Default value:
SAI_ACL_TABLE_CHAIN_GROUP_STAGE_0
SAI_ACL_TABLE_CHAIN_GROUP_ATTR_END 

End of attributes.

SAI_ACL_TABLE_CHAIN_GROUP_ATTR_CUSTOM_RANGE_START 

Custom range base value start.

SAI_ACL_TABLE_CHAIN_GROUP_ATTR_CUSTOM_RANGE_END 

End of Custom range base.

Definition at line 409 of file saiacl.h.

◆ _sai_acl_table_chain_group_type_t

Attribute data for SAI_ACL_TABLE_CHAIN_GROUP_ATTR_TYPE.

Enumerator
SAI_ACL_TABLE_CHAIN_GROUP_TYPE_SEQUENTIAL 

SEQUENTIAL

SAI_ACL_TABLE_CHAIN_GROUP_TYPE_PARALLEL 

PARALLEL

Definition at line 296 of file saiacl.h.

◆ _sai_acl_table_group_attr_t

Attribute Id for acl_table_group.

Enumerator
SAI_ACL_TABLE_GROUP_ATTR_START 

Start of attributes.

SAI_ACL_TABLE_GROUP_ATTR_ACL_STAGE 

ACL stage.

Value Type:
sai_acl_stage_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_ACL_TABLE_GROUP_ATTR_ACL_BIND_POINT_TYPE_LIST 

List of ACL bind points where this group will be applied.

ACL group bind point list - create only attribute required for ACL groups to let the user specify his intention to allow further error checks and optimizations based on a specific ASIC SAI implementation. ACL members being added to this group SHOULD be a subset of the bind point list that ACL group was created with.

Value Type:
sai_s32_list_t sai_acl_bind_point_type_t
Flags:
CREATE_ONLY
Default value:
empty
SAI_ACL_TABLE_GROUP_ATTR_TYPE 

ACL table group type.

ACL table group type represents the way various ACL tables within this ACL table group perform their lookups. There are two optional values: Sequential - All the ACL tables are looked up in a sequential order, which is based on the ACL table priorities and only one ACL entry is matched with its corresponding ACL entry action applied. In case two ACL tables have the same priority they are looked up on a first come basis. Parallel - All the ACL tables within the ACL table groups are looked up in parallel and non-conflicting actions are resolved and applied from multiple matched ACL entries (each from different ACL tables of this group). Conflicting actions are resolved based on the ACL table priorities.

Value Type:
sai_acl_table_group_type_t
Flags:
CREATE_ONLY
Default value:
SAI_ACL_TABLE_GROUP_TYPE_SEQUENTIAL
SAI_ACL_TABLE_GROUP_ATTR_MEMBER_LIST 

ACL table group members associated with this group.

Value Type:
sai_object_list_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE_GROUP_MEMBER
SAI_ACL_TABLE_GROUP_ATTR_CHAIN_GROUP_LIST 

ACL table sub groups associated with this group.

Value Type:
sai_object_list_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE_CHAIN_GROUP
SAI_ACL_TABLE_GROUP_ATTR_END 

End of attributes.

SAI_ACL_TABLE_GROUP_ATTR_CUSTOM_RANGE_START 

Custom range base value start.

SAI_ACL_TABLE_GROUP_ATTR_CUSTOM_RANGE_END 

End of Custom range base.

Definition at line 321 of file saiacl.h.

◆ _sai_acl_table_group_member_attr_t

Attribute Id for acl_table_group_member.

Enumerator
SAI_ACL_TABLE_GROUP_MEMBER_ATTR_START 

Start of attributes.

SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_GROUP_ID 

ACL table group id.

This attribute is required to associate or attach a member object (acl_table_id) to a ACL table group id allocated during create ACL group API.

User should always use the group id returned by SAI create_acl_group API, to group the tables else Invalid attribute value error code will be returned.

The ACL Table lookup could be done serially or in parallel. In both the cases there could be a need to group multiple tables so that only single ACL rule entry actions are performed in case of serial, or non-conflicting actions are resolved in case of parallel.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE_GROUP
SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_ID 

ACL table id.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE
SAI_ACL_TABLE_GROUP_MEMBER_ATTR_PRIORITY 

Priority.

Value must be in the range defined in [SAI_SWITCH_ATTR_ACL_TABLE_MINIMUM_PRIORITY, SAI_SWITCH_ATTR_ACL_TABLE_MAXIMUM_PRIORITY]

This priority attribute is valid for both SEQUENTIAL and PARALLEL type of ACL groups

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_ACL_TABLE_GROUP_MEMBER_ATTR_ACL_TABLE_CHAIN_GROUP_ID 

ACL table chain group id.

This attribute is required to associate or attach a member object (acl_table_id) to a ACL table chain group id allocated during create ACL table chain group API.

The ACL Table lookup could be done serially or in parallel within the chain group.

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_ACL_TABLE_CHAIN_GROUP
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
SAI_ACL_TABLE_GROUP_MEMBER_ATTR_END 

End of attributes.

SAI_ACL_TABLE_GROUP_MEMBER_ATTR_CUSTOM_RANGE_START 

Custom range base value start.

SAI_ACL_TABLE_GROUP_MEMBER_ATTR_CUSTOM_RANGE_END 

End of Custom range base.

Definition at line 468 of file saiacl.h.

◆ _sai_acl_table_group_type_t

Attribute data for SAI_ACL_TABLE_GROUP_ATTR_TYPE.

Enumerator
SAI_ACL_TABLE_GROUP_TYPE_SEQUENTIAL 

SEQUENTIAL

SAI_ACL_TABLE_GROUP_TYPE_PARALLEL 

PARALLEL

Definition at line 308 of file saiacl.h.