SAI Metadata
Loading...
Searching...
No Matches
SAI - Host Interface specific API definitions

Classes

struct  _sai_hostif_api_t
 Hostif methods table retrieved with sai_api_query() More...
 

Macros

#define SAI_HOSTIF_NAME_SIZE   16
 Defines maximum host interface name.
 
#define SAI_HOSTIF_GENETLINK_MCGRP_NAME_SIZE   16
 Defines maximum length of generic netlink multicast group name.
 

Typedefs

typedef enum _sai_hostif_trap_group_attr_t sai_hostif_trap_group_attr_t
 Host interface trap group attributes.
 
typedef sai_status_t(* sai_create_hostif_trap_group_fn) (_Out_ sai_object_id_t *hostif_trap_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create host interface trap group.
 
typedef sai_status_t(* sai_remove_hostif_trap_group_fn) (_In_ sai_object_id_t hostif_trap_group_id)
 Remove host interface trap group.
 
typedef sai_status_t(* sai_set_hostif_trap_group_attribute_fn) (_In_ sai_object_id_t hostif_trap_group_id, _In_ const sai_attribute_t *attr)
 Set host interface trap group attribute value.
 
typedef sai_status_t(* sai_get_hostif_trap_group_attribute_fn) (_In_ sai_object_id_t hostif_trap_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get host interface trap group attribute value.
 
typedef enum _sai_hostif_trap_type_t sai_hostif_trap_type_t
 Host interface trap type.
 
typedef enum _sai_hostif_trap_attr_t sai_hostif_trap_attr_t
 Host interface trap attributes.
 
typedef sai_status_t(* sai_create_hostif_trap_fn) (_Out_ sai_object_id_t *hostif_trap_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create host interface trap.
 
typedef sai_status_t(* sai_remove_hostif_trap_fn) (_In_ sai_object_id_t hostif_trap_id)
 Remove host interface trap.
 
typedef sai_status_t(* sai_set_hostif_trap_attribute_fn) (_In_ sai_object_id_t hostif_trap_id, _In_ const sai_attribute_t *attr)
 Set trap attribute value.
 
typedef sai_status_t(* sai_get_hostif_trap_attribute_fn) (_In_ sai_object_id_t hostif_trap_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get trap attribute value.
 
typedef enum _sai_hostif_user_defined_trap_type_t sai_hostif_user_defined_trap_type_t
 Host interface user defined trap type.
 
typedef enum _sai_hostif_user_defined_trap_attr_t sai_hostif_user_defined_trap_attr_t
 Host interface user defined trap attributes.
 
typedef sai_status_t(* sai_create_hostif_user_defined_trap_fn) (_Out_ sai_object_id_t *hostif_user_defined_trap_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create host interface user defined trap.
 
typedef sai_status_t(* sai_remove_hostif_user_defined_trap_fn) (_In_ sai_object_id_t hostif_user_defined_trap_id)
 Remove host interface user defined trap.
 
typedef sai_status_t(* sai_set_hostif_user_defined_trap_attribute_fn) (_In_ sai_object_id_t hostif_user_defined_trap_id, _In_ const sai_attribute_t *attr)
 Set user defined trap attribute value.
 
typedef sai_status_t(* sai_get_hostif_user_defined_trap_attribute_fn) (_In_ sai_object_id_t hostif_user_defined_trap_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get user defined trap attribute value.
 
typedef enum _sai_hostif_type_t sai_hostif_type_t
 Attribute data for SAI_HOSTIF_ATTR_TYPE.
 
typedef enum _sai_hostif_vlan_tag_t sai_hostif_vlan_tag_t
 Attribute data for SAI_HOSTIF_ATTR_VLAN_TAG.
 
typedef enum _sai_hostif_attr_t sai_hostif_attr_t
 Host interface attribute IDs.
 
typedef sai_status_t(* sai_create_hostif_fn) (_Out_ sai_object_id_t *hostif_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create host interface.
 
typedef sai_status_t(* sai_remove_hostif_fn) (_In_ sai_object_id_t hostif_id)
 Remove host interface.
 
typedef sai_status_t(* sai_set_hostif_attribute_fn) (_In_ sai_object_id_t hostif_id, _In_ const sai_attribute_t *attr)
 Set host interface attribute.
 
typedef sai_status_t(* sai_get_hostif_attribute_fn) (_In_ sai_object_id_t hostif_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get host interface attribute.
 
typedef enum _sai_hostif_table_entry_type_t sai_hostif_table_entry_type_t
 Attribute data for SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE.
 
typedef enum _sai_hostif_table_entry_channel_type_t sai_hostif_table_entry_channel_type_t
 Attribute data for SAI_HOSTIF_TABLE_ENTRY_ATTR_CHANNEL_TYPE.
 
typedef enum _sai_hostif_table_entry_attr_t sai_hostif_table_entry_attr_t
 Host interface table entry attribute IDs.
 
typedef sai_status_t(* sai_create_hostif_table_entry_fn) (_Out_ sai_object_id_t *hostif_table_entry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create host interface table entry.
 
typedef sai_status_t(* sai_remove_hostif_table_entry_fn) (_In_ sai_object_id_t hostif_table_entry_id)
 Remove host interface table entry.
 
typedef sai_status_t(* sai_set_hostif_table_entry_attribute_fn) (_In_ sai_object_id_t hostif_table_entry_id, _In_ const sai_attribute_t *attr)
 Set host interface table entry attribute.
 
typedef sai_status_t(* sai_get_hostif_table_entry_attribute_fn) (_In_ sai_object_id_t hostif_table_entry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get host interface table entry attribute.
 
typedef enum _sai_hostif_tx_type_t sai_hostif_tx_type_t
 Host interface TX type.
 
typedef enum _sai_hostif_packet_attr_t sai_hostif_packet_attr_t
 Host interface packet attributes.
 
typedef sai_status_t(* sai_recv_hostif_packet_fn) (_In_ sai_object_id_t hostif_id, _Inout_ sai_size_t *buffer_size, _Out_ void *buffer, _Inout_ uint32_t *attr_count, _Out_ sai_attribute_t *attr_list)
 Hostif receive function.
 
typedef sai_status_t(* sai_send_hostif_packet_fn) (_In_ sai_object_id_t hostif_id, _In_ sai_size_t buffer_size, _In_ const void *buffer, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Hostif send function.
 
typedef sai_status_t(* sai_allocate_hostif_packet_fn) (_In_ sai_object_id_t hostif_id, _In_ sai_size_t buffer_size, _Out_ void **buffer, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Hostif allocate function.
 
typedef sai_status_t(* sai_free_hostif_packet_fn) (_In_ sai_object_id_t hostif_id, _Inout_ void *buffer)
 Hostif free function.
 
typedef void(* sai_packet_event_notification_fn) (_In_ sai_object_id_t switch_id, _In_ sai_size_t buffer_size, _In_ const void *buffer, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Hostif receive callback.
 
typedef struct _sai_hostif_api_t sai_hostif_api_t
 Hostif methods table retrieved with sai_api_query()
 

Enumerations

enum  _sai_hostif_trap_group_attr_t {
  SAI_HOSTIF_TRAP_GROUP_ATTR_START , SAI_HOSTIF_TRAP_GROUP_ATTR_ADMIN_STATE = SAI_HOSTIF_TRAP_GROUP_ATTR_START , SAI_HOSTIF_TRAP_GROUP_ATTR_QUEUE , SAI_HOSTIF_TRAP_GROUP_ATTR_POLICER ,
  SAI_HOSTIF_TRAP_GROUP_ATTR_OBJECT_STAGE , SAI_HOSTIF_TRAP_GROUP_ATTR_END , SAI_HOSTIF_TRAP_GROUP_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_HOSTIF_TRAP_GROUP_ATTR_CUSTOM_RANGE_END
}
 Host interface trap group attributes. More...
 
enum  _sai_hostif_trap_type_t {
  SAI_HOSTIF_TRAP_TYPE_START = 0x00000000 , SAI_HOSTIF_TRAP_TYPE_STP = SAI_HOSTIF_TRAP_TYPE_START , SAI_HOSTIF_TRAP_TYPE_LACP = 0x00000001 , SAI_HOSTIF_TRAP_TYPE_EAPOL = 0x00000002 ,
  SAI_HOSTIF_TRAP_TYPE_LLDP = 0x00000003 , SAI_HOSTIF_TRAP_TYPE_PVRST = 0x00000004 , SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_QUERY = 0x00000005 , SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_LEAVE = 0x00000006 ,
  SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V1_REPORT = 0x00000007 , SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V2_REPORT = 0x00000008 , SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V3_REPORT = 0x00000009 , SAI_HOSTIF_TRAP_TYPE_SAMPLEPACKET = 0x0000000a ,
  SAI_HOSTIF_TRAP_TYPE_UDLD = 0x0000000b , SAI_HOSTIF_TRAP_TYPE_CDP = 0x0000000c , SAI_HOSTIF_TRAP_TYPE_VTP = 0x0000000d , SAI_HOSTIF_TRAP_TYPE_DTP = 0x0000000e ,
  SAI_HOSTIF_TRAP_TYPE_PAGP = 0x0000000f , SAI_HOSTIF_TRAP_TYPE_PTP = 0x00000010 , SAI_HOSTIF_TRAP_TYPE_PTP_TX_EVENT = 0x00000011 , SAI_HOSTIF_TRAP_TYPE_DHCP_L2 = 0x00000012 ,
  SAI_HOSTIF_TRAP_TYPE_DHCPV6_L2 = 0x00000013 , SAI_HOSTIF_TRAP_TYPE_SWITCH_CUSTOM_RANGE_BASE = 0x00001000 , SAI_HOSTIF_TRAP_TYPE_ARP_REQUEST = 0x00002000 , SAI_HOSTIF_TRAP_TYPE_ARP_RESPONSE = 0x00002001 ,
  SAI_HOSTIF_TRAP_TYPE_DHCP = 0x00002002 , SAI_HOSTIF_TRAP_TYPE_OSPF = 0x00002003 , SAI_HOSTIF_TRAP_TYPE_PIM = 0x00002004 , SAI_HOSTIF_TRAP_TYPE_VRRP = 0x00002005 ,
  SAI_HOSTIF_TRAP_TYPE_DHCPV6 = 0x00002006 , SAI_HOSTIF_TRAP_TYPE_OSPFV6 = 0x00002007 , SAI_HOSTIF_TRAP_TYPE_VRRPV6 = 0x00002008 , SAI_HOSTIF_TRAP_TYPE_IPV6_NEIGHBOR_DISCOVERY = 0x00002009 ,
  SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_V2 = 0x0000200a , SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_REPORT = 0x0000200b , SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_DONE = 0x0000200c , SAI_HOSTIF_TRAP_TYPE_MLD_V2_REPORT = 0x0000200d ,
  SAI_HOSTIF_TRAP_TYPE_UNKNOWN_L3_MULTICAST = 0x0000200e , SAI_HOSTIF_TRAP_TYPE_SNAT_MISS = 0x0000200f , SAI_HOSTIF_TRAP_TYPE_DNAT_MISS = 0x00002010 , SAI_HOSTIF_TRAP_TYPE_NAT_HAIRPIN = 0x00002011 ,
  SAI_HOSTIF_TRAP_TYPE_IPV6_NEIGHBOR_SOLICITATION = 0x00002012 , SAI_HOSTIF_TRAP_TYPE_IPV6_NEIGHBOR_ADVERTISEMENT = 0x00002013 , SAI_HOSTIF_TRAP_TYPE_ISIS = 0x00002014 , SAI_HOSTIF_TRAP_TYPE_ROUTER_CUSTOM_RANGE_BASE = 0x00003000 ,
  SAI_HOSTIF_TRAP_TYPE_IP2ME = 0x00004000 , SAI_HOSTIF_TRAP_TYPE_SSH = 0x00004001 , SAI_HOSTIF_TRAP_TYPE_SNMP = 0x00004002 , SAI_HOSTIF_TRAP_TYPE_BGP = 0x00004003 ,
  SAI_HOSTIF_TRAP_TYPE_BGPV6 = 0x00004004 , SAI_HOSTIF_TRAP_TYPE_BFD = 0x00004005 , SAI_HOSTIF_TRAP_TYPE_BFDV6 = 0x00004006 , SAI_HOSTIF_TRAP_TYPE_BFD_MICRO = 0x00004007 ,
  SAI_HOSTIF_TRAP_TYPE_BFDV6_MICRO = 0x00004008 , SAI_HOSTIF_TRAP_TYPE_LDP = 0x00004009 , SAI_HOSTIF_TRAP_TYPE_GNMI = 0x0000400a , SAI_HOSTIF_TRAP_TYPE_P4RT = 0x0000400b ,
  SAI_HOSTIF_TRAP_TYPE_NTPCLIENT = 0x0000400c , SAI_HOSTIF_TRAP_TYPE_NTPSERVER = 0x0000400d , SAI_HOSTIF_TRAP_TYPE_HTTPCLIENT = 0x0000400e , SAI_HOSTIF_TRAP_TYPE_HTTPSERVER = 0x0000400f ,
  SAI_HOSTIF_TRAP_TYPE_LOCAL_IP_CUSTOM_RANGE_BASE = 0x00005000 , SAI_HOSTIF_TRAP_TYPE_L3_MTU_ERROR = 0x00006000 , SAI_HOSTIF_TRAP_TYPE_TTL_ERROR = 0x00006001 , SAI_HOSTIF_TRAP_TYPE_STATIC_FDB_MOVE = 0x00006002 ,
  SAI_HOSTIF_TRAP_TYPE_PIPELINE_DISCARD_EGRESS_BUFFER = 0x00007000 , SAI_HOSTIF_TRAP_TYPE_PIPELINE_DISCARD_WRED = 0x00007001 , SAI_HOSTIF_TRAP_TYPE_PIPELINE_DISCARD_ROUTER = 0x00007002 , SAI_HOSTIF_TRAP_TYPE_MPLS_TTL_ERROR = 0x00008000 ,
  SAI_HOSTIF_TRAP_TYPE_MPLS_ROUTER_ALERT_LABEL = 0x00008001 , SAI_HOSTIF_TRAP_TYPE_MPLS_LABEL_LOOKUP_MISS = 0x00008002 , SAI_HOSTIF_TRAP_TYPE_CUSTOM_EXCEPTION_RANGE_BASE = 0x00009000 , SAI_HOSTIF_TRAP_TYPE_END = 0x0000a000
}
 Host interface trap type. More...
 
enum  _sai_hostif_trap_attr_t {
  SAI_HOSTIF_TRAP_ATTR_START , SAI_HOSTIF_TRAP_ATTR_TRAP_TYPE = SAI_HOSTIF_TRAP_ATTR_START , SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION , SAI_HOSTIF_TRAP_ATTR_TRAP_PRIORITY ,
  SAI_HOSTIF_TRAP_ATTR_EXCLUDE_PORT_LIST , SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP , SAI_HOSTIF_TRAP_ATTR_MIRROR_SESSION , SAI_HOSTIF_TRAP_ATTR_COUNTER_ID ,
  SAI_HOSTIF_TRAP_ATTR_END , SAI_HOSTIF_TRAP_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_HOSTIF_TRAP_ATTR_CUSTOM_RANGE_END
}
 Host interface trap attributes. More...
 
enum  _sai_hostif_user_defined_trap_type_t {
  SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_START = 0x00000000 , SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_ROUTER = SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_START , SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_NEIGHBOR , SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_NEIGH = SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_NEIGHBOR ,
  SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_ACL , SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_FDB , SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_INSEG_ENTRY , SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_CUSTOM_RANGE_BASE = 0x00001000 ,
  SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_END
}
 Host interface user defined trap type. More...
 
enum  _sai_hostif_user_defined_trap_attr_t {
  SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_START , SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_TYPE = SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_START , SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_TRAP_PRIORITY , SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_TRAP_GROUP ,
  SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_END , SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_CUSTOM_RANGE_END
}
 Host interface user defined trap attributes. More...
 
enum  _sai_hostif_type_t { SAI_HOSTIF_TYPE_NETDEV , SAI_HOSTIF_TYPE_FD , SAI_HOSTIF_TYPE_GENETLINK }
 Attribute data for SAI_HOSTIF_ATTR_TYPE. More...
 
enum  _sai_hostif_vlan_tag_t { SAI_HOSTIF_VLAN_TAG_STRIP , SAI_HOSTIF_VLAN_TAG_KEEP , SAI_HOSTIF_VLAN_TAG_ORIGINAL }
 Attribute data for SAI_HOSTIF_ATTR_VLAN_TAG. More...
 
enum  _sai_hostif_attr_t {
  SAI_HOSTIF_ATTR_START , SAI_HOSTIF_ATTR_TYPE = SAI_HOSTIF_ATTR_START , SAI_HOSTIF_ATTR_OBJ_ID , SAI_HOSTIF_ATTR_NAME ,
  SAI_HOSTIF_ATTR_OPER_STATUS , SAI_HOSTIF_ATTR_QUEUE , SAI_HOSTIF_ATTR_VLAN_TAG , SAI_HOSTIF_ATTR_GENETLINK_MCGRP_NAME ,
  SAI_HOSTIF_ATTR_END , SAI_HOSTIF_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_HOSTIF_ATTR_CUSTOM_RANGE_END
}
 Host interface attribute IDs. More...
 
enum  _sai_hostif_table_entry_type_t {
  SAI_HOSTIF_TABLE_ENTRY_TYPE_PORT , SAI_HOSTIF_TABLE_ENTRY_TYPE_LAG , SAI_HOSTIF_TABLE_ENTRY_TYPE_VLAN , SAI_HOSTIF_TABLE_ENTRY_TYPE_TRAP_ID ,
  SAI_HOSTIF_TABLE_ENTRY_TYPE_WILDCARD
}
 Attribute data for SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE. More...
 
enum  _sai_hostif_table_entry_channel_type_t {
  SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_CB , SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_FD , SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_NETDEV_PHYSICAL_PORT , SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_NETDEV_LOGICAL_PORT ,
  SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_NETDEV_L3 , SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_GENETLINK
}
 Attribute data for SAI_HOSTIF_TABLE_ENTRY_ATTR_CHANNEL_TYPE. More...
 
enum  _sai_hostif_table_entry_attr_t {
  SAI_HOSTIF_TABLE_ENTRY_ATTR_START , SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE = SAI_HOSTIF_TABLE_ENTRY_ATTR_START , SAI_HOSTIF_TABLE_ENTRY_ATTR_OBJ_ID , SAI_HOSTIF_TABLE_ENTRY_ATTR_TRAP_ID ,
  SAI_HOSTIF_TABLE_ENTRY_ATTR_CHANNEL_TYPE , SAI_HOSTIF_TABLE_ENTRY_ATTR_HOST_IF , SAI_HOSTIF_TABLE_ENTRY_ATTR_END , SAI_HOSTIF_TABLE_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_HOSTIF_TABLE_ENTRY_ATTR_CUSTOM_RANGE_END
}
 Host interface table entry attribute IDs. More...
 
enum  _sai_hostif_tx_type_t { SAI_HOSTIF_TX_TYPE_PIPELINE_BYPASS , SAI_HOSTIF_TX_TYPE_PIPELINE_LOOKUP , SAI_HOSTIF_TX_TYPE_CUSTOM_RANGE_BASE = 0x10000000 }
 Host interface TX type. More...
 
enum  _sai_hostif_packet_attr_t {
  SAI_HOSTIF_PACKET_ATTR_START , SAI_HOSTIF_PACKET_ATTR_HOSTIF_TRAP_ID = SAI_HOSTIF_PACKET_ATTR_START , SAI_HOSTIF_PACKET_ATTR_INGRESS_PORT , SAI_HOSTIF_PACKET_ATTR_INGRESS_LAG ,
  SAI_HOSTIF_PACKET_ATTR_HOSTIF_TX_TYPE , SAI_HOSTIF_PACKET_ATTR_EGRESS_PORT_OR_LAG , SAI_HOSTIF_PACKET_ATTR_BRIDGE_ID , SAI_HOSTIF_PACKET_ATTR_TIMESTAMP ,
  SAI_HOSTIF_PACKET_ATTR_EGRESS_QUEUE_INDEX , SAI_HOSTIF_PACKET_ATTR_ZERO_COPY_TX , SAI_HOSTIF_PACKET_ATTR_END , SAI_HOSTIF_PACKET_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_HOSTIF_PACKET_ATTR_CUSTOM_RANGE_END
}
 Host interface packet attributes. More...
 

Detailed Description

Macro Definition Documentation

◆ SAI_HOSTIF_GENETLINK_MCGRP_NAME_SIZE

#define SAI_HOSTIF_GENETLINK_MCGRP_NAME_SIZE   16

Defines maximum length of generic netlink multicast group name.

Definition at line 51 of file saihostif.h.

◆ SAI_HOSTIF_NAME_SIZE

#define SAI_HOSTIF_NAME_SIZE   16

Defines maximum host interface name.

Definition at line 46 of file saihostif.h.

Typedef Documentation

◆ sai_allocate_hostif_packet_fn

typedef sai_status_t(* sai_allocate_hostif_packet_fn) (_In_ sai_object_id_t hostif_id, _In_ sai_size_t buffer_size, _Out_ void **buffer, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Hostif allocate function.

Parameters
[in]hostif_idHost interface id. When sending through FD channel, fill SAI_OBJECT_TYPE_HOST_INTERFACE object, of type SAI_HOSTIF_TYPE_FD. When sending through CB channel, fill Switch Object ID, SAI_OBJECT_TYPE_SWITCH. On sending such packets (say via the sai_send_hostif_packet_fn) application should set SAI_HOSTIF_PACKET_ATTR_ZERO_COPY_TX attribute to true
[in]buffer_sizePacket size in bytes
[out]bufferPointer to Packet buffer
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1382 of file saihostif.h.

◆ sai_create_hostif_fn

typedef sai_status_t(* sai_create_hostif_fn) (_Out_ sai_object_id_t *hostif_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create host interface.

Parameters
[out]hostif_idHost interface 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 978 of file saihostif.h.

◆ sai_create_hostif_table_entry_fn

typedef sai_status_t(* sai_create_hostif_table_entry_fn) (_Out_ sai_object_id_t *hostif_table_entry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create host interface table entry.

Parameters
[out]hostif_table_entry_idHost interface table entry
[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 1150 of file saihostif.h.

◆ sai_create_hostif_trap_fn

typedef sai_status_t(* sai_create_hostif_trap_fn) (_Out_ sai_object_id_t *hostif_trap_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create host interface trap.

Parameters
[out]hostif_trap_idHost interface trap 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 628 of file saihostif.h.

◆ sai_create_hostif_trap_group_fn

typedef sai_status_t(* sai_create_hostif_trap_group_fn) (_Out_ sai_object_id_t *hostif_trap_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create host interface trap group.

Parameters
[out]hostif_trap_group_idHost interface trap group 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 124 of file saihostif.h.

◆ sai_create_hostif_user_defined_trap_fn

typedef sai_status_t(* sai_create_hostif_user_defined_trap_fn) (_Out_ sai_object_id_t *hostif_user_defined_trap_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create host interface user defined trap.

Parameters
[out]hostif_user_defined_trap_idHost interface user defined trap 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 778 of file saihostif.h.

◆ sai_free_hostif_packet_fn

typedef sai_status_t(* sai_free_hostif_packet_fn) (_In_ sai_object_id_t hostif_id, _Inout_ void *buffer)

Hostif free function.

Parameters
[in]hostif_idHost interface id. When sending through FD channel, fill SAI_OBJECT_TYPE_HOST_INTERFACE object, of type SAI_HOSTIF_TYPE_FD. When sending through CB channel, fill Switch Object ID, SAI_OBJECT_TYPE_SWITCH.
[in,out]bufferPacket buffer
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1399 of file saihostif.h.

◆ sai_get_hostif_attribute_fn

typedef sai_status_t(* sai_get_hostif_attribute_fn) (_In_ sai_object_id_t hostif_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get host interface attribute.

Parameters
[in]hostif_idHost interface 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 1015 of file saihostif.h.

◆ sai_get_hostif_table_entry_attribute_fn

typedef sai_status_t(* sai_get_hostif_table_entry_attribute_fn) (_In_ sai_object_id_t hostif_table_entry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get host interface table entry attribute.

Parameters
[in]hostif_table_entry_idHost interface table entry
[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 1187 of file saihostif.h.

◆ sai_get_hostif_trap_attribute_fn

typedef sai_status_t(* sai_get_hostif_trap_attribute_fn) (_In_ sai_object_id_t hostif_trap_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get trap attribute value.

Parameters
[in]hostif_trap_idHost interface trap 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 665 of file saihostif.h.

◆ sai_get_hostif_trap_group_attribute_fn

typedef sai_status_t(* sai_get_hostif_trap_group_attribute_fn) (_In_ sai_object_id_t hostif_trap_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get host interface trap group attribute value.

Parameters
[in]hostif_trap_group_idHost interface trap 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 161 of file saihostif.h.

◆ sai_get_hostif_user_defined_trap_attribute_fn

typedef sai_status_t(* sai_get_hostif_user_defined_trap_attribute_fn) (_In_ sai_object_id_t hostif_user_defined_trap_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get user defined trap attribute value.

Parameters
[in]hostif_user_defined_trap_idHost interface user defined trap 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 815 of file saihostif.h.

◆ sai_hostif_trap_type_t

Host interface trap type.

Flags:
ranges

◆ sai_hostif_user_defined_trap_type_t

Host interface user defined trap type.

User defined traps action is controlled by the referencing object. For example, ACL entry with packet action trap and user trap object ID

◆ sai_packet_event_notification_fn

typedef void(* sai_packet_event_notification_fn) (_In_ sai_object_id_t switch_id, _In_ sai_size_t buffer_size, _In_ const void *buffer, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Hostif receive callback.

Count:
attr_list[attr_count]
Count:
buffer[buffer_size]
Allowed object types
attr_list SAI_OBJECT_TYPE_HOSTIF_PACKET
Allowed object types
switch_id SAI_OBJECT_TYPE_SWITCH
Parameters
[in]switch_idSwitch Object ID
[in]buffer_sizeActual packet size in bytes
[in]bufferPacket buffer
[in]attr_countNumber of attributes
[in]attr_listArray of attributes

Definition at line 1417 of file saihostif.h.

◆ sai_recv_hostif_packet_fn

typedef sai_status_t(* sai_recv_hostif_packet_fn) (_In_ sai_object_id_t hostif_id, _Inout_ sai_size_t *buffer_size, _Out_ void *buffer, _Inout_ uint32_t *attr_count, _Out_ sai_attribute_t *attr_list)

Hostif receive function.

Parameters
[in]hostif_idHost interface id
[in,out]buffer_sizeAllocated buffer size [in], Actual packet size in bytes [out]
[out]bufferPacket buffer
[in,out]attr_countAllocated list size [in], Number of attributes [out]
[out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success SAI_STATUS_BUFFER_OVERFLOW if buffer_size is insufficient, and buffer_size will be filled with required size. Or if attr_count is insufficient, and attr_count will be filled with required count. Failure status code on error

Definition at line 1340 of file saihostif.h.

◆ sai_remove_hostif_fn

typedef sai_status_t(* sai_remove_hostif_fn) (_In_ sai_object_id_t hostif_id)

Remove host interface.

Parameters
[in]hostif_idHost interface id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 991 of file saihostif.h.

◆ sai_remove_hostif_table_entry_fn

typedef sai_status_t(* sai_remove_hostif_table_entry_fn) (_In_ sai_object_id_t hostif_table_entry_id)

Remove host interface table entry.

Parameters
[in]hostif_table_entry_idHost interface table entry
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1163 of file saihostif.h.

◆ sai_remove_hostif_trap_fn

typedef sai_status_t(* sai_remove_hostif_trap_fn) (_In_ sai_object_id_t hostif_trap_id)

Remove host interface trap.

Parameters
[in]hostif_trap_idHost interface trap id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 641 of file saihostif.h.

◆ sai_remove_hostif_trap_group_fn

typedef sai_status_t(* sai_remove_hostif_trap_group_fn) (_In_ sai_object_id_t hostif_trap_group_id)

Remove host interface trap group.

Parameters
[in]hostif_trap_group_idHost interface trap group id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 137 of file saihostif.h.

◆ sai_remove_hostif_user_defined_trap_fn

typedef sai_status_t(* sai_remove_hostif_user_defined_trap_fn) (_In_ sai_object_id_t hostif_user_defined_trap_id)

Remove host interface user defined trap.

Parameters
[in]hostif_user_defined_trap_idHost interface user defined trap id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 791 of file saihostif.h.

◆ sai_send_hostif_packet_fn

typedef sai_status_t(* sai_send_hostif_packet_fn) (_In_ sai_object_id_t hostif_id, _In_ sai_size_t buffer_size, _In_ const void *buffer, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Hostif send function.

Parameters
[in]hostif_idHost interface id. When sending through FD channel, fill SAI_OBJECT_TYPE_HOST_INTERFACE object, of type SAI_HOSTIF_TYPE_FD. When sending through CB channel, fill Switch Object ID, SAI_OBJECT_TYPE_SWITCH.
[in]buffer_sizePacket size in bytes
[in]bufferPacket buffer
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1360 of file saihostif.h.

◆ sai_set_hostif_attribute_fn

typedef sai_status_t(* sai_set_hostif_attribute_fn) (_In_ sai_object_id_t hostif_id, _In_ const sai_attribute_t *attr)

Set host interface attribute.

Parameters
[in]hostif_idHost interface id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1002 of file saihostif.h.

◆ sai_set_hostif_table_entry_attribute_fn

typedef sai_status_t(* sai_set_hostif_table_entry_attribute_fn) (_In_ sai_object_id_t hostif_table_entry_id, _In_ const sai_attribute_t *attr)

Set host interface table entry attribute.

Parameters
[in]hostif_table_entry_idHost interface table entry
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1174 of file saihostif.h.

◆ sai_set_hostif_trap_attribute_fn

typedef sai_status_t(* sai_set_hostif_trap_attribute_fn) (_In_ sai_object_id_t hostif_trap_id, _In_ const sai_attribute_t *attr)

Set trap attribute value.

Parameters
[in]hostif_trap_idHost interface trap id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 652 of file saihostif.h.

◆ sai_set_hostif_trap_group_attribute_fn

typedef sai_status_t(* sai_set_hostif_trap_group_attribute_fn) (_In_ sai_object_id_t hostif_trap_group_id, _In_ const sai_attribute_t *attr)

Set host interface trap group attribute value.

Parameters
[in]hostif_trap_group_idHost interface trap group id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 148 of file saihostif.h.

◆ sai_set_hostif_user_defined_trap_attribute_fn

typedef sai_status_t(* sai_set_hostif_user_defined_trap_attribute_fn) (_In_ sai_object_id_t hostif_user_defined_trap_id, _In_ const sai_attribute_t *attr)

Set user defined trap attribute value.

Parameters
[in]hostif_user_defined_trap_idHost interface user defined trap id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 802 of file saihostif.h.

Enumeration Type Documentation

◆ _sai_hostif_attr_t

Host interface attribute IDs.

Enumerator
SAI_HOSTIF_ATTR_START 

Start of attributes.

SAI_HOSTIF_ATTR_TYPE 

Host interface type.

Value Type:
sai_hostif_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_HOSTIF_ATTR_OBJ_ID 

Host interface object ID.

Port netdev will be created when object type is SAI_OBJECT_TYPE_PORT LAG netdev will be created when object type is SAI_OBJECT_TYPE_LAG VLAN netdev will be created when object type is SAI_OBJECT_TYPE_VLAN System Port netdev will be created when object type is SAI_OBJECT_TYPE_SYSTEM_PORT

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_LAG, SAI_OBJECT_TYPE_VLAN, SAI_OBJECT_TYPE_SYSTEM_PORT
Condition:
SAI_HOSTIF_ATTR_TYPE == SAI_HOSTIF_TYPE_NETDEV
SAI_HOSTIF_ATTR_NAME 

Name [char[SAI_HOSTIF_NAME_SIZE]].

The maximum number of characters for the name is SAI_HOSTIF_NAME_SIZE - 1 since it needs the terminating null byte ('\0') at the end.

If Hostif is a generic netlink, this indicates the generic netlink family name.

Value Type:
char
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_HOSTIF_ATTR_TYPE == SAI_HOSTIF_TYPE_NETDEV or SAI_HOSTIF_ATTR_TYPE == SAI_HOSTIF_TYPE_GENETLINK
SAI_HOSTIF_ATTR_OPER_STATUS 

Set the operational status for this host interface.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_HOSTIF_ATTR_QUEUE 

Set the queue index to be used for packets going out through this interface.

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

Strip/keep vlan tag for received packet.

Value Type:
sai_hostif_vlan_tag_t
Flags:
CREATE_AND_SET
Default value:
SAI_HOSTIF_VLAN_TAG_STRIP
Valid only when:
SAI_HOSTIF_ATTR_TYPE == SAI_HOSTIF_TYPE_NETDEV
SAI_HOSTIF_ATTR_GENETLINK_MCGRP_NAME 

Name [char[SAI_HOSTIF_GENETLINK_MCGRP_NAME_SIZE]].

The maximum number of characters for the name is SAI_HOSTIF_GENETLINK_MCGRP_NAME_SIZE - 1 Set the Generic netlink multicast group name on which the packets/buffers are received on this host interface

Value Type:
char
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_HOSTIF_ATTR_TYPE == SAI_HOSTIF_TYPE_GENETLINK
SAI_HOSTIF_ATTR_END 

End of attributes.

SAI_HOSTIF_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_HOSTIF_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 870 of file saihostif.h.

◆ _sai_hostif_packet_attr_t

Host interface packet attributes.

Enumerator
SAI_HOSTIF_PACKET_ATTR_START 

Start of attributes.

SAI_HOSTIF_PACKET_ATTR_HOSTIF_TRAP_ID 

Trap ID (for receive-only)

Value Type:
sai_object_id_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_HOSTIF_TRAP, SAI_OBJECT_TYPE_HOSTIF_USER_DEFINED_TRAP
SAI_HOSTIF_PACKET_ATTR_INGRESS_PORT 

Ingress port (for receive-only)

Value Type:
sai_object_id_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_PORT
SAI_HOSTIF_PACKET_ATTR_INGRESS_LAG 

Ingress LAG (for receive-only)

Value Type:
sai_object_id_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_LAG
SAI_HOSTIF_PACKET_ATTR_HOSTIF_TX_TYPE 

Packet transmit type. (MANDATORY_ON_SEND)

Value Type:
sai_hostif_tx_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_HOSTIF_PACKET_ATTR_EGRESS_PORT_OR_LAG 

Egress port.

For receive case, filled with the egress destination port for unicast packets. Egress LAG member port id to be filled for the LAG destination case. Applicable for use-case like samplepacket traps or PTP TX event

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_PORT
Condition:
SAI_HOSTIF_PACKET_ATTR_HOSTIF_TX_TYPE == SAI_HOSTIF_TX_TYPE_PIPELINE_BYPASS
SAI_HOSTIF_PACKET_ATTR_BRIDGE_ID 

Bridge ID (for receive-only)

The .1D or .1Q bridge on which the packet was received.

Value Type:
sai_object_id_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_BRIDGE
SAI_HOSTIF_PACKET_ATTR_TIMESTAMP 

Timestamp.

The timestamp on which the packet was received, or sent for PTP TX event.

Value Type:
sai_timespec_t
Flags:
READ_ONLY
SAI_HOSTIF_PACKET_ATTR_EGRESS_QUEUE_INDEX 

Egress queue index.

The egress queue id for egress port or LAG.

Value Type:
sai_uint8_t
Flags:
CREATE_ONLY
Default value:
0
SAI_HOSTIF_PACKET_ATTR_ZERO_COPY_TX 

Flag to convey that buffer passed to sai_send_hostif_packet_fn can be used directly and does not need to be copied over.

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

End of attributes.

SAI_HOSTIF_PACKET_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_HOSTIF_PACKET_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 1214 of file saihostif.h.

◆ _sai_hostif_table_entry_attr_t

Host interface table entry attribute IDs.

Enumerator
SAI_HOSTIF_TABLE_ENTRY_ATTR_START 

Start of attributes.

SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE 

Host interface table entry type.

Value Type:
sai_hostif_table_entry_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_HOSTIF_TABLE_ENTRY_ATTR_OBJ_ID 

Host interface table entry match field object-id.

Should be port object when type is SAI_HOSTIF_TABLE_ENTRY_TYPE_PORT. Should be LAG object when type is SAI_HOSTIF_TABLE_ENTRY_TYPE_LAG. Should be VLAN ID object when type is SAI_HOSTIF_TABLE_ENTRY_TYPE_VLAN.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_LAG, SAI_OBJECT_TYPE_ROUTER_INTERFACE
Condition:
SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE == SAI_HOSTIF_TABLE_ENTRY_TYPE_PORT or SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE == SAI_HOSTIF_TABLE_ENTRY_TYPE_VLAN or SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE == SAI_HOSTIF_TABLE_ENTRY_TYPE_LAG
SAI_HOSTIF_TABLE_ENTRY_ATTR_TRAP_ID 

Host interface table entry match field trap-id.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_HOSTIF_TRAP, SAI_OBJECT_TYPE_HOSTIF_USER_DEFINED_TRAP
Condition:
SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE == SAI_HOSTIF_TABLE_ENTRY_TYPE_PORT or SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE == SAI_HOSTIF_TABLE_ENTRY_TYPE_VLAN or SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE == SAI_HOSTIF_TABLE_ENTRY_TYPE_LAG or SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE == SAI_HOSTIF_TABLE_ENTRY_TYPE_TRAP_ID
SAI_HOSTIF_TABLE_ENTRY_ATTR_CHANNEL_TYPE 

Host interface table entry action channel.

Value Type:
sai_hostif_table_entry_channel_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_HOSTIF_TABLE_ENTRY_ATTR_HOST_IF 

Host interface table entry action target host interface object.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_HOSTIF
Condition:
SAI_HOSTIF_TABLE_ENTRY_ATTR_CHANNEL_TYPE == SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_FD or SAI_HOSTIF_TABLE_ENTRY_ATTR_CHANNEL_TYPE == SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_GENETLINK
SAI_HOSTIF_TABLE_ENTRY_ATTR_END 

End of attributes.

SAI_HOSTIF_TABLE_ENTRY_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_HOSTIF_TABLE_ENTRY_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 1070 of file saihostif.h.

◆ _sai_hostif_table_entry_channel_type_t

Attribute data for SAI_HOSTIF_TABLE_ENTRY_ATTR_CHANNEL_TYPE.

Enumerator
SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_CB 

Receive packets via callback

SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_FD 

Receive packets via file descriptor

SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_NETDEV_PHYSICAL_PORT 

Receive packets via Linux netdev type port

SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_NETDEV_LOGICAL_PORT 

Receive packets via Linux netdev logical port (LAG or port)

SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_NETDEV_L3 

Receive packets via Linux netdev L3 interface

SAI_HOSTIF_TABLE_ENTRY_CHANNEL_TYPE_GENETLINK 

Receive packets via Linux generic netlink interface

Definition at line 1045 of file saihostif.h.

◆ _sai_hostif_table_entry_type_t

Attribute data for SAI_HOSTIF_TABLE_ENTRY_ATTR_TYPE.

Enumerator
SAI_HOSTIF_TABLE_ENTRY_TYPE_PORT 

Port-based Host Interface entry Type

SAI_HOSTIF_TABLE_ENTRY_TYPE_LAG 

LAG based Host Interface entry Type

SAI_HOSTIF_TABLE_ENTRY_TYPE_VLAN 

Vlan based Host Interface entry Type

SAI_HOSTIF_TABLE_ENTRY_TYPE_TRAP_ID 

Wildcard Interface entry Type

SAI_HOSTIF_TABLE_ENTRY_TYPE_WILDCARD 

Wildcard Interface, wildcard trap id

Definition at line 1023 of file saihostif.h.

◆ _sai_hostif_trap_attr_t

Host interface trap attributes.

Enumerator
SAI_HOSTIF_TRAP_ATTR_START 

Start of attributes.

SAI_HOSTIF_TRAP_ATTR_TRAP_TYPE 

Host interface trap type.

Value Type:
sai_hostif_trap_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY | KEY
SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION 

Trap action.

Value Type:
sai_packet_action_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_HOSTIF_TRAP_ATTR_TRAP_PRIORITY 

Trap priority.

This is equivalent to ACL entry priority SAI_ACL_ENTRY_ATTR_PRIORITY.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
attrvalue SAI_SWITCH_ATTR_ACL_ENTRY_MINIMUM_PRIORITY
Valid only when:
SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION == SAI_PACKET_ACTION_TRAP or SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION == SAI_PACKET_ACTION_COPY
SAI_HOSTIF_TRAP_ATTR_EXCLUDE_PORT_LIST 

List of SAI ports to be excluded (disabled) from the trap generation.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT
Default value:
empty
Valid only when:
SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION == SAI_PACKET_ACTION_TRAP or SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION == SAI_PACKET_ACTION_COPY
SAI_HOSTIF_TRAP_ATTR_TRAP_GROUP 

Trap group ID for the trap.

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP
Default value:
attrvalue SAI_SWITCH_ATTR_DEFAULT_TRAP_GROUP
Valid only when:
SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION == SAI_PACKET_ACTION_TRAP or SAI_HOSTIF_TRAP_ATTR_PACKET_ACTION == SAI_PACKET_ACTION_COPY
SAI_HOSTIF_TRAP_ATTR_MIRROR_SESSION 

Mirror session for the trap.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_MIRROR_SESSION
Default value:
empty
SAI_HOSTIF_TRAP_ATTR_COUNTER_ID 

Attach a counter.

When it is empty, then packet hits won't be counted

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

End of attributes.

SAI_HOSTIF_TRAP_ATTR_CUSTOM_RANGE_START 

Custom range start

SAI_HOSTIF_TRAP_ATTR_CUSTOM_RANGE_END 

Custom range end

Definition at line 525 of file saihostif.h.

◆ _sai_hostif_trap_group_attr_t

Host interface trap group attributes.

Enumerator
SAI_HOSTIF_TRAP_GROUP_ATTR_START 

Start of attributes.

SAI_HOSTIF_TRAP_GROUP_ATTR_ADMIN_STATE 

Admin Mode.

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

CPU egress queue.

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

SAI policer object id.

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

Hostif trap group object stage.

Value Type:
sai_object_stage_t
Flags:
CREATE_ONLY
Default value:
SAI_OBJECT_STAGE_BOTH
SAI_HOSTIF_TRAP_GROUP_ATTR_END 

End of attributes.

SAI_HOSTIF_TRAP_GROUP_ATTR_CUSTOM_RANGE_START 

Start of custom range base

SAI_HOSTIF_TRAP_GROUP_ATTR_CUSTOM_RANGE_END 

End of custom range

Definition at line 56 of file saihostif.h.

◆ _sai_hostif_trap_type_t

Host interface trap type.

Flags:
ranges
Enumerator
SAI_HOSTIF_TRAP_TYPE_START 

Start of trap types.

SAI_HOSTIF_TRAP_TYPE_STP 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_LACP 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_EAPOL 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_LLDP 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_PVRST 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_QUERY 

Default action is forward

SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_LEAVE 

Default action is forward

SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V1_REPORT 

Default action is forward

SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V2_REPORT 

Default action is forward

SAI_HOSTIF_TRAP_TYPE_IGMP_TYPE_V3_REPORT 

Default action is forward

SAI_HOSTIF_TRAP_TYPE_SAMPLEPACKET 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_UDLD 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_CDP 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_VTP 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_DTP 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_PAGP 

Default action is drop

SAI_HOSTIF_TRAP_TYPE_PTP 

PTP traffic (EtherType = 0x88F7 or UDP dst port == 319 or UDP dst port == 320) (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_PTP_TX_EVENT 

PTP packet sent from CPU with updated TX timestamp (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_DHCP_L2 

DHCP traffic (UDP ports 67, 68) (default packet action is forward)

SAI_HOSTIF_TRAP_TYPE_DHCPV6_L2 

DHCPV6 traffic (UDP ports 546, 547) (default packet action is forward)

SAI_HOSTIF_TRAP_TYPE_SWITCH_CUSTOM_RANGE_BASE 

Switch traps custom range start

SAI_HOSTIF_TRAP_TYPE_ARP_REQUEST 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_ARP_RESPONSE 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_DHCP 

DHCP traffic (UDP ports 67, 68), either L3 broadcast or unicast to local router IP address (default packet action is forward)

SAI_HOSTIF_TRAP_TYPE_OSPF 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_PIM 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_VRRP 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_DHCPV6 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_OSPFV6 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_VRRPV6 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_IPV6_NEIGHBOR_DISCOVERY 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_V2 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_REPORT 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_IPV6_MLD_V1_DONE 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_MLD_V2_REPORT 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_UNKNOWN_L3_MULTICAST 

Unknown L3 multicast packets (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_SNAT_MISS 

Source NAT miss packets (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_DNAT_MISS 

Destination NAT miss packets (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_NAT_HAIRPIN 

NAT hairpin packets (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_IPV6_NEIGHBOR_SOLICITATION 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_IPV6_NEIGHBOR_ADVERTISEMENT 

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_ISIS 

Intermediate System-to-Intermediate System (IS-IS) protocol.

Traffic: L1 IS: 01:80:c2:00:00:14, All Level 1 Intermediate Systems Address L2 IS: 01:80:c2:00:00:15, All Level 2 Intermediate Systems Address All IS: 09:00:2b:00:00:05, All Intermediate System Network Entities address

Default packet action is forward

SAI_HOSTIF_TRAP_TYPE_ROUTER_CUSTOM_RANGE_BASE 

Router traps custom range start

SAI_HOSTIF_TRAP_TYPE_IP2ME 

IP packets to local router IP address (routes with SAI_ROUTE_ENTRY_ATTR_NEXT_HOP_ID = SAI_SWITCH_ATTR_CPU_PORT) (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_SSH 

SSH traffic (TCP dst port == 22) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_SNMP 

SNMP traffic (UDP dst port == 161) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_BGP 

BGP traffic (TCP src port == 179 or TCP dst port == 179) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_BGPV6 

BGPv6 traffic (TCP src port == 179 or TCP dst port == 179) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_BFD 

BFD traffic (UDP dst port == 3784 or UDP dst port == 4784) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_BFDV6 

BFDV6 traffic (UDP dst port == 3784 or UDP dst port == 4784) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_BFD_MICRO 

Micro BFD traffic (UDP dst port == 6784) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_BFDV6_MICRO 

Micro BFDV6 traffic (UDP dst port == 6784) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_LDP 

LDP traffic (TCP src port == 646 or TCP dst port == 646) to local router IP address or, (UDP dst port == 646) to the 'all routers on this subnet' group multicast address (224.0.0.2) (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_GNMI 

GNMI traffic (TCP dst port == 9339) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_P4RT 

P4RT traffic (TCP dst port == 9559) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_NTPCLIENT 

NTPCLIENT traffic (UDP/TCP src port == 123) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_NTPSERVER 

NTPSERVER traffic (UDP/TCP dst port == 123) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_HTTPCLIENT 

HTTPCLIENT traffic (TCP src port == 80) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_HTTPSERVER 

HTTPSERVER traffic (TCP dst port == 80) to local router IP address (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_LOCAL_IP_CUSTOM_RANGE_BASE 

Local IP traps custom range start

SAI_HOSTIF_TRAP_TYPE_L3_MTU_ERROR 

Packets size exceeds the router interface MTU size (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_TTL_ERROR 

Packets with TTL 0 or 1 (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_STATIC_FDB_MOVE 

Packets trapped when station move is observed with static FDB entry (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_PIPELINE_DISCARD_EGRESS_BUFFER 

Packets discarded due to egress buffer full (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_PIPELINE_DISCARD_WRED 

Packets discarded by WRED (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_PIPELINE_DISCARD_ROUTER 

Packets discarded due to router causes, such as header checksum, router interface is down, matching a route with drop action (black holes), etc. (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_MPLS_TTL_ERROR 

MPLS packets with expiring TTL value of 1 (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_MPLS_ROUTER_ALERT_LABEL 

MPLS packet with router alert label (default packet action is forward)

SAI_HOSTIF_TRAP_TYPE_MPLS_LABEL_LOOKUP_MISS 

MPLS packets discarded due to label lookup miss (default packet action is drop)

SAI_HOSTIF_TRAP_TYPE_CUSTOM_EXCEPTION_RANGE_BASE 

Exception traps custom range start

SAI_HOSTIF_TRAP_TYPE_END 

End of trap types.

Definition at line 171 of file saihostif.h.

◆ _sai_hostif_tx_type_t

Host interface TX type.

Enumerator
SAI_HOSTIF_TX_TYPE_PIPELINE_BYPASS 

Bypass switch ASIC processing pipeline, tx packet goes to the specified output port directly.

SAI_HOSTIF_TX_TYPE_PIPELINE_LOOKUP 

TX packet goes to the switch ASIC processing pipeline to decide the output port

SAI_HOSTIF_TX_TYPE_CUSTOM_RANGE_BASE 

Custom range base

Definition at line 1195 of file saihostif.h.

◆ _sai_hostif_type_t

Attribute data for SAI_HOSTIF_ATTR_TYPE.

Enumerator
SAI_HOSTIF_TYPE_NETDEV 

Netdevice

SAI_HOSTIF_TYPE_FD 

File descriptor

SAI_HOSTIF_TYPE_GENETLINK 

Generic netlink

Definition at line 823 of file saihostif.h.

◆ _sai_hostif_user_defined_trap_attr_t

Host interface user defined trap attributes.

Enumerator
SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_START 

Start of attributes.

SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_TYPE 

Host interface user defined trap type.

It is valid to create multiple instances of the same user defined type

Value Type:
sai_hostif_user_defined_trap_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_TRAP_PRIORITY 

Trap priority. This is equivalent to ACL entry priority SAI_ACL_ENTRY_ATTR_PRIORITY.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
attrvalue SAI_SWITCH_ATTR_ACL_ENTRY_MINIMUM_PRIORITY
SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_TRAP_GROUP 

Trap group ID for the trap.

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_HOSTIF_TRAP_GROUP
Default value:
attrvalue SAI_SWITCH_ATTR_DEFAULT_TRAP_GROUP
SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_END 

End of attributes.

SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_CUSTOM_RANGE_START 

Custom range start

SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_CUSTOM_RANGE_END 

Custom range end

Definition at line 718 of file saihostif.h.

◆ _sai_hostif_user_defined_trap_type_t

Host interface user defined trap type.

User defined traps action is controlled by the referencing object. For example, ACL entry with packet action trap and user trap object ID

Enumerator
SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_START 

Start of user defined trap types.

SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_ROUTER 

Router traps

SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_NEIGHBOR 

Neighbor table traps.

Generated by neighbor table entry hit with action trap/log, or by neighbor table miss

SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_NEIGH 
Ignored:
- for backward compatibility
SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_ACL 

ACL traps

SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_FDB 

FDB traps

SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_INSEG_ENTRY 

In Segment Entry traps

SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_CUSTOM_RANGE_BASE 

Custom range base

SAI_HOSTIF_USER_DEFINED_TRAP_TYPE_END 

End of user defined trap types.

Definition at line 676 of file saihostif.h.

◆ _sai_hostif_vlan_tag_t

Attribute data for SAI_HOSTIF_ATTR_VLAN_TAG.

Enumerator
SAI_HOSTIF_VLAN_TAG_STRIP 

Strip vlan tag Strip vlan tag from the incoming packet when delivering the packet to host interface.

SAI_HOSTIF_VLAN_TAG_KEEP 

Keep vlan tag. When incoming packet is untagged, add PVID tag to the packet when delivering the packet to host interface.

SAI_HOSTIF_VLAN_TAG_ORIGINAL 

Keep the packet same as the incoming packet.

The packet delivered to host interface is the same as the original packet. When the host interface is PORT and LAG, the packet delivered to host interface is the same as the original packet seen by the PORT and LAG. When the host interface is VLAN, the packet delivered to host interface will not have tag.

Definition at line 839 of file saihostif.h.