SAI Metadata
Loading...
Searching...
No Matches
saiacl.h File Reference

This module defines SAI ACL interface. More...

#include <saitypes.h>

Go to the source code of this file.

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

This module defines SAI ACL interface.

Copyright (c) 2014 Microsoft Open Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

THIS CODE IS PROVIDED ON AN AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT.

See the Apache Version 2.0 License for specific language governing permissions and limitations under the License.

Microsoft would like to thank the following companies for their review and assistance with these files: Intel Corporation, Mellanox Technologies Ltd, Dell Products, L.P., Facebook, Inc., Marvell International Ltd.

Definition in file saiacl.h.