25#if !defined (__SAISRV6_H_)
226 _Out_ sai_object_id_t *srv6_sidlist_id,
227 _In_ sai_object_id_t switch_id,
228 _In_ uint32_t attr_count,
239 _In_ sai_object_id_t srv6_sidlist_id);
250 _In_ sai_object_id_t srv6_sidlist_id,
263 _In_ sai_object_id_t srv6_sidlist_id,
264 _In_ uint32_t attr_count,
278 _In_ sai_object_id_t srv6_sidlist_id,
279 _In_ uint32_t number_of_counters,
280 _In_
const sai_stat_id_t *counter_ids,
281 _Out_ uint64_t *counters);
295 _In_ sai_object_id_t srv6_sidlist_id,
296 _In_ uint32_t number_of_counters,
297 _In_
const sai_stat_id_t *counter_ids,
299 _Out_ uint64_t *counters);
311 _In_ sai_object_id_t srv6_sidlist_id,
312 _In_ uint32_t number_of_counters,
313 _In_
const sai_stat_id_t *counter_ids);
480 _In_ uint32_t attr_count,
516 _In_ uint32_t attr_count,
537 _In_ uint32_t object_count,
539 _In_
const uint32_t *attr_count,
541 _In_ sai_bulk_op_error_mode_t mode,
542 _Out_ sai_status_t *object_statuses);
559 _In_ uint32_t object_count,
561 _In_ sai_bulk_op_error_mode_t mode,
562 _Out_ sai_status_t *object_statuses);
580 _In_ uint32_t object_count,
583 _In_ sai_bulk_op_error_mode_t mode,
584 _Out_ sai_status_t *object_statuses);
604 _In_ uint32_t object_count,
606 _In_
const uint32_t *attr_count,
608 _In_ sai_bulk_op_error_mode_t mode,
609 _Out_ sai_status_t *object_statuses);
struct _sai_srv6_api_t sai_srv6_api_t
SRV6 methods table retrieved with sai_api_query()
enum _sai_my_sid_entry_endpoint_behavior_t sai_my_sid_entry_endpoint_behavior_t
Enum defining Endpoint Behavior.
enum _sai_srv6_sidlist_stat_t sai_srv6_sidlist_stat_t
SRV6 SID List counter IDs.
sai_status_t(* sai_bulk_get_my_sid_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_my_sid_entry_t *my_sid_entry, _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 get attribute on My SID entry.
sai_status_t(* sai_remove_srv6_sidlist_fn)(_In_ sai_object_id_t srv6_sidlist_id)
Remove Segment ID List.
_sai_my_sid_entry_endpoint_behavior_t
Enum defining Endpoint Behavior.
sai_status_t(* sai_get_srv6_sidlist_stats_fn)(_In_ sai_object_id_t srv6_sidlist_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
Get SRV6 SID List statistics counters. Deprecated for backward compatibility.
_sai_my_sid_entry_endpoint_behavior_flavor_t
Enum defining Endpoint Behavior flavors for End, End.X and End.T functions.
enum _sai_my_sid_entry_endpoint_behavior_flavor_t sai_my_sid_entry_endpoint_behavior_flavor_t
Enum defining Endpoint Behavior flavors for End, End.X and End.T functions.
_sai_srv6_sidlist_stat_t
SRV6 SID List counter IDs.
sai_status_t(* sai_bulk_set_my_sid_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_my_sid_entry_t *my_sid_entry, _In_ const sai_attribute_t *attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk set attribute on My SID entry.
sai_status_t(* sai_get_srv6_sidlist_stats_ext_fn)(_In_ sai_object_id_t srv6_sidlist_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 SRV6 SID List statistics counters extended.
sai_status_t(* sai_bulk_remove_my_sid_entry_fn)(_In_ uint32_t object_count, _In_ const sai_my_sid_entry_t *my_sid_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk remove My SID entries.
sai_status_t(* sai_get_my_sid_entry_attribute_fn)(_In_ const sai_my_sid_entry_t *my_sid_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
My SID attribute value.
enum _sai_my_sid_entry_attr_t sai_my_sid_entry_attr_t
Attribute list for My SID.
enum _sai_srv6_sidlist_attr_t sai_srv6_sidlist_attr_t
Attribute data for SRV6 SID List Entry.
enum _sai_srv6_sidlist_type_t sai_srv6_sidlist_type_t
Enum defining Head-end Behavior.
sai_status_t(* sai_remove_my_sid_entry_fn)(_In_ const sai_my_sid_entry_t *my_sid_entry)
Remove My SID entry.
sai_status_t(* sai_clear_srv6_sidlist_stats_fn)(_In_ sai_object_id_t srv6_sidlist_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
Clear SRV6 SID List statistics counters.
_sai_srv6_sidlist_attr_t
Attribute data for SRV6 SID List Entry.
sai_status_t(* sai_get_srv6_sidlist_attribute_fn)(_In_ sai_object_id_t srv6_sidlist_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get Segment ID List attribute value.
struct _sai_my_sid_entry_t sai_my_sid_entry_t
My SID Entry.
sai_status_t(* sai_create_srv6_sidlist_fn)(_Out_ sai_object_id_t *srv6_sidlist_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create Segment ID List.
sai_status_t(* sai_create_my_sid_entry_fn)(_In_ const sai_my_sid_entry_t *my_sid_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create My SID entry.
sai_status_t(* sai_bulk_create_my_sid_entry_fn)(_In_ uint32_t object_count, _In_ const sai_my_sid_entry_t *my_sid_entry, _In_ const uint32_t *attr_count, _In_ const sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk create My SID entries.
_sai_my_sid_entry_attr_t
Attribute list for My SID.
_sai_srv6_sidlist_type_t
Enum defining Head-end Behavior.
sai_status_t(* sai_set_my_sid_entry_attribute_fn)(_In_ const sai_my_sid_entry_t *my_sid_entry, _In_ const sai_attribute_t *attr)
Set My SID attribute value.
sai_status_t(* sai_set_srv6_sidlist_attribute_fn)(_In_ sai_object_id_t srv6_sidlist_id, _In_ const sai_attribute_t *attr)
Set Segment ID List attribute value.
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_T
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_CUSTOM_RANGE_END
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_B6_INSERT_RED
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_B6_ENCAPS
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_UN
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_B6_ENCAPS_RED
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_UA
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_B6_INSERT
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_E
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_DT46
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_X
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_DT4
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_DT6
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_DX6
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_DX4
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_CUSTOM_RANGE_START
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_FLAVOR_PSP_AND_USD
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_FLAVOR_USP
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_FLAVOR_PSP
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_FLAVOR_PSP_AND_USP_AND_USD
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_FLAVOR_PSP_AND_USP
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_FLAVOR_USD
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_FLAVOR_USD_AND_USP
@ SAI_MY_SID_ENTRY_ENDPOINT_BEHAVIOR_FLAVOR_NONE
@ SAI_SRV6_SIDLIST_STAT_OUT_OCTETS
@ SAI_SRV6_SIDLIST_STAT_OUT_PACKETS
@ SAI_SRV6_SIDLIST_ATTR_SEGMENT_LIST
List of Segments for Source / Transit.
@ SAI_SRV6_SIDLIST_ATTR_END
End of attributes.
@ SAI_SRV6_SIDLIST_ATTR_CUSTOM_RANGE_END
@ SAI_SRV6_SIDLIST_ATTR_CUSTOM_RANGE_START
@ SAI_SRV6_SIDLIST_ATTR_TYPE
Transit or Source Type.
@ SAI_SRV6_SIDLIST_ATTR_TLV_LIST
List of Type Length Values for Source.
@ SAI_SRV6_SIDLIST_ATTR_NEXT_HOP_ID
Underlay Next hop to use.
@ SAI_SRV6_SIDLIST_ATTR_START
Start of attributes.
@ SAI_MY_SID_ENTRY_ATTR_END
End of attributes.
@ SAI_MY_SID_ENTRY_ATTR_COUNTER_ID
Attach a counter.
@ SAI_MY_SID_ENTRY_ATTR_ENDPOINT_BEHAVIOR_FLAVOR
Flavor for End, End.X and End.T functions.
@ SAI_MY_SID_ENTRY_ATTR_PACKET_ACTION
Packet action.
@ SAI_MY_SID_ENTRY_ATTR_CUSTOM_RANGE_END
@ SAI_MY_SID_ENTRY_ATTR_ENDPOINT_BEHAVIOR
Endpoint Function.
@ SAI_MY_SID_ENTRY_ATTR_CUSTOM_RANGE_START
@ SAI_MY_SID_ENTRY_ATTR_TRAP_PRIORITY
Packet priority for trap/log actions.
@ SAI_MY_SID_ENTRY_ATTR_NEXT_HOP_ID
Next hop for cross-connect functions.
@ SAI_MY_SID_ENTRY_ATTR_TUNNEL_ID
Tunnel id for decapsulation.
@ SAI_MY_SID_ENTRY_ATTR_VRF
VRF for decapsulation and specific table lookup functions.
@ SAI_MY_SID_ENTRY_ATTR_START
Start of attributes.
@ SAI_SRV6_SIDLIST_TYPE_ENCAPS
@ SAI_SRV6_SIDLIST_TYPE_ENCAPS_RED
@ SAI_SRV6_SIDLIST_TYPE_CUSTOM_RANGE_BASE
@ SAI_SRV6_SIDLIST_TYPE_INSERT_RED
@ SAI_SRV6_SIDLIST_TYPE_INSERT
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
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.
This module defines SAI portable types.
sai_uint8_t locator_node_len
Length of the Locator Node part of the SID.
sai_uint8_t function_len
Length of the Function part of the SID.
sai_object_id_t vr_id
Virtual Router ID.
sai_uint8_t args_len
Length of the Args part of the SID.
sai_uint8_t locator_block_len
Length of the Locator Block part of the SID.
sai_ip6_t sid
IPv6 Address for My SID.
sai_object_id_t switch_id
Switch ID.
SRV6 methods table retrieved with sai_api_query()