SAI Metadata
Loading...
Searching...
No Matches
saifdb.h
Go to the documentation of this file.
1
25#if !defined (__SAIFDB_H_)
26#define __SAIFDB_H_
27
28#include <saitypes.h>
29
40{
43
46
48
52typedef struct _sai_fdb_entry_t
53{
59 sai_object_id_t switch_id;
60
62 sai_mac_t mac_address;
63
69 sai_object_id_t bv_id;
70
72
76typedef enum _sai_fdb_event_t
77{
80
83
86
89
91
96{
101
109
118
131
147
158
167
180
192
197
200
203
205
210{
213
216
219
221
242{
247
258
269
278
283
286
289
291
329{
332
335
337 uint32_t attr_count;
338
345
347
357typedef sai_status_t (*sai_create_fdb_entry_fn)(
358 _In_ const sai_fdb_entry_t *fdb_entry,
359 _In_ uint32_t attr_count,
360 _In_ const sai_attribute_t *attr_list);
361
369typedef sai_status_t (*sai_remove_fdb_entry_fn)(
370 _In_ const sai_fdb_entry_t *fdb_entry);
371
380typedef sai_status_t (*sai_set_fdb_entry_attribute_fn)(
381 _In_ const sai_fdb_entry_t *fdb_entry,
382 _In_ const sai_attribute_t *attr);
383
393typedef sai_status_t (*sai_get_fdb_entry_attribute_fn)(
394 _In_ const sai_fdb_entry_t *fdb_entry,
395 _In_ uint32_t attr_count,
396 _Inout_ sai_attribute_t *attr_list);
397
407typedef sai_status_t (*sai_flush_fdb_entries_fn)(
408 _In_ sai_object_id_t switch_id,
409 _In_ uint32_t attr_count,
410 _In_ const sai_attribute_t *attr_list);
411
421 _In_ uint32_t count,
422 _In_ const sai_fdb_event_notification_data_t *data);
423
441typedef sai_status_t (*sai_bulk_create_fdb_entry_fn)(
442 _In_ uint32_t object_count,
443 _In_ const sai_fdb_entry_t *fdb_entry,
444 _In_ const uint32_t *attr_count,
445 _In_ const sai_attribute_t **attr_list,
446 _In_ sai_bulk_op_error_mode_t mode,
447 _Out_ sai_status_t *object_statuses);
448
463typedef sai_status_t (*sai_bulk_remove_fdb_entry_fn)(
464 _In_ uint32_t object_count,
465 _In_ const sai_fdb_entry_t *fdb_entry,
466 _In_ sai_bulk_op_error_mode_t mode,
467 _Out_ sai_status_t *object_statuses);
468
485 _In_ uint32_t object_count,
486 _In_ const sai_fdb_entry_t *fdb_entry,
487 _In_ const sai_attribute_t *attr_list,
488 _In_ sai_bulk_op_error_mode_t mode,
489 _Out_ sai_status_t *object_statuses);
490
509 _In_ uint32_t object_count,
510 _In_ const sai_fdb_entry_t *fdb_entry,
511 _In_ const uint32_t *attr_count,
512 _Inout_ sai_attribute_t **attr_list,
513 _In_ sai_bulk_op_error_mode_t mode,
514 _Out_ sai_status_t *object_statuses);
515
519typedef struct _sai_fdb_api_t
520{
521 sai_create_fdb_entry_fn create_fdb_entry;
522 sai_remove_fdb_entry_fn remove_fdb_entry;
523 sai_set_fdb_entry_attribute_fn set_fdb_entry_attribute;
524 sai_get_fdb_entry_attribute_fn get_fdb_entry_attribute;
525 sai_flush_fdb_entries_fn flush_fdb_entries;
526 sai_bulk_create_fdb_entry_fn create_fdb_entries;
527 sai_bulk_remove_fdb_entry_fn remove_fdb_entries;
528 sai_bulk_set_fdb_entry_attribute_fn set_fdb_entries_attribute;
529 sai_bulk_get_fdb_entry_attribute_fn get_fdb_entries_attribute;
530
532
536#endif
sai_status_t(* sai_bulk_remove_fdb_entry_fn)(_In_ uint32_t object_count, _In_ const sai_fdb_entry_t *fdb_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk remove FDB entry.
Definition saifdb.h:463
sai_status_t(* sai_set_fdb_entry_attribute_fn)(_In_ const sai_fdb_entry_t *fdb_entry, _In_ const sai_attribute_t *attr)
Set FDB entry attribute value.
Definition saifdb.h:380
_sai_fdb_flush_entry_type_t
FDB Flush entry type.
Definition saifdb.h:210
struct _sai_fdb_api_t sai_fdb_api_t
FDB method table retrieved with sai_api_query()
sai_status_t(* sai_bulk_create_fdb_entry_fn)(_In_ uint32_t object_count, _In_ const sai_fdb_entry_t *fdb_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 FDB entry.
Definition saifdb.h:441
enum _sai_fdb_entry_attr_t sai_fdb_entry_attr_t
Attribute Id for FDB entry.
_sai_fdb_flush_attr_t
Attribute for FDB flush API to specify the type of FDB entries being flushed.
Definition saifdb.h:242
enum _sai_fdb_event_t sai_fdb_event_t
FDB event type.
sai_status_t(* sai_bulk_get_fdb_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_fdb_entry_t *fdb_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 FDB entry.
Definition saifdb.h:508
struct _sai_fdb_entry_t sai_fdb_entry_t
FDB entry key.
sai_status_t(* sai_get_fdb_entry_attribute_fn)(_In_ const sai_fdb_entry_t *fdb_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get FDB entry attribute value.
Definition saifdb.h:393
sai_status_t(* sai_remove_fdb_entry_fn)(_In_ const sai_fdb_entry_t *fdb_entry)
Remove FDB entry.
Definition saifdb.h:369
enum _sai_fdb_entry_type_t sai_fdb_entry_type_t
FDB entry type.
struct _sai_fdb_event_notification_data_t sai_fdb_event_notification_data_t
Notification data format received from SAI FDB callback.
enum _sai_fdb_flush_entry_type_t sai_fdb_flush_entry_type_t
FDB Flush entry type.
_sai_fdb_entry_type_t
FDB entry type.
Definition saifdb.h:40
sai_status_t(* sai_bulk_set_fdb_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_fdb_entry_t *fdb_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 FDB entry.
Definition saifdb.h:484
_sai_fdb_event_t
FDB event type.
Definition saifdb.h:77
sai_status_t(* sai_flush_fdb_entries_fn)(_In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Remove all FDB entries by attribute set in sai_fdb_flush_attr.
Definition saifdb.h:407
_sai_fdb_entry_attr_t
Attribute Id for FDB entry.
Definition saifdb.h:96
void(* sai_fdb_event_notification_fn)(_In_ uint32_t count, _In_ const sai_fdb_event_notification_data_t *data)
FDB notifications.
Definition saifdb.h:420
enum _sai_fdb_flush_attr_t sai_fdb_flush_attr_t
Attribute for FDB flush API to specify the type of FDB entries being flushed.
sai_status_t(* sai_create_fdb_entry_fn)(_In_ const sai_fdb_entry_t *fdb_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create FDB entry.
Definition saifdb.h:357
@ SAI_FDB_FLUSH_ENTRY_TYPE_STATIC
Definition saifdb.h:215
@ SAI_FDB_FLUSH_ENTRY_TYPE_DYNAMIC
Definition saifdb.h:212
@ SAI_FDB_FLUSH_ENTRY_TYPE_ALL
Definition saifdb.h:218
@ SAI_FDB_FLUSH_ATTR_ENTRY_TYPE
Flush based on entry type.
Definition saifdb.h:277
@ SAI_FDB_FLUSH_ATTR_CUSTOM_RANGE_END
Definition saifdb.h:288
@ SAI_FDB_FLUSH_ATTR_BV_ID
Flush based on VLAN or Bridge.
Definition saifdb.h:268
@ SAI_FDB_FLUSH_ATTR_END
End of attributes.
Definition saifdb.h:282
@ SAI_FDB_FLUSH_ATTR_START
Start of attributes.
Definition saifdb.h:246
@ SAI_FDB_FLUSH_ATTR_CUSTOM_RANGE_START
Definition saifdb.h:285
@ SAI_FDB_FLUSH_ATTR_BRIDGE_PORT_ID
Flush based on bridge port.
Definition saifdb.h:257
@ SAI_FDB_ENTRY_TYPE_DYNAMIC
Definition saifdb.h:42
@ SAI_FDB_ENTRY_TYPE_STATIC
Definition saifdb.h:45
@ SAI_FDB_EVENT_AGED
Definition saifdb.h:82
@ SAI_FDB_EVENT_LEARNED
Definition saifdb.h:79
@ SAI_FDB_EVENT_MOVE
Definition saifdb.h:85
@ SAI_FDB_EVENT_FLUSHED
Definition saifdb.h:88
@ SAI_FDB_ENTRY_ATTR_ENDPOINT_IP
Tunnel Endpoint IP. valid for SAI_BRIDGE_PORT_TYPE_TUNNEL.
Definition saifdb.h:166
@ SAI_FDB_ENTRY_ATTR_COUNTER_ID
Attach a counter.
Definition saifdb.h:179
@ SAI_FDB_ENTRY_ATTR_CUSTOM_RANGE_END
Definition saifdb.h:202
@ SAI_FDB_ENTRY_ATTR_END
End of attributes.
Definition saifdb.h:196
@ SAI_FDB_ENTRY_ATTR_USER_TRAP_ID
Generate User Defined Trap ID for trap/log actions.
Definition saifdb.h:130
@ SAI_FDB_ENTRY_ATTR_META_DATA
User based Meta Data.
Definition saifdb.h:157
@ SAI_FDB_ENTRY_ATTR_START
Start of attributes.
Definition saifdb.h:100
@ SAI_FDB_ENTRY_ATTR_ALLOW_MAC_MOVE
Specifies whether a MAC move is allowed When MAC_MOVE is explicitly disabled for a static MAC entry v...
Definition saifdb.h:191
@ SAI_FDB_ENTRY_ATTR_TYPE
FDB entry type.
Definition saifdb.h:108
@ SAI_FDB_ENTRY_ATTR_CUSTOM_RANGE_START
Definition saifdb.h:199
@ SAI_FDB_ENTRY_ATTR_PACKET_ACTION
FDB entry packet action.
Definition saifdb.h:117
@ SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID
FDB entry bridge port id.
Definition saifdb.h:146
This module defines SAI portable types.
FDB method table retrieved with sai_api_query()
Definition saifdb.h:520
FDB entry key.
Definition saifdb.h:53
sai_object_id_t bv_id
Bridge ID. for .1D and Vlan ID for .1Q.
Definition saifdb.h:69
sai_mac_t mac_address
Definition saifdb.h:62
sai_object_id_t switch_id
Switch ID.
Definition saifdb.h:59
Notification data format received from SAI FDB callback.
Definition saifdb.h:329
sai_attribute_t * attr
Attributes.
Definition saifdb.h:344