SAI Metadata
Loading...
Searching...
No Matches
saiobject.h
Go to the documentation of this file.
1
25#if !defined (__SAIOBJECT_H_)
26#define __SAIOBJECT_H_
27
28#include <saitypes.h>
29#include <saifdb.h>
30#include <saimcastfdb.h>
31#include <sail2mc.h>
32#include <saiipmc.h>
33#include <saineighbor.h>
34#include <sairoute.h>
35#include <saimpls.h>
36#include <sainat.h>
37#include <saisrv6.h>
38
39/* new experimental object type includes */
50
61{
67 sai_object_id_t object_id;
68
71
74
77
80
83
86
89
92
95
98
101
104
107
110
113
116
117 /* Add new experimental entries above this line */
118
120
128typedef struct _sai_object_key_t
129{
132
134
139{
144
149
154
156
167 _In_ sai_object_id_t switch_id,
168 _In_ sai_object_type_t object_type,
169 _Out_ uint32_t *count);
170
181 _In_ sai_object_id_t switch_id,
182 _In_ sai_object_type_t object_type,
183 _Out_ uint32_t *count);
184
197 _In_ sai_object_id_t switch_id,
198 _In_ sai_object_type_t object_type,
199 _Inout_ uint32_t *object_count,
200 _Inout_ sai_object_key_t *object_list);
201
234 _In_ sai_object_id_t switch_id,
235 _In_ sai_object_type_t object_type,
236 _In_ uint32_t object_count,
237 _In_ const sai_object_key_t *object_key,
238 _Inout_ uint32_t *attr_count,
239 _Inout_ sai_attribute_t **attr_list,
240 _Inout_ sai_status_t *object_statuses);
241
253 _In_ sai_object_id_t switch_id,
254 _In_ sai_object_type_t object_type,
255 _In_ sai_attr_id_t attr_id,
256 _Out_ sai_attr_capability_t *attr_capability);
257
269 _In_ sai_object_id_t switch_id,
270 _In_ sai_object_type_t object_type,
271 _In_ sai_attr_id_t attr_id,
272 _Inout_ sai_s32_list_t *enum_values_capability);
273
284 _In_ sai_object_id_t switch_id,
285 _In_ sai_object_type_t object_type,
286 _Inout_ sai_stat_capability_list_t *stats_capability);
287
306 _In_ sai_object_id_t switch_id,
307 _In_ sai_object_type_t object_type,
308 _In_ uint32_t object_count,
309 _In_ const sai_object_key_t *object_key,
310 _In_ uint32_t number_of_counters,
311 _In_ const sai_stat_id_t *counter_ids,
312 _In_ sai_stats_mode_t mode,
313 _Inout_ sai_status_t *object_statuses,
314 _Out_ uint64_t *counters);
315
331 _In_ sai_object_id_t switch_id,
332 _In_ sai_object_type_t object_type,
333 _In_ uint32_t object_count,
334 _In_ const sai_object_key_t *object_key,
335 _In_ uint32_t number_of_counters,
336 _In_ const sai_stat_id_t *counter_ids,
337 _In_ sai_stats_mode_t mode,
338 _Inout_ sai_status_t *object_statuses);
339
352 _In_ sai_object_id_t switch_id,
353 _In_ sai_object_type_t object_type,
354 _In_ uint32_t attr_count,
355 _In_ const sai_attribute_t *attr_list,
356 _Out_ sai_object_stage_t *stage);
357
361#endif
sai_status_t sai_get_maximum_attribute_count(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _Out_ uint32_t *count)
Get maximum number of attributes for an object type.
sai_status_t sai_get_object_key(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _Inout_ uint32_t *object_count, _Inout_ sai_object_key_t *object_list)
Get the number of and list of object keys present in SAI if enough large list provided,...
sai_status_t sai_query_stats_capability(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _Inout_ sai_stat_capability_list_t *stats_capability)
Query statistics capability for statistics bound at object level.
sai_status_t sai_get_object_count(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _Out_ uint32_t *count)
Get the number of objects present in SAI. Deprecated for backward compatibility.
sai_status_t sai_query_attribute_capability(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _In_ sai_attr_id_t attr_id, _Out_ sai_attr_capability_t *attr_capability)
Query attribute capability.
struct _sai_object_key_t sai_object_key_t
Structure for bulk retrieval of object ids, attribute and values for each object-type....
sai_status_t sai_bulk_object_clear_stats(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _In_ uint32_t object_count, _In_ const sai_object_key_t *object_key, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Inout_ sai_status_t *object_statuses)
Bulk objects clear statistics.
struct _sai_attr_capability_t sai_attr_capability_t
Structure for attribute capabilities per operation.
union _sai_object_key_entry_t sai_object_key_entry_t
sai_status_t sai_query_attribute_enum_values_capability(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _In_ sai_attr_id_t attr_id, _Inout_ sai_s32_list_t *enum_values_capability)
Query an enum attribute (enum or enum list) list of implemented enum values.
sai_status_t sai_bulk_object_get_stats(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _In_ uint32_t object_count, _In_ const sai_object_key_t *object_key, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Inout_ sai_status_t *object_statuses, _Out_ uint64_t *counters)
Bulk objects get statistics.
sai_status_t sai_bulk_get_attribute(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _In_ uint32_t object_count, _In_ const sai_object_key_t *object_key, _Inout_ uint32_t *attr_count, _Inout_ sai_attribute_t **attr_list, _Inout_ sai_status_t *object_statuses)
Get the bulk list of valid attributes for a given list of object keys.
sai_status_t sai_query_object_stage(_In_ sai_object_id_t switch_id, _In_ sai_object_type_t object_type, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list, _Out_ sai_object_stage_t *stage)
Query the HW stage of an attribute for the specified object type.
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
enum _sai_object_type_t sai_object_type_t
SAI object type.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI P4 extension interface.
This module defines SAI FDB interface.
This module defines SAI IPMC interface.
This module defines SAI L2MC interface.
This module defines SAI multicast FDB interface.
This module defines SAI MPLS interface.
This module defines SAI NAT (Network Address Translation) spec.
This module defines SAI Neighbor interface.
This module defines SAI Route Entry interface.
This module defines SAI SRV6 Entry interface.
This module defines SAI portable types.
Structure for attribute capabilities per operation.
Definition saiobject.h:139
bool get_implemented
Get is implemented.
Definition saiobject.h:153
bool set_implemented
Set is implemented.
Definition saiobject.h:148
bool create_implemented
Create is implemented.
Definition saiobject.h:143
Entry for direction_lookup_entry.
Entry for eni_ether_address_map_entry.
FDB entry key.
Definition saifdb.h:53
Entry for inbound_routing_entry.
In segment entry.
Definition saimpls.h:232
IPMC entry key.
Definition saiipmc.h:53
L2MC entry key.
Definition sail2mc.h:53
MCAST FDB entry key.
Definition saimcastfdb.h:40
My SID Entry.
Definition saisrv6.h:427
NAT entry.
Definition sainat.h:321
Neighbor entry.
Structure for bulk retrieval of object ids, attribute and values for each object-type....
Definition saiobject.h:129
sai_object_key_entry_t key
Definition saiobject.h:131
Entry for outbound_ca_to_pa_entry.
Entry for outbound_routing_entry.
Entry for pa_validation_entry.
Unicast route entry.
Definition sairoute.h:162
Entry for vip_entry.
Definition saiobject.h:61
sai_my_sid_entry_t my_sid_entry
Definition saiobject.h:94
sai_neighbor_entry_t neighbor_entry
Definition saiobject.h:73
sai_inseg_entry_t inseg_entry
Definition saiobject.h:88
sai_ipmc_entry_t ipmc_entry
Definition saiobject.h:85
sai_nat_entry_t nat_entry
Definition saiobject.h:91
sai_outbound_routing_entry_t outbound_routing_entry
Definition saiobject.h:109
sai_inbound_routing_entry_t inbound_routing_entry
Definition saiobject.h:103
sai_l2mc_entry_t l2mc_entry
Definition saiobject.h:82
sai_fdb_entry_t fdb_entry
Definition saiobject.h:70
sai_outbound_ca_to_pa_entry_t outbound_ca_to_pa_entry
Definition saiobject.h:106
sai_direction_lookup_entry_t direction_lookup_entry
Definition saiobject.h:97
sai_eni_ether_address_map_entry_t eni_ether_address_map_entry
Definition saiobject.h:100
sai_vip_entry_t vip_entry
Definition saiobject.h:115
sai_object_id_t object_id
Key is object ID.
Definition saiobject.h:67
sai_pa_validation_entry_t pa_validation_entry
Definition saiobject.h:112
sai_mcast_fdb_entry_t mcast_fdb_entry
Definition saiobject.h:79
sai_route_entry_t route_entry
Definition saiobject.h:76