SAI Metadata
|
Classes | |
struct | _sai_neighbor_entry_t |
Neighbor entry. More... | |
struct | _sai_neighbor_api_t |
Neighbor table methods, retrieved via sai_api_query() More... | |
Typedefs | |
typedef enum _sai_neighbor_entry_attr_t | sai_neighbor_entry_attr_t |
Attribute Id for SAI neighbor object. | |
typedef struct _sai_neighbor_entry_t | sai_neighbor_entry_t |
Neighbor entry. | |
typedef sai_status_t(* | sai_create_neighbor_entry_fn) (_In_ const sai_neighbor_entry_t *neighbor_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) |
Create neighbor entry. | |
typedef sai_status_t(* | sai_remove_neighbor_entry_fn) (_In_ const sai_neighbor_entry_t *neighbor_entry) |
Remove neighbor entry. | |
typedef sai_status_t(* | sai_set_neighbor_entry_attribute_fn) (_In_ const sai_neighbor_entry_t *neighbor_entry, _In_ const sai_attribute_t *attr) |
Set neighbor attribute value. | |
typedef sai_status_t(* | sai_get_neighbor_entry_attribute_fn) (_In_ const sai_neighbor_entry_t *neighbor_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) |
Get neighbor attribute value. | |
typedef sai_status_t(* | sai_remove_all_neighbor_entries_fn) (_In_ sai_object_id_t switch_id) |
Remove all neighbor entries. | |
typedef sai_status_t(* | sai_bulk_create_neighbor_entry_fn) (_In_ uint32_t object_count, _In_ const sai_neighbor_entry_t *neighbor_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 Neighbor entry. | |
typedef sai_status_t(* | sai_bulk_remove_neighbor_entry_fn) (_In_ uint32_t object_count, _In_ const sai_neighbor_entry_t *neighbor_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses) |
Bulk remove Neighbor entry. | |
typedef sai_status_t(* | sai_bulk_set_neighbor_entry_attribute_fn) (_In_ uint32_t object_count, _In_ const sai_neighbor_entry_t *neighbor_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 Neighbor entry. | |
typedef sai_status_t(* | sai_bulk_get_neighbor_entry_attribute_fn) (_In_ uint32_t object_count, _In_ const sai_neighbor_entry_t *neighbor_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 Neighbor entry. | |
typedef struct _sai_neighbor_api_t | sai_neighbor_api_t |
Neighbor table methods, retrieved via sai_api_query() | |
Enumerations | |
enum | _sai_neighbor_entry_attr_t { SAI_NEIGHBOR_ENTRY_ATTR_START , SAI_NEIGHBOR_ENTRY_ATTR_DST_MAC_ADDRESS = SAI_NEIGHBOR_ENTRY_ATTR_START , SAI_NEIGHBOR_ENTRY_ATTR_PACKET_ACTION , SAI_NEIGHBOR_ENTRY_ATTR_USER_TRAP_ID , SAI_NEIGHBOR_ENTRY_ATTR_NO_HOST_ROUTE , SAI_NEIGHBOR_ENTRY_ATTR_META_DATA , SAI_NEIGHBOR_ENTRY_ATTR_COUNTER_ID , SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_INDEX , SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_IMPOSE_INDEX , SAI_NEIGHBOR_ENTRY_ATTR_IS_LOCAL , SAI_NEIGHBOR_ENTRY_ATTR_IP_ADDR_FAMILY , SAI_NEIGHBOR_ENTRY_ATTR_END , SAI_NEIGHBOR_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_NEIGHBOR_ENTRY_ATTR_CUSTOM_RANGE_END } |
Attribute Id for SAI neighbor object. More... | |
typedef sai_status_t(* sai_bulk_create_neighbor_entry_fn) (_In_ uint32_t object_count, _In_ const sai_neighbor_entry_t *neighbor_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 Neighbor entry.
[in] | object_count | Number of objects to create |
[in] | neighbor_entry | List of object to create |
[in] | attr_count | List of attr_count. Caller passes the number of attribute for each object to create. |
[in] | attr_list | List of attributes for every object. |
[in] | mode | Bulk operation error handling mode. |
[out] | object_statuses | List of status for every object. Caller needs to allocate the buffer |
Definition at line 289 of file saineighbor.h.
typedef sai_status_t(* sai_bulk_get_neighbor_entry_attribute_fn) (_In_ uint32_t object_count, _In_ const sai_neighbor_entry_t *neighbor_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 Neighbor entry.
[in] | object_count | Number of objects to get attribute |
[in] | neighbor_entry | List of objects to get attribute |
[in] | attr_count | List of attr_count. Caller passes the number of attribute for each object to get |
[in,out] | attr_list | List of attributes to get on objects, one attribute per object |
[in] | mode | Bulk operation error handling mode |
[out] | object_statuses | List of status for every object. Caller needs to allocate the buffer |
Definition at line 356 of file saineighbor.h.
typedef sai_status_t(* sai_bulk_remove_neighbor_entry_fn) (_In_ uint32_t object_count, _In_ const sai_neighbor_entry_t *neighbor_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses) |
Bulk remove Neighbor entry.
[in] | object_count | Number of objects to remove |
[in] | neighbor_entry | List of objects to remove |
[in] | mode | Bulk operation error handling mode. |
[out] | object_statuses | List of status for every object. Caller needs to allocate the buffer |
Definition at line 311 of file saineighbor.h.
typedef sai_status_t(* sai_bulk_set_neighbor_entry_attribute_fn) (_In_ uint32_t object_count, _In_ const sai_neighbor_entry_t *neighbor_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 Neighbor entry.
[in] | object_count | Number of objects to set attribute |
[in] | neighbor_entry | List of objects to set attribute |
[in] | attr_list | List of attributes to set on objects, one attribute per object |
[in] | mode | Bulk operation error handling mode. |
[out] | object_statuses | List of status for every object. Caller needs to allocate the buffer |
Definition at line 332 of file saineighbor.h.
typedef sai_status_t(* sai_create_neighbor_entry_fn) (_In_ const sai_neighbor_entry_t *neighbor_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) |
Create neighbor entry.
Note: IP address expected in Network Byte Order.
[in] | neighbor_entry | Neighbor entry |
[in] | attr_count | Number of attributes |
[in] | attr_list | Array of attributes |
Definition at line 219 of file saineighbor.h.
typedef sai_status_t(* sai_get_neighbor_entry_attribute_fn) (_In_ const sai_neighbor_entry_t *neighbor_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list) |
Get neighbor attribute value.
[in] | neighbor_entry | Neighbor entry |
[in] | attr_count | Number of attributes |
[in,out] | attr_list | Array of attributes |
Definition at line 257 of file saineighbor.h.
typedef sai_status_t(* sai_remove_all_neighbor_entries_fn) (_In_ sai_object_id_t switch_id) |
Remove all neighbor entries.
[in] | switch_id | Switch id |
Definition at line 269 of file saineighbor.h.
typedef sai_status_t(* sai_remove_neighbor_entry_fn) (_In_ const sai_neighbor_entry_t *neighbor_entry) |
Remove neighbor entry.
Note: IP address expected in Network Byte Order.
[in] | neighbor_entry | Neighbor entry |
Definition at line 233 of file saineighbor.h.
typedef sai_status_t(* sai_set_neighbor_entry_attribute_fn) (_In_ const sai_neighbor_entry_t *neighbor_entry, _In_ const sai_attribute_t *attr) |
Set neighbor attribute value.
[in] | neighbor_entry | Neighbor entry |
[in] | attr | Attribute |
Definition at line 244 of file saineighbor.h.
Attribute Id for SAI neighbor object.
Enumerator | |
---|---|
SAI_NEIGHBOR_ENTRY_ATTR_START | Start of attributes. |
SAI_NEIGHBOR_ENTRY_ATTR_DST_MAC_ADDRESS | Destination MAC address for the neighbor Valid only when SAI_NEIGHBOR_ENTRY_ATTR_IS_LOCAL == true.
|
SAI_NEIGHBOR_ENTRY_ATTR_PACKET_ACTION | L3 forwarding action for this neighbor.
|
SAI_NEIGHBOR_ENTRY_ATTR_USER_TRAP_ID | Generate User Defined Trap ID for trap/log actions. When it is SAI_NULL_OBJECT_ID, then packet will not be trapped.
|
SAI_NEIGHBOR_ENTRY_ATTR_NO_HOST_ROUTE | Neighbor not to be programmed as a host route entry in ASIC and to be only used to setup next-hop purpose. Typical use-case is to set this true for neighbor with IPv6 link-local addresses.
|
SAI_NEIGHBOR_ENTRY_ATTR_META_DATA | User based Meta Data. Value Range SAI_SWITCH_ATTR_NEIGHBOR_DST_USER_META_DATA_RANGE
|
SAI_NEIGHBOR_ENTRY_ATTR_COUNTER_ID | Attach a counter. When it is empty, then packet hits won't be counted
|
SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_INDEX | Encapsulation Index. Defines the neighbor's encapsulation index
|
SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_IMPOSE_INDEX | Encapsulation index is imposed. This is deprecated. This attribute is deprecated This is a flag which states that the encap index was imposed. On create and set the SAI_NEIGHBOR_ENTRY_ATTR_ENCAP_INDEX must be present.
|
SAI_NEIGHBOR_ENTRY_ATTR_IS_LOCAL | Is Neighbor Local. This is a flag which states that the neighbor being created is local. This can be used to sanity check the impose index flag. For example, in some implementations imposing an encap index when the RIF is port-based and the neighbor is local may not be allowed.
|
SAI_NEIGHBOR_ENTRY_ATTR_IP_ADDR_FAMILY | Neighbor entry IP address family. READ-ONLY
|
SAI_NEIGHBOR_ENTRY_ATTR_END | End of attributes. |
SAI_NEIGHBOR_ENTRY_ATTR_CUSTOM_RANGE_START | Custom range base value |
SAI_NEIGHBOR_ENTRY_ATTR_CUSTOM_RANGE_END | End of custom range base |
Definition at line 44 of file saineighbor.h.