SAI Metadata
Loading...
Searching...
No Matches
saifdb.h File Reference

This module defines SAI FDB interface. More...

#include <saitypes.h>

Go to the source code of this file.

Classes

struct  _sai_fdb_entry_t
 FDB entry key. More...
 
struct  _sai_fdb_event_notification_data_t
 Notification data format received from SAI FDB callback. More...
 
struct  _sai_fdb_api_t
 FDB method table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_fdb_entry_type_t sai_fdb_entry_type_t
 FDB entry type.
 
typedef struct _sai_fdb_entry_t sai_fdb_entry_t
 FDB entry key.
 
typedef enum _sai_fdb_event_t sai_fdb_event_t
 FDB event type.
 
typedef enum _sai_fdb_entry_attr_t sai_fdb_entry_attr_t
 Attribute Id for FDB entry.
 
typedef enum _sai_fdb_flush_entry_type_t sai_fdb_flush_entry_type_t
 FDB Flush entry type.
 
typedef 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.
 
typedef struct _sai_fdb_event_notification_data_t sai_fdb_event_notification_data_t
 Notification data format received from SAI FDB callback.
 
typedef 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.
 
typedef sai_status_t(* sai_remove_fdb_entry_fn) (_In_ const sai_fdb_entry_t *fdb_entry)
 Remove FDB entry.
 
typedef 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.
 
typedef 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.
 
typedef 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.
 
typedef void(* sai_fdb_event_notification_fn) (_In_ uint32_t count, _In_ const sai_fdb_event_notification_data_t *data)
 FDB notifications.
 
typedef 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.
 
typedef 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.
 
typedef 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.
 
typedef 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.
 
typedef struct _sai_fdb_api_t sai_fdb_api_t
 FDB method table retrieved with sai_api_query()
 

Enumerations

enum  _sai_fdb_entry_type_t { SAI_FDB_ENTRY_TYPE_DYNAMIC , SAI_FDB_ENTRY_TYPE_STATIC }
 FDB entry type. More...
 
enum  _sai_fdb_event_t { SAI_FDB_EVENT_LEARNED , SAI_FDB_EVENT_AGED , SAI_FDB_EVENT_MOVE , SAI_FDB_EVENT_FLUSHED }
 FDB event type. More...
 
enum  _sai_fdb_entry_attr_t {
  SAI_FDB_ENTRY_ATTR_START , SAI_FDB_ENTRY_ATTR_TYPE = SAI_FDB_ENTRY_ATTR_START , SAI_FDB_ENTRY_ATTR_PACKET_ACTION , SAI_FDB_ENTRY_ATTR_USER_TRAP_ID ,
  SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID , SAI_FDB_ENTRY_ATTR_META_DATA , SAI_FDB_ENTRY_ATTR_ENDPOINT_IP , SAI_FDB_ENTRY_ATTR_COUNTER_ID ,
  SAI_FDB_ENTRY_ATTR_ALLOW_MAC_MOVE , SAI_FDB_ENTRY_ATTR_END , SAI_FDB_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_FDB_ENTRY_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for FDB entry. More...
 
enum  _sai_fdb_flush_entry_type_t { SAI_FDB_FLUSH_ENTRY_TYPE_DYNAMIC , SAI_FDB_FLUSH_ENTRY_TYPE_STATIC , SAI_FDB_FLUSH_ENTRY_TYPE_ALL }
 FDB Flush entry type. More...
 
enum  _sai_fdb_flush_attr_t {
  SAI_FDB_FLUSH_ATTR_START , SAI_FDB_FLUSH_ATTR_BRIDGE_PORT_ID = SAI_FDB_FLUSH_ATTR_START , SAI_FDB_FLUSH_ATTR_BV_ID , SAI_FDB_FLUSH_ATTR_ENTRY_TYPE ,
  SAI_FDB_FLUSH_ATTR_END , SAI_FDB_FLUSH_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_FDB_FLUSH_ATTR_CUSTOM_RANGE_END
}
 Attribute for FDB flush API to specify the type of FDB entries being flushed. More...
 

Detailed Description

This module defines SAI FDB interface.

Copyright (c) 2014 Microsoft Open Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

THIS CODE IS PROVIDED ON AN AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT.

See the Apache Version 2.0 License for specific language governing permissions and limitations under the License.

Microsoft would like to thank the following companies for their review and assistance with these files: Intel Corporation, Mellanox Technologies Ltd, Dell Products, L.P., Facebook, Inc., Marvell International Ltd.

Definition in file saifdb.h.