25#if !defined (__SAINEXTHOP_H_)
26#define __SAINEXTHOP_H_
282 _Out_ sai_object_id_t *next_hop_id,
283 _In_ sai_object_id_t switch_id,
284 _In_ uint32_t attr_count,
295 _In_ sai_object_id_t next_hop_id);
306 _In_ sai_object_id_t next_hop_id,
319 _In_ sai_object_id_t next_hop_id,
320 _In_ uint32_t attr_count,
sai_status_t(* sai_create_next_hop_fn)(_Out_ sai_object_id_t *next_hop_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create next hop.
sai_status_t(* sai_get_next_hop_attribute_fn)(_In_ sai_object_id_t next_hop_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get Next Hop attribute.
sai_status_t(* sai_set_next_hop_attribute_fn)(_In_ sai_object_id_t next_hop_id, _In_ const sai_attribute_t *attr)
Set Next Hop attribute.
sai_status_t(* sai_remove_next_hop_fn)(_In_ sai_object_id_t next_hop_id)
Remove next hop.
struct _sai_next_hop_api_t sai_next_hop_api_t
Next Hop methods table retrieved with sai_api_query()
_sai_next_hop_type_t
Next hop type.
enum _sai_next_hop_type_t sai_next_hop_type_t
Next hop type.
enum _sai_next_hop_attr_t sai_next_hop_attr_t
Attribute id for next hop.
_sai_next_hop_attr_t
Attribute id for next hop.
@ SAI_NEXT_HOP_TYPE_TUNNEL_ENCAP
@ SAI_NEXT_HOP_TYPE_SRV6_SIDLIST
@ SAI_NEXT_HOP_ATTR_TUNNEL_VNI
Next hop entry VNI (override tunnel mapper)
@ SAI_NEXT_HOP_ATTR_QOS_TC_AND_COLOR_TO_MPLS_EXP_MAP
TC AND COLOR -> MPLS EXP MAP for Uniform Mode.
@ SAI_NEXT_HOP_ATTR_TUNNEL_ID
Next hop entry tunnel-id.
@ SAI_NEXT_HOP_ATTR_COUNTER_ID
Attach a counter.
@ SAI_NEXT_HOP_ATTR_OUTSEG_EXP_VALUE
MPLS Outsegment EXP value for pipe mode.
@ SAI_NEXT_HOP_ATTR_DISABLE_DECREMENT_TTL
To enable/disable Decrement TTL.
@ SAI_NEXT_HOP_ATTR_DISABLE_VLAN_REWRITE
To enable/disable VLAN rewrite.
@ SAI_NEXT_HOP_ATTR_START
Start of attributes.
@ SAI_NEXT_HOP_ATTR_DISABLE_DST_MAC_REWRITE
To enable/disable destination MAC rewrite.
@ SAI_NEXT_HOP_ATTR_OUTSEG_EXP_MODE
MPLS Outsegment MPLS EXP mode.
@ SAI_NEXT_HOP_ATTR_TUNNEL_MAC
Inner destination MAC address.
@ SAI_NEXT_HOP_ATTR_DISABLE_SRC_MAC_REWRITE
To enable/disable source MAC rewrite.
@ SAI_NEXT_HOP_ATTR_ROUTER_INTERFACE_ID
Next hop entry router interface id.
@ SAI_NEXT_HOP_ATTR_CUSTOM_RANGE_END
@ SAI_NEXT_HOP_ATTR_OUTSEG_TTL_MODE
MPLS Outsegment TTL mode.
@ SAI_NEXT_HOP_ATTR_CUSTOM_RANGE_START
@ SAI_NEXT_HOP_ATTR_TYPE
Next hop entry type.
@ SAI_NEXT_HOP_ATTR_SRV6_SIDLIST_ID
Next hop entry SRV6 SID List.
@ SAI_NEXT_HOP_ATTR_IP
Next hop entry IPv4 address.
@ SAI_NEXT_HOP_ATTR_LABELSTACK
Push label.
@ SAI_NEXT_HOP_ATTR_OUTSEG_TTL_VALUE
MPLS Outsegment TTL value for pipe mode.
@ SAI_NEXT_HOP_ATTR_END
End of attributes.
@ SAI_NEXT_HOP_ATTR_OUTSEG_TYPE
MPLS Outsegment type.
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.
Next Hop methods table retrieved with sai_api_query()