25#if !defined (__SAITUNNEL_H_)
273} sai_tunnel_map_entry_attr_t;
326 _Out_ sai_object_id_t *tunnel_map_id,
327 _In_ sai_object_id_t switch_id,
328 _In_ uint32_t attr_count,
339 _In_ sai_object_id_t tunnel_map_id);
350 _In_ sai_object_id_t tunnel_map_id,
363 _In_ sai_object_id_t tunnel_map_id,
364 _In_ uint32_t attr_count,
820 _Out_ sai_object_id_t *tunnel_id,
821 _In_ sai_object_id_t switch_id,
822 _In_ uint32_t attr_count,
833 _In_ sai_object_id_t tunnel_id);
844 _In_ sai_object_id_t tunnel_id,
857 _In_ sai_object_id_t tunnel_id,
858 _In_ uint32_t attr_count,
872 _In_ sai_object_id_t tunnel_id,
873 _In_ uint32_t number_of_counters,
874 _In_
const sai_stat_id_t *counter_ids,
875 _Out_ uint64_t *counters);
889 _In_ sai_object_id_t tunnel_id,
890 _In_ uint32_t number_of_counters,
891 _In_
const sai_stat_id_t *counter_ids,
893 _Out_ uint64_t *counters);
905 _In_ sai_object_id_t tunnel_id,
906 _In_ uint32_t number_of_counters,
907 _In_
const sai_stat_id_t *counter_ids);
1073 _Out_ sai_object_id_t *tunnel_term_table_entry_id,
1074 _In_ sai_object_id_t switch_id,
1075 _In_ uint32_t attr_count,
1086 _In_ sai_object_id_t tunnel_term_table_entry_id);
1097 _In_ sai_object_id_t tunnel_term_table_entry_id,
1110 _In_ sai_object_id_t tunnel_term_table_entry_id,
1111 _In_ uint32_t attr_count,
1125 _Out_ sai_object_id_t *tunnel_map_entry_id,
1126 _In_ sai_object_id_t switch_id,
1127 _In_ uint32_t attr_count,
1138 _In_ sai_object_id_t tunnel_map_entry_id);
1149 _In_ sai_object_id_t tunnel_map_entry_id,
1162 _In_ sai_object_id_t tunnel_map_entry_id,
1163 _In_ uint32_t attr_count,
_sai_tunnel_map_type_t
Enum defining tunnel map types.
enum _sai_tunnel_stat_t sai_tunnel_stat_t
Tunnel counter IDs in sai_get_tunnel_stats() call.
struct _sai_tunnel_api_t sai_tunnel_api_t
Tunnel methods table retrieved with sai_api_query()
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.
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.
_sai_tunnel_map_entry_attr_t
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.
_sai_tunnel_attr_t
Defines tunnel attributes.
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.
_sai_tunnel_dscp_mode_t
Defines tunnel DSCP mode.
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.
sai_status_t(* sai_remove_tunnel_fn)(_In_ sai_object_id_t tunnel_id)
Remove tunnel.
enum _sai_tunnel_term_table_entry_type_t sai_tunnel_term_table_entry_type_t
Defines tunnel termination table entry type.
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.
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.
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.
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.
_sai_tunnel_term_table_entry_type_t
Defines tunnel termination table entry type.
sai_status_t(* sai_set_tunnel_attribute_fn)(_In_ sai_object_id_t tunnel_id, _In_ const sai_attribute_t *attr)
Set tunnel attribute.
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.
sai_status_t(* sai_remove_tunnel_map_entry_fn)(_In_ sai_object_id_t tunnel_map_entry_id)
Remove tunnel map item.
enum _sai_tunnel_map_type_t sai_tunnel_map_type_t
Enum defining tunnel map types.
enum _sai_tunnel_ttl_mode_t sai_tunnel_ttl_mode_t
Defines tunnel TTL mode.
_sai_tunnel_term_table_entry_attr_t
Defines tunnel termination table entry attributes.
enum _sai_tunnel_term_table_entry_attr_t sai_tunnel_term_table_entry_attr_t
Defines tunnel termination table entry attributes.
_sai_tunnel_stat_t
Tunnel counter IDs in sai_get_tunnel_stats() call.
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.
_sai_tunnel_ttl_mode_t
Defines tunnel TTL mode.
sai_status_t(* sai_remove_tunnel_map_fn)(_In_ sai_object_id_t tunnel_map_id)
Remove tunnel Map.
enum _sai_tunnel_attr_t sai_tunnel_attr_t
Defines tunnel attributes.
enum _sai_tunnel_map_attr_t sai_tunnel_map_attr_t
Defines tunnel map attributes.
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.
enum _sai_tunnel_peer_mode_t sai_tunnel_peer_mode_t
Defines tunnel peer mode.
_sai_tunnel_map_attr_t
Defines tunnel map attributes.
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.
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.
enum _sai_tunnel_dscp_mode_t sai_tunnel_dscp_mode_t
Defines tunnel DSCP mode.
_sai_tunnel_peer_mode_t
Defines tunnel peer mode.
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.
@ SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VNI
@ SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VPN_SID
@ SAI_TUNNEL_MAP_TYPE_PREFIX_AGG_ID_TO_SRV6_VPN_SID
@ SAI_TUNNEL_MAP_TYPE_VLAN_ID_TO_VSID
@ SAI_TUNNEL_MAP_TYPE_VNI_TO_BRIDGE_IF
@ SAI_TUNNEL_MAP_TYPE_VNI_TO_VIRTUAL_ROUTER_ID
@ SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VNI
@ SAI_TUNNEL_MAP_TYPE_UECN_OECN_TO_OECN
@ SAI_TUNNEL_MAP_TYPE_VSID_TO_BRIDGE_IF
@ SAI_TUNNEL_MAP_TYPE_OECN_TO_UECN
@ SAI_TUNNEL_MAP_TYPE_VIRTUAL_ROUTER_ID_TO_VNI
@ SAI_TUNNEL_MAP_TYPE_BRIDGE_IF_TO_VSID
@ SAI_TUNNEL_MAP_TYPE_VSID_TO_VLAN_ID
@ SAI_TUNNEL_MAP_TYPE_VNI_TO_VLAN_ID
@ SAI_TUNNEL_MAP_TYPE_CUSTOM_RANGE_BASE
@ SAI_TUNNEL_MAP_ENTRY_ATTR_PREFIX_AGG_ID_KEY
Prefix Aggregation ID key.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_VLAN_ID_VALUE
Vlan ID value.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_OECN_KEY
Inner ECN key.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_SRV6_VPN_SID_VALUE
SRV6 VPN SID.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_CUSTOM_RANGE_END
@ SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP
Tunnel map ex.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_CUSTOM_RANGE_START
@ SAI_TUNNEL_MAP_ENTRY_ATTR_VLAN_ID_KEY
Vlan ID key.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_BRIDGE_ID_KEY
Bridge ID key.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_VNI_ID_KEY
VNI ID key.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_VIRTUAL_ROUTER_ID_VALUE
Virtual Router ID value.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_VIRTUAL_ROUTER_ID_KEY
Virtual Router ID key.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_VNI_ID_VALUE
VNI ID value.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_TUNNEL_MAP_TYPE
Tunnel Map type.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_VSID_ID_VALUE
VSID ID value.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_END
End of attributes.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_VSID_ID_KEY
VSID ID key.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_START
Start of attributes.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_BRIDGE_ID_VALUE
Bridge ID value.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_OECN_VALUE
Inner ECN value.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_UECN_VALUE
Outer ECN value.
@ SAI_TUNNEL_MAP_ENTRY_ATTR_UECN_KEY
Outer ECN key.
@ 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 overr...
@ SAI_TUNNEL_ATTR_UNDERLAY_INTERFACE
Tunnel underlay interface.
@ SAI_TUNNEL_ATTR_ENCAP_DST_IP
Tunnel Destination IP.
@ SAI_TUNNEL_ATTR_ENCAP_GRE_KEY_VALID
Tunnel GRE key valid.
@ SAI_TUNNEL_ATTR_ENCAP_MAPPERS
Tunnel encap mappers.
@ SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_SECURITY
Drop tunnel packets with not allowed UDP source port.
@ SAI_TUNNEL_ATTR_DECAP_QOS_TC_TO_PRIORITY_GROUP_MAP
Enable TC -> Priority Group MAP. TC is derived from the tunnel MAP.
@ SAI_TUNNEL_ATTR_CUSTOM_RANGE_END
@ SAI_TUNNEL_ATTR_CUSTOM_RANGE_START
@ SAI_TUNNEL_ATTR_TERM_TABLE_ENTRY_LIST
Tunnel term table entries associated with this tunnel.
@ SAI_TUNNEL_ATTR_ENCAP_TTL_VAL
Tunnel TTL value.
@ 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 DSC...
@ SAI_TUNNEL_ATTR_ENCAP_QOS_TC_TO_QUEUE_MAP
Enable TC -> Queue MAP on tunnel encap.
@ SAI_TUNNEL_ATTR_DECAP_ECN_MODE
Tunnel decap ECN mode.
@ SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT
Tunnel UDP source port.
@ SAI_TUNNEL_ATTR_OVERLAY_INTERFACE
Tunnel overlay interface.
@ SAI_TUNNEL_ATTR_DECAP_DSCP_MODE
Tunnel DSCP mode (pipe or uniform model)
@ SAI_TUNNEL_ATTR_ENCAP_ECN_MODE
Tunnel encap ECN mode.
@ SAI_TUNNEL_ATTR_ENCAP_SRC_IP
Tunnel src IP.
@ SAI_TUNNEL_ATTR_IPSEC_SA_PORT_LIST
List of ports that are programmed with SAs for this IPsec tunnel. Useful only when IPsec is implement...
@ SAI_TUNNEL_ATTR_DECAP_MAPPERS
Tunnel decap mappers.
@ SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MASK
Tunnel UDP source port mask.
@ SAI_TUNNEL_ATTR_ENCAP_DSCP_VAL
Tunnel DSCP value (6 bits)
@ SAI_TUNNEL_ATTR_DECAP_TTL_MODE
Tunnel TTL mode (pipe or uniform model)
@ SAI_TUNNEL_ATTR_ENCAP_GRE_KEY
Tunnel GRE key.
@ SAI_TUNNEL_ATTR_START
Start of attributes.
@ SAI_TUNNEL_ATTR_SA_INDEX
IPsec encryption SA index.
@ SAI_TUNNEL_ATTR_END
End of attributes.
@ SAI_TUNNEL_ATTR_ENCAP_TTL_MODE
Tunnel TTL mode (pipe or uniform model)
@ SAI_TUNNEL_ATTR_ENCAP_DSCP_MODE
Tunnel DSCP mode (pipe or uniform model)
@ SAI_TUNNEL_ATTR_LOOPBACK_PACKET_ACTION
Packet action when a packet ingress and gets routed back to same tunnel.
@ SAI_TUNNEL_ATTR_VXLAN_UDP_SPORT_MODE
Tunnel VXLAN UDP source port mode.
@ SAI_TUNNEL_ATTR_PEER_MODE
Tunnel Peer Mode.
@ SAI_TUNNEL_ATTR_TYPE
Tunnel type.
@ SAI_TUNNEL_DSCP_MODE_PIPE_MODEL
The pipe model.
@ SAI_TUNNEL_DSCP_MODE_UNIFORM_MODEL
The uniform model.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2P
@ SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2P
@ SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_P2MP
@ SAI_TUNNEL_TERM_TABLE_ENTRY_TYPE_MP2MP
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_START
Start of attributes.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_SRC_IP_MASK
Tunnel source IP address mask.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_IP_ADDR_FAMILY
Tunnel term table entry IP address family.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TUNNEL_TYPE
Tunnel type.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_DST_IP_MASK
Tunnel termination IP address mask.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_VR_ID
Tunnel virtual router id.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_ACTION_TUNNEL_ID
Tunnel id to be use for decap.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_CUSTOM_RANGE_END
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_IPSEC_VERIFIED
IPsec packet verified by hardware Security Engine. Valid only for tunnel type SAI_TUNNEL_TYPE_IPINIP_...
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_CUSTOM_RANGE_START
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_END
End of attributes.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_DST_IP
Tunnel termination IP address.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_PRIORITY
Priority.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TYPE
Tunnel entry type.
@ SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_SRC_IP
Tunnel source IP address.
@ SAI_TUNNEL_STAT_OUT_PACKETS
@ SAI_TUNNEL_STAT_IN_OCTETS
@ SAI_TUNNEL_STAT_IN_PACKETS
@ SAI_TUNNEL_STAT_OUT_OCTETS
@ SAI_TUNNEL_TTL_MODE_PIPE_MODEL
The pipe model.
@ SAI_TUNNEL_TTL_MODE_UNIFORM_MODEL
The uniform model.
@ SAI_TUNNEL_MAP_ATTR_CUSTOM_RANGE_START
@ SAI_TUNNEL_MAP_ATTR_TYPE
Tunnel Map type.
@ SAI_TUNNEL_MAP_ATTR_END
End of attributes.
@ SAI_TUNNEL_MAP_ATTR_ENTRY_LIST
Tunnel map entries associated with this map.
@ SAI_TUNNEL_MAP_ATTR_START
Start of attributes.
@ SAI_TUNNEL_MAP_ATTR_CUSTOM_RANGE_END
@ SAI_TUNNEL_PEER_MODE_P2P
P2P Tunnel.
@ SAI_TUNNEL_PEER_MODE_P2MP
P2MP Tunnel.
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
sai_status_t(* sai_bulk_object_get_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ const uint32_t *attr_count, _Inout_ sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects get attributes.
sai_status_t(* sai_bulk_object_create_fn)(_In_ sai_object_id_t switch_id, _In_ uint32_t object_count, _In_ const uint32_t *attr_count, _In_ const sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_object_id_t *object_id, _Out_ sai_status_t *object_statuses)
Bulk objects creation.
sai_status_t(* sai_bulk_object_remove_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects removal.
sai_status_t(* sai_bulk_object_set_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ const sai_attribute_t *attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects set attributes.
This module defines SAI portable types.
Tunnel methods table retrieved with sai_api_query()