SAI Metadata
Loading...
Searching...
No Matches
saimpls.h
Go to the documentation of this file.
1
25#if !defined (__SAIMPLS_H_)
26#define __SAIMPLS_H_
27
28#include <saitypes.h>
29
36{
41
46} sai_inseg_entry_psc_type_t;
47
49{
56
63} sai_inseg_entry_pop_ttl_mode_t;
64
66{
73
80} sai_inseg_entry_pop_qos_mode_t;
81
86{
91
100
109
118
129
140
153
169
183
192
201
214
219
222
225
227
231typedef struct _sai_inseg_entry_t
232{
238 sai_object_id_t switch_id;
239
243 sai_label_id_t label;
244
246
256typedef sai_status_t (*sai_create_inseg_entry_fn)(
257 _In_ const sai_inseg_entry_t *inseg_entry,
258 _In_ uint32_t attr_count,
259 _In_ const sai_attribute_t *attr_list);
260
268typedef sai_status_t (*sai_remove_inseg_entry_fn)(
269 _In_ const sai_inseg_entry_t *inseg_entry);
270
279typedef sai_status_t (*sai_set_inseg_entry_attribute_fn)(
280 _In_ const sai_inseg_entry_t *inseg_entry,
281 _In_ const sai_attribute_t *attr);
282
292typedef sai_status_t (*sai_get_inseg_entry_attribute_fn)(
293 _In_ const sai_inseg_entry_t *inseg_entry,
294 _In_ uint32_t attr_count,
295 _Inout_ sai_attribute_t *attr_list);
296
314typedef sai_status_t (*sai_bulk_create_inseg_entry_fn)(
315 _In_ uint32_t object_count,
316 _In_ const sai_inseg_entry_t *inseg_entry,
317 _In_ const uint32_t *attr_count,
318 _In_ const sai_attribute_t **attr_list,
319 _In_ sai_bulk_op_error_mode_t mode,
320 _Out_ sai_status_t *object_statuses);
321
336typedef sai_status_t (*sai_bulk_remove_inseg_entry_fn)(
337 _In_ uint32_t object_count,
338 _In_ const sai_inseg_entry_t *inseg_entry,
339 _In_ sai_bulk_op_error_mode_t mode,
340 _Out_ sai_status_t *object_statuses);
341
358 _In_ uint32_t object_count,
359 _In_ const sai_inseg_entry_t *inseg_entry,
360 _In_ const sai_attribute_t *attr_list,
361 _In_ sai_bulk_op_error_mode_t mode,
362 _Out_ sai_status_t *object_statuses);
363
382 _In_ uint32_t object_count,
383 _In_ const sai_inseg_entry_t *inseg_entry,
384 _In_ const uint32_t *attr_count,
385 _Inout_ sai_attribute_t **attr_list,
386 _In_ sai_bulk_op_error_mode_t mode,
387 _Out_ sai_status_t *object_statuses);
388
392typedef struct _sai_mpls_api_t
393{
394 sai_create_inseg_entry_fn create_inseg_entry;
395 sai_remove_inseg_entry_fn remove_inseg_entry;
396 sai_set_inseg_entry_attribute_fn set_inseg_entry_attribute;
397 sai_get_inseg_entry_attribute_fn get_inseg_entry_attribute;
398
399 sai_bulk_create_inseg_entry_fn create_inseg_entries;
400 sai_bulk_remove_inseg_entry_fn remove_inseg_entries;
401 sai_bulk_set_inseg_entry_attribute_fn set_inseg_entries_attribute;
402 sai_bulk_get_inseg_entry_attribute_fn get_inseg_entries_attribute;
403
405
409#endif
_sai_inseg_entry_pop_qos_mode_t
Definition saimpls.h:66
_sai_inseg_entry_psc_type_t
Definition saimpls.h:36
sai_status_t(* sai_bulk_get_inseg_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_inseg_entry_t *inseg_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 In Segment entry.
Definition saimpls.h:381
_sai_inseg_entry_pop_ttl_mode_t
Definition saimpls.h:49
sai_status_t(* sai_set_inseg_entry_attribute_fn)(_In_ const sai_inseg_entry_t *inseg_entry, _In_ const sai_attribute_t *attr)
Set In Segment attribute value.
Definition saimpls.h:279
sai_status_t(* sai_bulk_remove_inseg_entry_fn)(_In_ uint32_t object_count, _In_ const sai_inseg_entry_t *inseg_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk remove In Segment entry.
Definition saimpls.h:336
sai_status_t(* sai_get_inseg_entry_attribute_fn)(_In_ const sai_inseg_entry_t *inseg_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get In Segment attribute value.
Definition saimpls.h:292
sai_status_t(* sai_create_inseg_entry_fn)(_In_ const sai_inseg_entry_t *inseg_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create In Segment entry.
Definition saimpls.h:256
enum _sai_inseg_entry_attr_t sai_inseg_entry_attr_t
Attribute Id for SAI in segment.
struct _sai_mpls_api_t sai_mpls_api_t
MPLS methods table retrieved with sai_api_query()
sai_status_t(* sai_remove_inseg_entry_fn)(_In_ const sai_inseg_entry_t *inseg_entry)
Remove In Segment entry.
Definition saimpls.h:268
sai_status_t(* sai_bulk_set_inseg_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_inseg_entry_t *inseg_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 In Segment entry.
Definition saimpls.h:357
struct _sai_inseg_entry_t sai_inseg_entry_t
In segment entry.
sai_status_t(* sai_bulk_create_inseg_entry_fn)(_In_ uint32_t object_count, _In_ const sai_inseg_entry_t *inseg_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 In Segment entry.
Definition saimpls.h:314
_sai_inseg_entry_attr_t
Attribute Id for SAI in segment.
Definition saimpls.h:86
@ SAI_INSEG_ENTRY_POP_QOS_MODE_UNIFORM
Uniform mode.
Definition saimpls.h:72
@ SAI_INSEG_ENTRY_POP_QOS_MODE_PIPE
Uniform mode.
Definition saimpls.h:79
@ SAI_INSEG_ENTRY_PSC_TYPE_LLSP
MPLS label infers TC and EXP of MPLS label infers COLOR.
Definition saimpls.h:45
@ SAI_INSEG_ENTRY_PSC_TYPE_ELSP
EXP of MPLS label infers both TC and COLOR.
Definition saimpls.h:40
@ SAI_INSEG_ENTRY_POP_TTL_MODE_PIPE
Pipe mode.
Definition saimpls.h:62
@ SAI_INSEG_ENTRY_POP_TTL_MODE_UNIFORM
Uniform mode.
Definition saimpls.h:55
@ SAI_INSEG_ENTRY_ATTR_MPLS_EXP_TO_TC_MAP
Enable EXP -> TC MAP on label.
Definition saimpls.h:168
@ SAI_INSEG_ENTRY_ATTR_CUSTOM_RANGE_START
Definition saimpls.h:221
@ SAI_INSEG_ENTRY_ATTR_MPLS_EXP_TO_COLOR_MAP
Enable EXP -> COLOR MAP on label.
Definition saimpls.h:182
@ SAI_INSEG_ENTRY_ATTR_START
Start of attributes.
Definition saimpls.h:90
@ SAI_INSEG_ENTRY_ATTR_PACKET_ACTION
Packet action.
Definition saimpls.h:108
@ SAI_INSEG_ENTRY_ATTR_TRAP_PRIORITY
Packet priority for trap/log actions.
Definition saimpls.h:117
@ SAI_INSEG_ENTRY_ATTR_CUSTOM_RANGE_END
Definition saimpls.h:224
@ SAI_INSEG_ENTRY_ATTR_COUNTER_ID
Attach a counter.
Definition saimpls.h:213
@ SAI_INSEG_ENTRY_ATTR_NEXT_HOP_ID
The next hop id.
Definition saimpls.h:128
@ SAI_INSEG_ENTRY_ATTR_POP_TTL_MODE
Define TTL setting for PHP or POP.
Definition saimpls.h:191
@ SAI_INSEG_ENTRY_ATTR_PSC_TYPE
Define PSC type for a label.
Definition saimpls.h:139
@ SAI_INSEG_ENTRY_ATTR_POP_QOS_MODE
Define QOS setting for PHP or POP.
Definition saimpls.h:200
@ SAI_INSEG_ENTRY_ATTR_NUM_OF_POP
Number of pops.
Definition saimpls.h:99
@ SAI_INSEG_ENTRY_ATTR_QOS_TC
TC for a label.
Definition saimpls.h:152
@ SAI_INSEG_ENTRY_ATTR_END
End of attributes.
Definition saimpls.h:218
This module defines SAI portable types.
In segment entry.
Definition saimpls.h:232
sai_object_id_t switch_id
Switch ID.
Definition saimpls.h:238
sai_label_id_t label
MPLS label.
Definition saimpls.h:243
MPLS methods table retrieved with sai_api_query()
Definition saimpls.h:393