SAI Metadata
Loading...
Searching...
No Matches
sainexthop.h
Go to the documentation of this file.
1
25#if !defined (__SAINEXTHOP_H_)
26#define __SAINEXTHOP_H_
27
28#include <saitypes.h>
29
40{
43
46
49
52
54
59{
64
73
82
92
102
112
122
133
142
155
164
174
184
194
204
214
228
237
246
255
260
263
266
268
281typedef sai_status_t (*sai_create_next_hop_fn)(
282 _Out_ sai_object_id_t *next_hop_id,
283 _In_ sai_object_id_t switch_id,
284 _In_ uint32_t attr_count,
285 _In_ const sai_attribute_t *attr_list);
286
294typedef sai_status_t (*sai_remove_next_hop_fn)(
295 _In_ sai_object_id_t next_hop_id);
296
305typedef sai_status_t (*sai_set_next_hop_attribute_fn)(
306 _In_ sai_object_id_t next_hop_id,
307 _In_ const sai_attribute_t *attr);
308
318typedef sai_status_t (*sai_get_next_hop_attribute_fn)(
319 _In_ sai_object_id_t next_hop_id,
320 _In_ uint32_t attr_count,
321 _Inout_ sai_attribute_t *attr_list);
322
327{
328 sai_create_next_hop_fn create_next_hop;
329 sai_remove_next_hop_fn remove_next_hop;
330 sai_set_next_hop_attribute_fn set_next_hop_attribute;
331 sai_get_next_hop_attribute_fn get_next_hop_attribute;
332
333 sai_bulk_object_create_fn create_next_hops;
334 sai_bulk_object_remove_fn remove_next_hops;
335 sai_bulk_object_set_attribute_fn set_next_hops_attribute;
336 sai_bulk_object_get_attribute_fn get_next_hops_attribute;
338
342#endif
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.
Definition sainexthop.h:281
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.
Definition sainexthop.h:318
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.
Definition sainexthop.h:305
sai_status_t(* sai_remove_next_hop_fn)(_In_ sai_object_id_t next_hop_id)
Remove next hop.
Definition sainexthop.h:294
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.
Definition sainexthop.h:40
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.
Definition sainexthop.h:59
@ SAI_NEXT_HOP_TYPE_IP
Definition sainexthop.h:42
@ SAI_NEXT_HOP_TYPE_MPLS
Definition sainexthop.h:45
@ SAI_NEXT_HOP_TYPE_TUNNEL_ENCAP
Definition sainexthop.h:48
@ SAI_NEXT_HOP_TYPE_SRV6_SIDLIST
Definition sainexthop.h:51
@ SAI_NEXT_HOP_ATTR_TUNNEL_VNI
Next hop entry VNI (override tunnel mapper)
Definition sainexthop.h:111
@ SAI_NEXT_HOP_ATTR_QOS_TC_AND_COLOR_TO_MPLS_EXP_MAP
TC AND COLOR -> MPLS EXP MAP for Uniform Mode.
Definition sainexthop.h:227
@ SAI_NEXT_HOP_ATTR_TUNNEL_ID
Next hop entry tunnel-id.
Definition sainexthop.h:101
@ SAI_NEXT_HOP_ATTR_COUNTER_ID
Attach a counter.
Definition sainexthop.h:154
@ SAI_NEXT_HOP_ATTR_OUTSEG_EXP_VALUE
MPLS Outsegment EXP value for pipe mode.
Definition sainexthop.h:213
@ SAI_NEXT_HOP_ATTR_DISABLE_DECREMENT_TTL
To enable/disable Decrement TTL.
Definition sainexthop.h:163
@ SAI_NEXT_HOP_ATTR_DISABLE_VLAN_REWRITE
To enable/disable VLAN rewrite.
Definition sainexthop.h:254
@ SAI_NEXT_HOP_ATTR_START
Start of attributes.
Definition sainexthop.h:63
@ SAI_NEXT_HOP_ATTR_DISABLE_DST_MAC_REWRITE
To enable/disable destination MAC rewrite.
Definition sainexthop.h:245
@ SAI_NEXT_HOP_ATTR_OUTSEG_EXP_MODE
MPLS Outsegment MPLS EXP mode.
Definition sainexthop.h:203
@ SAI_NEXT_HOP_ATTR_TUNNEL_MAC
Inner destination MAC address.
Definition sainexthop.h:121
@ SAI_NEXT_HOP_ATTR_DISABLE_SRC_MAC_REWRITE
To enable/disable source MAC rewrite.
Definition sainexthop.h:236
@ SAI_NEXT_HOP_ATTR_ROUTER_INTERFACE_ID
Next hop entry router interface id.
Definition sainexthop.h:91
@ SAI_NEXT_HOP_ATTR_CUSTOM_RANGE_END
Definition sainexthop.h:265
@ SAI_NEXT_HOP_ATTR_OUTSEG_TTL_MODE
MPLS Outsegment TTL mode.
Definition sainexthop.h:183
@ SAI_NEXT_HOP_ATTR_CUSTOM_RANGE_START
Definition sainexthop.h:262
@ SAI_NEXT_HOP_ATTR_TYPE
Next hop entry type.
Definition sainexthop.h:72
@ SAI_NEXT_HOP_ATTR_SRV6_SIDLIST_ID
Next hop entry SRV6 SID List.
Definition sainexthop.h:132
@ SAI_NEXT_HOP_ATTR_IP
Next hop entry IPv4 address.
Definition sainexthop.h:81
@ SAI_NEXT_HOP_ATTR_LABELSTACK
Push label.
Definition sainexthop.h:141
@ SAI_NEXT_HOP_ATTR_OUTSEG_TTL_VALUE
MPLS Outsegment TTL value for pipe mode.
Definition sainexthop.h:193
@ SAI_NEXT_HOP_ATTR_END
End of attributes.
Definition sainexthop.h:259
@ SAI_NEXT_HOP_ATTR_OUTSEG_TYPE
MPLS Outsegment type.
Definition sainexthop.h:173
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.
Definition saitypes.h:1641
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.
Definition saitypes.h:1577
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.
Definition saitypes.h:1598
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.
Definition saitypes.h:1618
This module defines SAI portable types.
Next Hop methods table retrieved with sai_api_query()
Definition sainexthop.h:327