SAI Metadata
|
Notification data format received from SAI FDB callback. More...
#include <saifdb.h>
Public Attributes | |
sai_fdb_event_t | event_type |
sai_fdb_entry_t | fdb_entry |
uint32_t | attr_count |
sai_attribute_t * | attr |
Attributes. | |
Notification data format received from SAI FDB callback.
When FDB flush API is called (for example with no parameters) and switch learned a lot of MAC addresses, then calling this API can cause to generate a lot of notifications.
Vendor can decide whether in that case send notifications 1 by 1 and populating all the data for sai_fdb_event_notification_data_t or to send consolidated event notification which will indicate that FDB flush operation was performed.
Consolidated flush event will:
Set data.fdb_entry.mac_address to 00:00:00:00:00:00.
Set data.fdb_event to SAI_FDB_EVENT_FLUSHED.
Add SAI_FDB_ENTRY_ATTR_TYPE to data.attr list and value set to SAI_FDB_FLUSH_ATTR_ENTRY_TYPE, if SAI_FDB_FLUSH_ATTR_ENTRY_TYPE was not provided to flush API, then 2 notifications will be sent (or 1 notification with 2 data entries) where data.attr will contain SAI_FDB_ENTRY_ATTR_TYPE set accordingly for specific entry types.
Set data.fdb_entry.bv_id to SAI_FDB_FLUSH_ATTR_BV_ID value if attribute was provided to flush API.
Add SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID to data.attr list and value set to SAI_FDB_FLUSH_ATTR_BRIDGE_PORT_ID if that attribute was provided to flush API.
All other attributes in consolidated FDB event notification are irrelevant and should be zero.
sai_attribute_t* _sai_fdb_event_notification_data_t::attr |
uint32_t _sai_fdb_event_notification_data_t::attr_count |
sai_fdb_event_t _sai_fdb_event_notification_data_t::event_type |
sai_fdb_entry_t _sai_fdb_event_notification_data_t::fdb_entry |