SAI Metadata
Loading...
Searching...
No Matches
SAI - Next hop specific API definitions

Classes

struct  _sai_tunnel_api_t
 Tunnel methods table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_tunnel_map_type_t sai_tunnel_map_type_t
 Enum defining tunnel map types.
 
typedef enum _sai_tunnel_map_entry_attr_t sai_tunnel_map_entry_attr_t
 
typedef enum _sai_tunnel_map_attr_t sai_tunnel_map_attr_t
 Defines tunnel map attributes.
 
typedef sai_status_t(* sai_create_tunnel_map_fn) (_Out_ sai_object_id_t *tunnel_map_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create tunnel Map.
 
typedef sai_status_t(* sai_remove_tunnel_map_fn) (_In_ sai_object_id_t tunnel_map_id)
 Remove tunnel Map.
 
typedef sai_status_t(* sai_set_tunnel_map_attribute_fn) (_In_ sai_object_id_t tunnel_map_id, _In_ const sai_attribute_t *attr)
 Set attributes for tunnel map.
 
typedef sai_status_t(* sai_get_tunnel_map_attribute_fn) (_In_ sai_object_id_t tunnel_map_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get attributes of tunnel map.
 
typedef enum _sai_tunnel_ttl_mode_t sai_tunnel_ttl_mode_t
 Defines tunnel TTL mode.
 
typedef enum _sai_tunnel_dscp_mode_t sai_tunnel_dscp_mode_t
 Defines tunnel DSCP mode.
 
typedef enum _sai_tunnel_peer_mode_t sai_tunnel_peer_mode_t
 Defines tunnel peer mode.
 
typedef enum _sai_tunnel_attr_t sai_tunnel_attr_t
 Defines tunnel attributes.
 
typedef enum _sai_tunnel_stat_t sai_tunnel_stat_t
 Tunnel counter IDs in sai_get_tunnel_stats() call.
 
typedef sai_status_t(* sai_create_tunnel_fn) (_Out_ sai_object_id_t *tunnel_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create tunnel.
 
typedef sai_status_t(* sai_remove_tunnel_fn) (_In_ sai_object_id_t tunnel_id)
 Remove tunnel.
 
typedef sai_status_t(* sai_set_tunnel_attribute_fn) (_In_ sai_object_id_t tunnel_id, _In_ const sai_attribute_t *attr)
 Set tunnel attribute.
 
typedef sai_status_t(* sai_get_tunnel_attribute_fn) (_In_ sai_object_id_t tunnel_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get tunnel attributes.
 
typedef sai_status_t(* sai_get_tunnel_stats_fn) (_In_ sai_object_id_t tunnel_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
 Get tunnel statistics counters. Deprecated for backward compatibility.
 
typedef sai_status_t(* sai_get_tunnel_stats_ext_fn) (_In_ sai_object_id_t tunnel_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters)
 Get tunnel statistics counters extended.
 
typedef sai_status_t(* sai_clear_tunnel_stats_fn) (_In_ sai_object_id_t tunnel_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
 Clear tunnel statistics counters.
 
typedef enum _sai_tunnel_term_table_entry_type_t sai_tunnel_term_table_entry_type_t
 Defines tunnel termination table entry type.
 
typedef enum _sai_tunnel_term_table_entry_attr_t sai_tunnel_term_table_entry_attr_t
 Defines tunnel termination table entry attributes.
 
typedef sai_status_t(* sai_create_tunnel_term_table_entry_fn) (_Out_ sai_object_id_t *tunnel_term_table_entry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create tunnel termination table entry.
 
typedef sai_status_t(* sai_remove_tunnel_term_table_entry_fn) (_In_ sai_object_id_t tunnel_term_table_entry_id)
 Remove tunnel termination table entry.
 
typedef sai_status_t(* sai_set_tunnel_term_table_entry_attribute_fn) (_In_ sai_object_id_t tunnel_term_table_entry_id, _In_ const sai_attribute_t *attr)
 Set tunnel termination table entry attribute.
 
typedef sai_status_t(* sai_get_tunnel_term_table_entry_attribute_fn) (_In_ sai_object_id_t tunnel_term_table_entry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get tunnel termination table entry attributes.
 
typedef sai_status_t(* sai_create_tunnel_map_entry_fn) (_Out_ sai_object_id_t *tunnel_map_entry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create tunnel map item.
 
typedef sai_status_t(* sai_remove_tunnel_map_entry_fn) (_In_ sai_object_id_t tunnel_map_entry_id)
 Remove tunnel map item.
 
typedef sai_status_t(* sai_set_tunnel_map_entry_attribute_fn) (_In_ sai_object_id_t tunnel_map_entry_id, _In_ const sai_attribute_t *attr)
 Set tunnel map item attribute.
 
typedef sai_status_t(* sai_get_tunnel_map_entry_attribute_fn) (_In_ sai_object_id_t tunnel_map_entry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get tunnel map item attributes.
 
typedef struct _sai_tunnel_api_t sai_tunnel_api_t
 Tunnel methods table retrieved with sai_api_query()
 

Enumerations

enum  _sai_tunnel_map_type_t {
  SAI_TUNNEL_MAP_TYPE_OECN_TO_UECN = 0x00000000 , SAI_TUNNEL_MAP_TYPE_UECN_OECN_TO_OECN = 0x00000001 , SAI_TUNNEL_MAP_TYPE_VNI_TO_VLAN_ID = 0x00000002 , SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VNI = 0x00000003 ,
  SAI_TUNNEL_MAP_TYPE_VNI_TO_BRIDGE_IF = 0x00000004 , SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VNI = 0x00000005 , SAI_TUNNEL_MAP_TYPE_VNI_TO_VIRTUAL_ROUTER_ID = 0x00000006 , SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VNI = 0x00000007 ,
  SAI_TUNNEL_MAP_TYPE_VSID_TO_VLAN_ID = 0x00000008 , SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VSID = 0x00000009 , SAI_TUNNEL_MAP_TYPE_VSID_TO_BRIDGE_IF = 0x0000000a , SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VSID = 0x0000000b ,
  SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VPN_SID = 0x0000000c , SAI_TUNNEL_MAP_TYPE_PREFIX_AGG_ID_TO_SRV6_VPN_SID = 0x0000000d , SAI_TUNNEL_MAP_TYPE_CUSTOM_RANGE_BASE = 0x10000000
}
 Enum defining tunnel map types. More...
 
enum  _sai_tunnel_map_entry_attr_t {
  SAI_TUNNEL_MAP_ENTRY_ATTR_START = 0x00000000 , SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE = SAI_TUNNEL_MAP_ENTRY_ATTR_START , SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP = 0x00000001 , SAI_TUNNEL_MAP_ENTRY_ATTR_OECN_KEY = 0x00000002 ,
  SAI_TUNNEL_MAP_ENTRY_ATTR_OECN_VALUE = 0x00000003 , SAI_TUNNEL_MAP_ENTRY_ATTR_UECN_KEY = 0x00000004 , SAI_TUNNEL_MAP_ENTRY_ATTR_UECN_VALUE = 0x00000005 , SAI_TUNNEL_MAP_ENTRY_ATTR_VLAN_ID_KEY = 0x00000006 ,
  SAI_TUNNEL_MAP_ENTRY_ATTR_VLAN_ID_VALUE = 0x00000007 , SAI_TUNNEL_MAP_ENTRY_ATTR_VNI_ID_KEY = 0x00000008 , SAI_TUNNEL_MAP_ENTRY_ATTR_VNI_ID_VALUE = 0x00000009 , SAI_TUNNEL_MAP_ENTRY_ATTR_BRIDGE_ID_KEY = 0x0000000a ,
  SAI_TUNNEL_MAP_ENTRY_ATTR_BRIDGE_ID_VALUE = 0x0000000b , SAI_TUNNEL_MAP_ENTRY_ATTR_VIRTUAL_ROUTER_ID_KEY = 0x0000000c , SAI_TUNNEL_MAP_ENTRY_ATTR_VIRTUAL_ROUTER_ID_VALUE = 0x0000000d , SAI_TUNNEL_MAP_ENTRY_ATTR_VSID_ID_KEY = 0x0000000e ,
  SAI_TUNNEL_MAP_ENTRY_ATTR_VSID_ID_VALUE = 0x0000000f , SAI_TUNNEL_MAP_ENTRY_ATTR_PREFIX_AGG_ID_KEY = 0x00000010 , SAI_TUNNEL_MAP_ENTRY_ATTR_SRV6_VPN_SID_VALUE = 0x00000011 , SAI_TUNNEL_MAP_ENTRY_ATTR_END ,
  SAI_TUNNEL_MAP_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TUNNEL_MAP_ENTRY_ATTR_CUSTOM_RANGE_END
}
 
enum  _sai_tunnel_map_attr_t {
  SAI_TUNNEL_MAP_ATTR_START = 0x00000000 , SAI_TUNNEL_MAP_ATTR_TYPE = SAI_TUNNEL_MAP_ATTR_START , SAI_TUNNEL_MAP_ATTR_ENTRY_LIST , SAI_TUNNEL_MAP_ATTR_END ,
  SAI_TUNNEL_MAP_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TUNNEL_MAP_ATTR_CUSTOM_RANGE_END
}
 Defines tunnel map attributes. More...
 
enum  _sai_tunnel_ttl_mode_t { SAI_TUNNEL_TTL_MODE_UNIFORM_MODEL , SAI_TUNNEL_TTL_MODE_PIPE_MODEL }
 Defines tunnel TTL mode. More...
 
enum  _sai_tunnel_dscp_mode_t { SAI_TUNNEL_DSCP_MODE_UNIFORM_MODEL , SAI_TUNNEL_DSCP_MODE_PIPE_MODEL }
 Defines tunnel DSCP mode. More...
 
enum  _sai_tunnel_peer_mode_t { SAI_TUNNEL_PEER_MODE_P2P , SAI_TUNNEL_PEER_MODE_P2MP }
 Defines tunnel peer mode. More...
 
enum  _sai_tunnel_attr_t {
  SAI_TUNNEL_ATTR_START , SAI_TUNNEL_ATTR_TYPE = SAI_TUNNEL_ATTR_START , SAI_TUNNEL_ATTR_UNDERLAY_INTERFACE , SAI_TUNNEL_ATTR_OVERLAY_INTERFACE ,
  SAI_TUNNEL_ATTR_PEER_MODE , SAI_TUNNEL_ATTR_ENCAP_SRC_IP , SAI_TUNNEL_ATTR_ENCAP_DST_IP , SAI_TUNNEL_ATTR_ENCAP_TTL_MODE ,
  SAI_TUNNEL_ATTR_ENCAP_TTL_VAL , SAI_TUNNEL_ATTR_ENCAP_DSCP_MODE , SAI_TUNNEL_ATTR_ENCAP_DSCP_VAL , SAI_TUNNEL_ATTR_ENCAP_GRE_KEY_VALID ,
  SAI_TUNNEL_ATTR_ENCAP_GRE_KEY , SAI_TUNNEL_ATTR_ENCAP_ECN_MODE , SAI_TUNNEL_ATTR_ENCAP_MAPPERS , SAI_TUNNEL_ATTR_DECAP_ECN_MODE ,
  SAI_TUNNEL_ATTR_DECAP_MAPPERS , SAI_TUNNEL_ATTR_DECAP_TTL_MODE , SAI_TUNNEL_ATTR_DECAP_DSCP_MODE , SAI_TUNNEL_ATTR_TERM_TABLE_ENTRY_LIST ,
  SAI_TUNNEL_ATTR_LOOPBACK_PACKET_ACTION , SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MODE , SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT , SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MASK ,
  SAI_TUNNEL_ATTR_SA_INDEX , SAI_TUNNEL_ATTR_IPSEC_SA_PORT_LIST , SAI_TUNNEL_ATTR_ENCAP_QOS_TC_AND_COLOR_TO_DSCP_MAP , SAI_TUNNEL_ATTR_ENCAP_QOS_TC_TO_QUEUE_MAP ,
  SAI_TUNNEL_ATTR_DECAP_QOS_DSCP_TO_TC_MAP , SAI_TUNNEL_ATTR_DECAP_QOS_TC_TO_PRIORITY_GROUP_MAP , SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_SECURITY , SAI_TUNNEL_ATTR_END ,
  SAI_TUNNEL_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TUNNEL_ATTR_CUSTOM_RANGE_END
}
 Defines tunnel attributes. More...
 
enum  _sai_tunnel_stat_t { SAI_TUNNEL_STAT_IN_OCTETS , SAI_TUNNEL_STAT_IN_PACKETS , SAI_TUNNEL_STAT_OUT_OCTETS , SAI_TUNNEL_STAT_OUT_PACKETS }
 Tunnel counter IDs in sai_get_tunnel_stats() call. More...
 
enum  _sai_tunnel_term_table_entry_type_t { SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2P , SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2MP , SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2P , SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2MP }
 Defines tunnel termination table entry type. More...
 
enum  _sai_tunnel_term_table_entry_attr_t {
  SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_START , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_VR_ID = SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_START , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_DST_IP ,
  SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_DST_IP_MASK , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_SRC_IP , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_SRC_IP_MASK , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TUNNEL_TYPE ,
  SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_ACTION_TUNNEL_ID , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_IP_ADDR_FAMILY , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_IPSEC_VERIFIED , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_PRIORITY ,
  SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_END , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_CUSTOM_RANGE_END
}
 Defines tunnel termination table entry attributes. More...
 

Detailed Description

Typedef Documentation

◆ sai_clear_tunnel_stats_fn

typedef sai_status_t(* sai_clear_tunnel_stats_fn) (_In_ sai_object_id_t tunnel_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)

Clear tunnel statistics counters.

Parameters
[in]tunnel_idTunnel id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 904 of file saitunnel.h.

◆ sai_create_tunnel_fn

typedef sai_status_t(* sai_create_tunnel_fn) (_Out_ sai_object_id_t *tunnel_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create tunnel.

Parameters
[out]tunnel_idTunnel 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 819 of file saitunnel.h.

◆ sai_create_tunnel_map_entry_fn

typedef sai_status_t(* sai_create_tunnel_map_entry_fn) (_Out_ sai_object_id_t *tunnel_map_entry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create tunnel map item.

Parameters
[out]tunnel_map_entry_idTunnel map item 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 1124 of file saitunnel.h.

◆ sai_create_tunnel_map_fn

typedef sai_status_t(* sai_create_tunnel_map_fn) (_Out_ sai_object_id_t *tunnel_map_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create tunnel Map.

Parameters
[out]tunnel_map_idTunnel Map 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 325 of file saitunnel.h.

◆ sai_create_tunnel_term_table_entry_fn

typedef sai_status_t(* sai_create_tunnel_term_table_entry_fn) (_Out_ sai_object_id_t *tunnel_term_table_entry_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create tunnel termination table entry.

Parameters
[out]tunnel_term_table_entry_idTunnel termination table entry 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 1072 of file saitunnel.h.

◆ sai_get_tunnel_attribute_fn

typedef sai_status_t(* sai_get_tunnel_attribute_fn) (_In_ sai_object_id_t tunnel_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get tunnel attributes.

Parameters
[in]tunnel_idTunnel 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 856 of file saitunnel.h.

◆ sai_get_tunnel_map_attribute_fn

typedef sai_status_t(* sai_get_tunnel_map_attribute_fn) (_In_ sai_object_id_t tunnel_map_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get attributes of tunnel map.

Parameters
[in]tunnel_map_idTunnel map 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 362 of file saitunnel.h.

◆ sai_get_tunnel_map_entry_attribute_fn

typedef sai_status_t(* sai_get_tunnel_map_entry_attribute_fn) (_In_ sai_object_id_t tunnel_map_entry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get tunnel map item attributes.

Parameters
[in]tunnel_map_entry_idTunnel map item 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 1161 of file saitunnel.h.

◆ sai_get_tunnel_stats_ext_fn

typedef sai_status_t(* sai_get_tunnel_stats_ext_fn) (_In_ sai_object_id_t tunnel_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters)

Get tunnel statistics counters extended.

Parameters
[in]tunnel_idTunnel id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
[in]modeStatistics mode
[out]countersArray of resulting counter values.
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 888 of file saitunnel.h.

◆ sai_get_tunnel_stats_fn

typedef sai_status_t(* sai_get_tunnel_stats_fn) (_In_ sai_object_id_t tunnel_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)

Get tunnel statistics counters. Deprecated for backward compatibility.

Parameters
[in]tunnel_idTunnel id
[in]number_of_countersNumber of counters in the array
[in]counter_idsSpecifies the array of counter ids
[out]countersArray of resulting counter values.
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 871 of file saitunnel.h.

◆ sai_get_tunnel_term_table_entry_attribute_fn

typedef sai_status_t(* sai_get_tunnel_term_table_entry_attribute_fn) (_In_ sai_object_id_t tunnel_term_table_entry_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get tunnel termination table entry attributes.

Parameters
[in]tunnel_term_table_entry_idTunnel termination table 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 1109 of file saitunnel.h.

◆ sai_remove_tunnel_fn

typedef sai_status_t(* sai_remove_tunnel_fn) (_In_ sai_object_id_t tunnel_id)

Remove tunnel.

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

Definition at line 832 of file saitunnel.h.

◆ sai_remove_tunnel_map_entry_fn

typedef sai_status_t(* sai_remove_tunnel_map_entry_fn) (_In_ sai_object_id_t tunnel_map_entry_id)

Remove tunnel map item.

Parameters
[in]tunnel_map_entry_idTunnel map item id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1137 of file saitunnel.h.

◆ sai_remove_tunnel_map_fn

typedef sai_status_t(* sai_remove_tunnel_map_fn) (_In_ sai_object_id_t tunnel_map_id)

Remove tunnel Map.

Parameters
[in]tunnel_map_idTunnel Map id to be removed
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 338 of file saitunnel.h.

◆ sai_remove_tunnel_term_table_entry_fn

typedef sai_status_t(* sai_remove_tunnel_term_table_entry_fn) (_In_ sai_object_id_t tunnel_term_table_entry_id)

Remove tunnel termination table entry.

Parameters
[in]tunnel_term_table_entry_idTunnel termination table entry id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1085 of file saitunnel.h.

◆ sai_set_tunnel_attribute_fn

typedef sai_status_t(* sai_set_tunnel_attribute_fn) (_In_ sai_object_id_t tunnel_id, _In_ const sai_attribute_t *attr)

Set tunnel attribute.

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

Definition at line 843 of file saitunnel.h.

◆ sai_set_tunnel_map_attribute_fn

typedef sai_status_t(* sai_set_tunnel_map_attribute_fn) (_In_ sai_object_id_t tunnel_map_id, _In_ const sai_attribute_t *attr)

Set attributes for tunnel map.

Parameters
[in]tunnel_map_idTunnel Map Id
[in]attrAttribute to set
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 349 of file saitunnel.h.

◆ sai_set_tunnel_map_entry_attribute_fn

typedef sai_status_t(* sai_set_tunnel_map_entry_attribute_fn) (_In_ sai_object_id_t tunnel_map_entry_id, _In_ const sai_attribute_t *attr)

Set tunnel map item attribute.

Parameters
[in]tunnel_map_entry_idTunnel map item id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1148 of file saitunnel.h.

◆ sai_set_tunnel_term_table_entry_attribute_fn

typedef sai_status_t(* sai_set_tunnel_term_table_entry_attribute_fn) (_In_ sai_object_id_t tunnel_term_table_entry_id, _In_ const sai_attribute_t *attr)

Set tunnel termination table entry attribute.

Parameters
[in]tunnel_term_table_entry_idTunnel termination table entry id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 1096 of file saitunnel.h.

Enumeration Type Documentation

◆ _sai_tunnel_attr_t

Defines tunnel attributes.

Enumerator
SAI_TUNNEL_ATTR_START 

Start of attributes.

SAI_TUNNEL_ATTR_TYPE 

Tunnel type.

Value Type:
sai_tunnel_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
IsResourceType:
true
SAI_TUNNEL_ATTR_UNDERLAY_INTERFACE 

Tunnel underlay interface.

Underlay interface is router interface when conditions are met.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_ROUTER_INTERFACE
Condition:
SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP_GRE or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_VXLAN or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_SRV6 or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_NVGRE or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP_ESP or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP_UDP_ESP or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_VXLAN_UDP_ESP
SAI_TUNNEL_ATTR_OVERLAY_INTERFACE 

Tunnel overlay interface.

Overlay interface is router interface when conditions are met.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_ROUTER_INTERFACE
Condition:
SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP_GRE or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP_ESP or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP_UDP_ESP
SAI_TUNNEL_ATTR_PEER_MODE 

Tunnel Peer Mode.

Value Type:
sai_tunnel_peer_mode_t
Flags:
CREATE_ONLY
Default value:
SAI_TUNNEL_PEER_MODE_P2MP
SAI_TUNNEL_ATTR_ENCAP_SRC_IP 

Tunnel src IP.

Value Type:
sai_ip_address_t
Flags:
CREATE_ONLY
Default value:
0.0.0.0
SAI_TUNNEL_ATTR_ENCAP_DST_IP 

Tunnel Destination IP.

Value Type:
sai_ip_address_t
Flags:
CREATE_ONLY
Default value:
0.0.0.0
Valid only when:
SAI_TUNNEL_ATTR_PEER_MODE == SAI_TUNNEL_PEER_MODE_P2P
SAI_TUNNEL_ATTR_ENCAP_TTL_MODE 

Tunnel TTL mode (pipe or uniform model)

Value Type:
sai_tunnel_ttl_mode_t
Flags:
CREATE_AND_SET
Default value:
SAI_TUNNEL_TTL_MODE_UNIFORM_MODEL
SAI_TUNNEL_ATTR_ENCAP_TTL_VAL 

Tunnel TTL value.

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
255
Valid only when:
SAI_TUNNEL_ATTR_ENCAP_TTL_MODE == SAI_TUNNEL_TTL_MODE_PIPE_MODEL
SAI_TUNNEL_ATTR_ENCAP_DSCP_MODE 

Tunnel DSCP mode (pipe or uniform model)

Value Type:
sai_tunnel_dscp_mode_t
Flags:
CREATE_AND_SET
Default value:
SAI_TUNNEL_DSCP_MODE_UNIFORM_MODEL
SAI_TUNNEL_ATTR_ENCAP_DSCP_VAL 

Tunnel DSCP value (6 bits)

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
Default value:
0
Valid only when:
SAI_TUNNEL_ATTR_ENCAP_DSCP_MODE == SAI_TUNNEL_DSCP_MODE_PIPE_MODEL
SAI_TUNNEL_ATTR_ENCAP_GRE_KEY_VALID 

Tunnel GRE key valid.

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

Tunnel GRE key.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
Valid only when:
SAI_TUNNEL_ATTR_ENCAP_GRE_KEY_VALID == true
SAI_TUNNEL_ATTR_ENCAP_ECN_MODE 

Tunnel encap ECN mode.

Value Type:
sai_tunnel_encap_ecn_mode_t
Flags:
CREATE_ONLY
Default value:
SAI_TUNNEL_ENCAP_ECN_MODE_STANDARD
SAI_TUNNEL_ATTR_ENCAP_MAPPERS 

Tunnel encap mappers.

Value Type:
sai_object_list_t
Flags:
CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TUNNEL_MAP
Default value:
empty
SAI_TUNNEL_ATTR_DECAP_ECN_MODE 

Tunnel decap ECN mode.

Value Type:
sai_tunnel_decap_ecn_mode_t
Flags:
CREATE_ONLY
Default value:
SAI_TUNNEL_DECAP_ECN_MODE_STANDARD
SAI_TUNNEL_ATTR_DECAP_MAPPERS 

Tunnel decap mappers.

Value Type:
sai_object_list_t
Flags:
CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TUNNEL_MAP
Default value:
empty
SAI_TUNNEL_ATTR_DECAP_TTL_MODE 

Tunnel TTL mode (pipe or uniform model)

Value Type:
sai_tunnel_ttl_mode_t
Flags:
CREATE_AND_SET
Default value:
SAI_TUNNEL_TTL_MODE_UNIFORM_MODEL
SAI_TUNNEL_ATTR_DECAP_DSCP_MODE 

Tunnel DSCP mode (pipe or uniform model)

Value Type:
sai_tunnel_dscp_mode_t
Flags:
CREATE_AND_SET
Default value:
SAI_TUNNEL_DSCP_MODE_UNIFORM_MODEL
SAI_TUNNEL_ATTR_TERM_TABLE_ENTRY_LIST 

Tunnel term table entries associated with this tunnel.

Value Type:
sai_object_list_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_TUNNEL_TERM_TABLE_ENTRY
SAI_TUNNEL_ATTR_LOOPBACK_PACKET_ACTION 

Packet action when a packet ingress and gets routed back to same tunnel.

Value Type:
sai_packet_action_t
Flags:
CREATE_AND_SET
Default value:
SAI_PACKET_ACTION_FORWARD
IsResourceType:
true
SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MODE 

Tunnel VXLAN UDP source port mode.

Value Type:
sai_tunnel_vxlan_udp_sport_mode_t
Flags:
CREATE_AND_SET
Default value:
SAI_TUNNEL_VXLAN_UDP_SPORT_MODE_EPHEMERAL
SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT 

Tunnel UDP source port.

Value Type:
sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
0
Valid only when:
SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_VXLAN and SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MODE == SAI_TUNNEL_VXLAN_UDP_SPORT_MODE_USER_DEFINED
SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MASK 

Tunnel UDP source port mask.

Sport mask defining the number of least significant bits reserved for the calculated hash value. 0 means a fixed value.

Value Type:
sai_uint8_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
0
Valid only when:
SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_VXLAN and SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MODE == SAI_TUNNEL_VXLAN_UDP_SPORT_MODE_USER_DEFINED
SAI_TUNNEL_ATTR_SA_INDEX 

IPsec encryption SA index.

Index to bind an egress IPsec SA to a tunnel.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
Valid only when:
SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP_ESP or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_IPINIP_UDP_ESP or SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_VXLAN_UDP_ESP
SAI_TUNNEL_ATTR_IPSEC_SA_PORT_LIST 

List of ports that are programmed with SAs for this IPsec tunnel. Useful only when IPsec is implemented in a PHY Chip (different sai_switch object).

For IPsec hardware in the Switch ASIC, the per-tunnel port list can be derived from the union of SAI_IPSEC_SA_ATTR_IPSEC_PORT_LIST for all sai_ipsec_sa objects for that tunnel.

Value Type:
sai_object_list_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT
Default value:
empty
SAI_TUNNEL_ATTR_ENCAP_QOS_TC_AND_COLOR_TO_DSCP_MAP 

Enable TC AND COLOR -> DSCP MAP on tunnel at encapsulation (access-to-network) node to remark the DSCP in tunnel header.

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

Enable TC -> Queue MAP on tunnel encap.

Map id = SAI_NULL_OBJECT_ID to disable map on tunnel. Default no map, i.e. packets are queued with static mapping.

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

Enable DSCP -> TC MAP on tunnel at termination (Network-to-access) node. This map if configured overrides the port MAP.

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

Enable TC -> Priority Group MAP. TC is derived from the tunnel MAP.

Map id = SAI_NULL_OBJECT_ID to disable map on port. Default no map

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

Drop tunnel packets with not allowed UDP source port.

Upon enabling this feature, if the tunnel packet ingresses with UDP source port outside of range defined for this tunnel, it will be dropped.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
Valid only when:
SAI_TUNNEL_ATTR_TYPE == SAI_TUNNEL_TYPE_VXLAN and SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MODE == SAI_TUNNEL_VXLAN_UDP_SPORT_MODE_USER_DEFINED
SAI_TUNNEL_ATTR_END 

End of attributes.

SAI_TUNNEL_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TUNNEL_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 447 of file saitunnel.h.

◆ _sai_tunnel_dscp_mode_t

Defines tunnel DSCP mode.

Enumerator
SAI_TUNNEL_DSCP_MODE_UNIFORM_MODEL 

The uniform model.

Where the DSCP field is preserved end-to-end by copying into the outer header on encapsulation and copying from the outer header on decapsulation. This is applicable for inner IP packets. If the inner packet is a non-IP packet, then the value is undefined and implementation can chose a valid/meaningful outer DSCP value, say in the case of VXLAN encap.

SAI_TUNNEL_DSCP_MODE_PIPE_MODEL 

The pipe model.

Where the outer header is independent of that in the inner header so it hides the DSCP field of the inner header from any interaction with nodes along the tunnel.

DSCP field is user-defined for outer header on encapsulation. DSCP field of inner header remains the same on decapsulation.

Definition at line 400 of file saitunnel.h.

◆ _sai_tunnel_map_attr_t

Defines tunnel map attributes.

Enumerator
SAI_TUNNEL_MAP_ATTR_START 

Start of attributes.

SAI_TUNNEL_MAP_ATTR_TYPE 

Tunnel Map type.

Value Type:
sai_tunnel_map_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TUNNEL_MAP_ATTR_ENTRY_LIST 

Tunnel map entries associated with this map.

Value Type:
sai_object_list_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_TUNNEL_MAP_ENTRY
SAI_TUNNEL_MAP_ATTR_END 

End of attributes.

SAI_TUNNEL_MAP_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TUNNEL_MAP_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 278 of file saitunnel.h.

◆ _sai_tunnel_map_entry_attr_t

Enumerator
SAI_TUNNEL_MAP_ENTRY_ATTR_START 

Start of attributes.

SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE 

Tunnel Map type.

Value Type:
sai_tunnel_map_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP 

Tunnel map ex.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TUNNEL_MAP
SAI_TUNNEL_MAP_ENTRY_ATTR_OECN_KEY 

Inner ECN key.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_OECN_TO_UECN or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_UECN_OECN_TO_OECN
SAI_TUNNEL_MAP_ENTRY_ATTR_OECN_VALUE 

Inner ECN value.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_UECN_OECN_TO_OECN
SAI_TUNNEL_MAP_ENTRY_ATTR_UECN_KEY 

Outer ECN key.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_UECN_OECN_TO_OECN
SAI_TUNNEL_MAP_ENTRY_ATTR_UECN_VALUE 

Outer ECN value.

Value Type:
sai_uint8_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_OECN_TO_UECN
SAI_TUNNEL_MAP_ENTRY_ATTR_VLAN_ID_KEY 

Vlan ID key.

Value Type:
sai_uint16_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
IsVlan:
true
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VNI or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VSID
SAI_TUNNEL_MAP_ENTRY_ATTR_VLAN_ID_VALUE 

Vlan ID value.

Value Type:
sai_uint16_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
IsVlan:
true
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VNI_TO_VLAN_ID or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VSID_TO_VLAN_ID
SAI_TUNNEL_MAP_ENTRY_ATTR_VNI_ID_KEY 

VNI ID key.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VNI_TO_VLAN_ID or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VNI_TO_BRIDGE_IF or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VNI_TO_VIRTUAL_ROUTER_ID
SAI_TUNNEL_MAP_ENTRY_ATTR_VNI_ID_VALUE 

VNI ID value.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VNI or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VNI or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VNI
SAI_TUNNEL_MAP_ENTRY_ATTR_BRIDGE_ID_KEY 

Bridge ID key.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_BRIDGE
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VNI or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VSID
SAI_TUNNEL_MAP_ENTRY_ATTR_BRIDGE_ID_VALUE 

Bridge ID value.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_BRIDGE
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VNI_TO_BRIDGE_IF or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VSID_TO_BRIDGE_IF
SAI_TUNNEL_MAP_ENTRY_ATTR_VIRTUAL_ROUTER_ID_KEY 

Virtual Router ID key.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_VIRTUAL_ROUTER
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VNI or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VPN_SID
SAI_TUNNEL_MAP_ENTRY_ATTR_VIRTUAL_ROUTER_ID_VALUE 

Virtual Router ID value.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_VIRTUAL_ROUTER
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VNI_TO_VIRTUAL_ROUTER_ID
SAI_TUNNEL_MAP_ENTRY_ATTR_VSID_ID_KEY 

VSID ID key.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VSID_TO_VLAN_ID or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VSID_TO_BRIDGE_IF
SAI_TUNNEL_MAP_ENTRY_ATTR_VSID_ID_VALUE 

VSID ID value.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VSID or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VSID
SAI_TUNNEL_MAP_ENTRY_ATTR_PREFIX_AGG_ID_KEY 

Prefix Aggregation ID key.

Value Type:
sai_uint32_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_PREFIX_AGG_ID_TO_SRV6_VPN_SID
SAI_TUNNEL_MAP_ENTRY_ATTR_SRV6_VPN_SID_VALUE 

SRV6 VPN SID.

Value Type:
sai_ip6_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_PREFIX_AGG_ID_TO_SRV6_VPN_SID or SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE == SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VPN_SID
SAI_TUNNEL_MAP_ENTRY_ATTR_END 

End of attributes.

SAI_TUNNEL_MAP_ENTRY_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TUNNEL_MAP_ENTRY_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 88 of file saitunnel.h.

◆ _sai_tunnel_map_type_t

Enum defining tunnel map types.

Enumerator
SAI_TUNNEL_MAP_TYPE_OECN_TO_UECN 

TUNNEL Map overlay ECN to underlay ECN (only valid for encap)

SAI_TUNNEL_MAP_TYPE_UECN_OECN_TO_OECN 

TUNNEL Map underlay ECN and overlay ECN to overlay ECN (only valid for decap)

SAI_TUNNEL_MAP_TYPE_VNI_TO_VLAN_ID 

TUNNEL Map VNI to VLAN ID

SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VNI 

TUNNEL Map VLAN ID to VNI

SAI_TUNNEL_MAP_TYPE_VNI_TO_BRIDGE_IF 

TUNNEL Map VNI to Bridge IF

SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VNI 

TUNNEL Map Bridge IF to VNI

SAI_TUNNEL_MAP_TYPE_VNI_TO_VIRTUAL_ROUTER_ID 

TUNNEL Map VNI to Virtual Router ID

SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VNI 

TUNNEL Map Virtual Router ID to VNI

SAI_TUNNEL_MAP_TYPE_VSID_TO_VLAN_ID 

TUNNEL Map VSID to VLAN ID

SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VSID 

TUNNEL Map VLAN ID to VSID

SAI_TUNNEL_MAP_TYPE_VSID_TO_BRIDGE_IF 

TUNNEL Map VSID to Bridge IF

SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VSID 

TUNNEL Map Bridge IF to VSID

SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VPN_SID 

TUNNEL Map Virtual Router ID to SRV6 VPN SID

SAI_TUNNEL_MAP_TYPE_PREFIX_AGG_ID_TO_SRV6_VPN_SID 

TUNNEL Map Prefix Aggregation ID to SRV6 VPN SID

SAI_TUNNEL_MAP_TYPE_CUSTOM_RANGE_BASE 

Custom range base value

Definition at line 39 of file saitunnel.h.

◆ _sai_tunnel_peer_mode_t

Defines tunnel peer mode.

Enumerator
SAI_TUNNEL_PEER_MODE_P2P 

P2P Tunnel.

SAI_TUNNEL_PEER_MODE_P2MP 

P2MP Tunnel.

Definition at line 430 of file saitunnel.h.

◆ _sai_tunnel_stat_t

Tunnel counter IDs in sai_get_tunnel_stats() call.

Enumerator
SAI_TUNNEL_STAT_IN_OCTETS 

Ingress byte stat count

SAI_TUNNEL_STAT_IN_PACKETS 

Ingress packet stat count

SAI_TUNNEL_STAT_OUT_OCTETS 

Egress byte stat count

SAI_TUNNEL_STAT_OUT_PACKETS 

Egress packet stat count

Definition at line 793 of file saitunnel.h.

◆ _sai_tunnel_term_table_entry_attr_t

Defines tunnel termination table entry attributes.

Enumerator
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_START 

Start of attributes.

SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_VR_ID 

Tunnel virtual router id.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_VIRTUAL_ROUTER
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE 

Tunnel entry type.

Value Type:
sai_tunnel_term_table_entry_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_DST_IP 

Tunnel termination IP address.

Value Type:
sai_ip_address_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE == SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2P or SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE == SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2MP
Condition Relaxed:
true
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_DST_IP_MASK 

Tunnel termination IP address mask.

Value Type:
sai_ip_address_t
Flags:
CREATE_ONLY
Default value:
0.0.0.0
Valid only when:
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE == SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2MP or SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE == SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2MP
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_SRC_IP 

Tunnel source IP address.

Value Type:
sai_ip_address_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Condition:
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE == SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2P or SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE == SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2P
Condition Relaxed:
true
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_SRC_IP_MASK 

Tunnel source IP address mask.

Value Type:
sai_ip_address_t
Flags:
CREATE_ONLY
Default value:
0.0.0.0
Valid only when:
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE == SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2P or SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE == SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2MP
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TUNNEL_TYPE 

Tunnel type.

Value Type:
sai_tunnel_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_ACTION_TUNNEL_ID 

Tunnel id to be use for decap.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_TUNNEL
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_IP_ADDR_FAMILY 

Tunnel term table entry IP address family.

READ-ONLY

Value Type:
sai_ip_addr_family_t
Flags:
READ_ONLY
IsResourceType:
true
SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_IPSEC_VERIFIED 

IPsec packet verified by hardware Security Engine. Valid only for tunnel type SAI_TUNNEL_TYPE_IPINIP_ESP, SAI_TUNNEL_TYPE_IPINIP_UDP_ESP or SAI_TUNNEL_TYPE_VXLAN_UDP_ESP.

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

Priority.

Value must be in the range defined in [SAI_SWITCH_ATTR_TUNNEL_TERM_TABLE_ENTRY_MINIMUM_PRIORITY, SAI_SWITCH_ATTR_TUNNEL_TERM_TABLE_ENTRY_MAXIMUM_PRIORITY] (default = SAI_SWITCH_ATTR_TUNNEL_TERM_TABLE_ENTRY_MINIMUM_PRIORITY) higher value in priority equals higher priority

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

End of attributes.

SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_CUSTOM_RANGE_END 

Enc of custom range base

Definition at line 931 of file saitunnel.h.

◆ _sai_tunnel_term_table_entry_type_t

Defines tunnel termination table entry type.

Enumerator
SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2P 

Tunnel termination table point to point entry match on dst & src IP & tunnel type

SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2MP 

Tunnel termination table point to multi point entry match on src IP & dst IP+mask & tunnel type

SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2P 

Tunnel termination table multi point to point entry match on src IP+mask & dst IP & tunnel type

SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2MP 

Tunnel termination table multi point to multi point entry match on src IP+mask & dst IP+mask & tunnel type

Definition at line 912 of file saitunnel.h.

◆ _sai_tunnel_ttl_mode_t

Defines tunnel TTL mode.

Enumerator
SAI_TUNNEL_TTL_MODE_UNIFORM_MODEL 

The uniform model.

Where the TTL field is preserved end-to-end by copying into the outer header on encapsulation and copying from the outer header on decapsulation. This is applicable for inner IP packets. If the inner packet is a non-IP packet, then the value is undefined and implementation can chose a valid/meaningful outer TTL value, say in the case of VXLAN encap.

SAI_TUNNEL_TTL_MODE_PIPE_MODEL 

The pipe model.

Where the outer header is independent of that in the inner header so it hides the TTL field of the inner header from any interaction with nodes along the tunnel.

TTL field is user-defined for outer header on encapsulation. TTL field of inner header remains the same on decapsulation.

Definition at line 370 of file saitunnel.h.