SAI Metadata
Loading...
Searching...
No Matches
saiudf.h
Go to the documentation of this file.
1
25#if !defined (__SAIUDF_H_)
26#define __SAIUDF_H_
27
28#include <saitypes.h>
29
39typedef enum _sai_udf_base_t
40{
43
46
49
51
55typedef enum _sai_udf_attr_t
56{
61
70
79
88
97
112
117
120
123
125
130{
135
147
158
170
179
191
196
199
202
204
209{
212
215
218
221
223
228{
233
242
251
260
265
268
271
273
284typedef sai_status_t (*sai_create_udf_fn)(
285 _Out_ sai_object_id_t *udf_id,
286 _In_ sai_object_id_t switch_id,
287 _In_ uint32_t attr_count,
288 _In_ const sai_attribute_t *attr_list);
289
297typedef sai_status_t (*sai_remove_udf_fn)(
298 _In_ sai_object_id_t udf_id);
299
308typedef sai_status_t (*sai_set_udf_attribute_fn)(
309 _In_ sai_object_id_t udf_id,
310 _In_ const sai_attribute_t *attr);
311
321typedef sai_status_t (*sai_get_udf_attribute_fn)(
322 _In_ sai_object_id_t udf_id,
323 _In_ uint32_t attr_count,
324 _Inout_ sai_attribute_t *attr_list);
325
336typedef sai_status_t (*sai_create_udf_match_fn)(
337 _Out_ sai_object_id_t *udf_match_id,
338 _In_ sai_object_id_t switch_id,
339 _In_ uint32_t attr_count,
340 _In_ const sai_attribute_t *attr_list);
341
349typedef sai_status_t (*sai_remove_udf_match_fn)(
350 _In_ sai_object_id_t udf_match_id);
351
360typedef sai_status_t (*sai_set_udf_match_attribute_fn)(
361 _In_ sai_object_id_t udf_match_id,
362 _In_ const sai_attribute_t *attr);
363
373typedef sai_status_t (*sai_get_udf_match_attribute_fn)(
374 _In_ sai_object_id_t udf_match_id,
375 _In_ uint32_t attr_count,
376 _Inout_ sai_attribute_t *attr_list);
377
388typedef sai_status_t (*sai_create_udf_group_fn)(
389 _Out_ sai_object_id_t *udf_group_id,
390 _In_ sai_object_id_t switch_id,
391 _In_ uint32_t attr_count,
392 _In_ const sai_attribute_t *attr_list);
393
401typedef sai_status_t (*sai_remove_udf_group_fn)(
402 _In_ sai_object_id_t udf_group_id);
403
412typedef sai_status_t (*sai_set_udf_group_attribute_fn)(
413 _In_ sai_object_id_t udf_group_id,
414 _In_ const sai_attribute_t *attr);
415
425typedef sai_status_t (*sai_get_udf_group_attribute_fn)(
426 _In_ sai_object_id_t udf_group_id,
427 _In_ uint32_t attr_count,
428 _Inout_ sai_attribute_t *attr_list);
429
433typedef struct _sai_udf_api_t
434{
435 sai_create_udf_fn create_udf;
436 sai_remove_udf_fn remove_udf;
437 sai_set_udf_attribute_fn set_udf_attribute;
438 sai_get_udf_attribute_fn get_udf_attribute;
439 sai_create_udf_match_fn create_udf_match;
440 sai_remove_udf_match_fn remove_udf_match;
441 sai_set_udf_match_attribute_fn set_udf_match_attribute;
442 sai_get_udf_match_attribute_fn get_udf_match_attribute;
443 sai_create_udf_group_fn create_udf_group;
444 sai_remove_udf_group_fn remove_udf_group;
445 sai_set_udf_group_attribute_fn set_udf_group_attribute;
446 sai_get_udf_group_attribute_fn get_udf_group_attribute;
447
449
453#endif
sai_status_t(* sai_get_udf_match_attribute_fn)(_In_ sai_object_id_t udf_match_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get UDF match attribute value.
Definition saiudf.h:373
enum _sai_udf_group_attr_t sai_udf_group_attr_t
Attribute id for UDF group.
sai_status_t(* sai_set_udf_attribute_fn)(_In_ sai_object_id_t udf_id, _In_ const sai_attribute_t *attr)
Set UDF attribute.
Definition saiudf.h:308
_sai_udf_base_t
UDF base enum.
Definition saiudf.h:40
sai_status_t(* sai_get_udf_group_attribute_fn)(_In_ sai_object_id_t udf_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get UDF group attribute value.
Definition saiudf.h:425
sai_status_t(* sai_set_udf_group_attribute_fn)(_In_ sai_object_id_t udf_group_id, _In_ const sai_attribute_t *attr)
Set UDF group attribute.
Definition saiudf.h:412
_sai_udf_group_attr_t
Attribute id for UDF group.
Definition saiudf.h:228
sai_status_t(* sai_create_udf_group_fn)(_Out_ sai_object_id_t *udf_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create UDF group.
Definition saiudf.h:388
enum _sai_udf_base_t sai_udf_base_t
UDF base enum.
sai_status_t(* sai_set_udf_match_attribute_fn)(_In_ sai_object_id_t udf_match_id, _In_ const sai_attribute_t *attr)
Set UDF match attribute.
Definition saiudf.h:360
sai_status_t(* sai_remove_udf_group_fn)(_In_ sai_object_id_t udf_group_id)
Remove UDF group.
Definition saiudf.h:401
struct _sai_udf_api_t sai_udf_api_t
UDF methods, retrieved via sai_api_query()
_sai_udf_match_attr_t
Attribute id for UDF match.
Definition saiudf.h:130
sai_status_t(* sai_get_udf_attribute_fn)(_In_ sai_object_id_t udf_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get UDF attribute value.
Definition saiudf.h:321
enum _sai_udf_group_type_t sai_udf_group_type_t
UDF group type.
sai_status_t(* sai_remove_udf_match_fn)(_In_ sai_object_id_t udf_match_id)
Remove UDF match.
Definition saiudf.h:349
sai_status_t(* sai_create_udf_match_fn)(_Out_ sai_object_id_t *udf_match_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create UDF match.
Definition saiudf.h:336
_sai_udf_group_type_t
UDF group type.
Definition saiudf.h:209
sai_status_t(* sai_remove_udf_fn)(_In_ sai_object_id_t udf_id)
Remove UDF.
Definition saiudf.h:297
sai_status_t(* sai_create_udf_fn)(_Out_ sai_object_id_t *udf_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create UDF.
Definition saiudf.h:284
enum _sai_udf_attr_t sai_udf_attr_t
Attribute id for UDF.
_sai_udf_attr_t
Attribute id for UDF.
Definition saiudf.h:56
enum _sai_udf_match_attr_t sai_udf_match_attr_t
Attribute id for UDF match.
@ SAI_UDF_BASE_L4
Definition saiudf.h:48
@ SAI_UDF_BASE_L3
Definition saiudf.h:45
@ SAI_UDF_BASE_L2
Definition saiudf.h:42
@ SAI_UDF_GROUP_ATTR_CUSTOM_RANGE_END
Definition saiudf.h:270
@ SAI_UDF_GROUP_ATTR_CUSTOM_RANGE_START
Definition saiudf.h:267
@ SAI_UDF_GROUP_ATTR_TYPE
UDF group type.
Definition saiudf.h:250
@ SAI_UDF_GROUP_ATTR_START
Start of attributes.
Definition saiudf.h:232
@ SAI_UDF_GROUP_ATTR_END
End of attributes.
Definition saiudf.h:264
@ SAI_UDF_GROUP_ATTR_LENGTH
UDF byte length.
Definition saiudf.h:259
@ SAI_UDF_GROUP_ATTR_UDF_LIST
UDF list.
Definition saiudf.h:241
@ SAI_UDF_MATCH_ATTR_GRE_TYPE
UDF GRE match rule.
Definition saiudf.h:169
@ SAI_UDF_MATCH_ATTR_START
Start of attributes.
Definition saiudf.h:134
@ SAI_UDF_MATCH_ATTR_L3_TYPE
UDF L3 match rule.
Definition saiudf.h:157
@ SAI_UDF_MATCH_ATTR_L2_TYPE
UDF L2 match rule.
Definition saiudf.h:146
@ SAI_UDF_MATCH_ATTR_END
End of attributes.
Definition saiudf.h:195
@ SAI_UDF_MATCH_ATTR_CUSTOM_RANGE_END
Definition saiudf.h:201
@ SAI_UDF_MATCH_ATTR_L4_DST_PORT_TYPE
UDF L4 Dst port rule.
Definition saiudf.h:190
@ SAI_UDF_MATCH_ATTR_PRIORITY
UDF match priority.
Definition saiudf.h:178
@ SAI_UDF_MATCH_ATTR_CUSTOM_RANGE_START
Definition saiudf.h:198
@ SAI_UDF_GROUP_TYPE_GENERIC
Definition saiudf.h:214
@ SAI_UDF_GROUP_TYPE_END
Definition saiudf.h:220
@ SAI_UDF_GROUP_TYPE_START
Definition saiudf.h:211
@ SAI_UDF_GROUP_TYPE_HASH
Definition saiudf.h:217
@ SAI_UDF_ATTR_OFFSET
UDF byte offset.
Definition saiudf.h:96
@ SAI_UDF_ATTR_START
Start of attributes.
Definition saiudf.h:60
@ SAI_UDF_ATTR_HASH_MASK
UDF Mask.
Definition saiudf.h:111
@ SAI_UDF_ATTR_GROUP_ID
UDF group id.
Definition saiudf.h:78
@ SAI_UDF_ATTR_CUSTOM_RANGE_END
Definition saiudf.h:122
@ SAI_UDF_ATTR_CUSTOM_RANGE_START
Definition saiudf.h:119
@ SAI_UDF_ATTR_BASE
UDF base.
Definition saiudf.h:87
@ SAI_UDF_ATTR_END
End of attributes.
Definition saiudf.h:116
@ SAI_UDF_ATTR_MATCH_ID
UDF match ID.
Definition saiudf.h:69
This module defines SAI portable types.
UDF methods, retrieved via sai_api_query()
Definition saiudf.h:434