SAI Metadata
Loading...
Searching...
No Matches
sairoute.h
Go to the documentation of this file.
1
25#if !defined (__SAIROUTE_H_)
26#define __SAIROUTE_H_
27
28#include <saitypes.h>
29
40{
45
46 /* READ-WRITE */
47
56
69
95
106
117
130
144
149
152
155
157
161typedef struct _sai_route_entry_t
162{
168 sai_object_id_t switch_id;
169
175 sai_object_id_t vr_id;
176
181
183
195typedef sai_status_t (*sai_create_route_entry_fn)(
196 _In_ const sai_route_entry_t *route_entry,
197 _In_ uint32_t attr_count,
198 _In_ const sai_attribute_t *attr_list);
199
209typedef sai_status_t (*sai_remove_route_entry_fn)(
210 _In_ const sai_route_entry_t *route_entry);
211
220typedef sai_status_t (*sai_set_route_entry_attribute_fn)(
221 _In_ const sai_route_entry_t *route_entry,
222 _In_ const sai_attribute_t *attr);
223
233typedef sai_status_t (*sai_get_route_entry_attribute_fn)(
234 _In_ const sai_route_entry_t *route_entry,
235 _In_ uint32_t attr_count,
236 _Inout_ sai_attribute_t *attr_list);
237
255typedef sai_status_t (*sai_bulk_create_route_entry_fn)(
256 _In_ uint32_t object_count,
257 _In_ const sai_route_entry_t *route_entry,
258 _In_ const uint32_t *attr_count,
259 _In_ const sai_attribute_t **attr_list,
260 _In_ sai_bulk_op_error_mode_t mode,
261 _Out_ sai_status_t *object_statuses);
262
277typedef sai_status_t (*sai_bulk_remove_route_entry_fn)(
278 _In_ uint32_t object_count,
279 _In_ const sai_route_entry_t *route_entry,
280 _In_ sai_bulk_op_error_mode_t mode,
281 _Out_ sai_status_t *object_statuses);
282
299 _In_ uint32_t object_count,
300 _In_ const sai_route_entry_t *route_entry,
301 _In_ const sai_attribute_t *attr_list,
302 _In_ sai_bulk_op_error_mode_t mode,
303 _Out_ sai_status_t *object_statuses);
304
323 _In_ uint32_t object_count,
324 _In_ const sai_route_entry_t *route_entry,
325 _In_ const uint32_t *attr_count,
326 _Inout_ sai_attribute_t **attr_list,
327 _In_ sai_bulk_op_error_mode_t mode,
328 _Out_ sai_status_t *object_statuses);
329
333typedef struct _sai_route_api_t
334{
335 sai_create_route_entry_fn create_route_entry;
336 sai_remove_route_entry_fn remove_route_entry;
337 sai_set_route_entry_attribute_fn set_route_entry_attribute;
338 sai_get_route_entry_attribute_fn get_route_entry_attribute;
339
340 sai_bulk_create_route_entry_fn create_route_entries;
341 sai_bulk_remove_route_entry_fn remove_route_entries;
342 sai_bulk_set_route_entry_attribute_fn set_route_entries_attribute;
343 sai_bulk_get_route_entry_attribute_fn get_route_entries_attribute;
344
346
350#endif
sai_status_t(* sai_bulk_create_route_entry_fn)(_In_ uint32_t object_count, _In_ const sai_route_entry_t *route_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 route entry.
Definition sairoute.h:255
_sai_route_entry_attr_t
Attribute Id for SAI route object.
Definition sairoute.h:40
sai_status_t(* sai_remove_route_entry_fn)(_In_ const sai_route_entry_t *route_entry)
Remove Route.
Definition sairoute.h:209
sai_status_t(* sai_set_route_entry_attribute_fn)(_In_ const sai_route_entry_t *route_entry, _In_ const sai_attribute_t *attr)
Set route attribute value.
Definition sairoute.h:220
sai_status_t(* sai_create_route_entry_fn)(_In_ const sai_route_entry_t *route_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create Route.
Definition sairoute.h:195
struct _sai_route_api_t sai_route_api_t
Router entry methods table retrieved with sai_api_query()
sai_status_t(* sai_bulk_remove_route_entry_fn)(_In_ uint32_t object_count, _In_ const sai_route_entry_t *route_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk remove route entry.
Definition sairoute.h:277
sai_status_t(* sai_bulk_set_route_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_route_entry_t *route_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 route entry.
Definition sairoute.h:298
sai_status_t(* sai_bulk_get_route_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_route_entry_t *route_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 route entry.
Definition sairoute.h:322
struct _sai_route_entry_t sai_route_entry_t
Unicast route entry.
sai_status_t(* sai_get_route_entry_attribute_fn)(_In_ const sai_route_entry_t *route_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get route attribute value.
Definition sairoute.h:233
enum _sai_route_entry_attr_t sai_route_entry_attr_t
Attribute Id for SAI route object.
@ SAI_ROUTE_ENTRY_ATTR_END
End of attributes.
Definition sairoute.h:148
@ SAI_ROUTE_ENTRY_ATTR_COUNTER_ID
Attach a counter.
Definition sairoute.h:129
@ SAI_ROUTE_ENTRY_ATTR_PREFIX_AGG_ID
Route Prefix Aggregation ID.
Definition sairoute.h:143
@ SAI_ROUTE_ENTRY_ATTR_CUSTOM_RANGE_START
Definition sairoute.h:151
@ SAI_ROUTE_ENTRY_ATTR_CUSTOM_RANGE_END
Definition sairoute.h:154
@ SAI_ROUTE_ENTRY_ATTR_META_DATA
User based Meta Data.
Definition sairoute.h:105
@ SAI_ROUTE_ENTRY_ATTR_NEXT_HOP_ID
Next hop or next hop group id for the packet, or a router interface in case of directly reachable rou...
Definition sairoute.h:94
@ SAI_ROUTE_ENTRY_ATTR_PACKET_ACTION
Packet action.
Definition sairoute.h:55
@ SAI_ROUTE_ENTRY_ATTR_IP_ADDR_FAMILY
Route entry IP address family.
Definition sairoute.h:116
@ SAI_ROUTE_ENTRY_ATTR_USER_TRAP_ID
Generate User Defined Trap ID for trap/log actions.
Definition sairoute.h:68
@ SAI_ROUTE_ENTRY_ATTR_START
Start of attributes.
Definition sairoute.h:44
This module defines SAI portable types.
Router entry methods table retrieved with sai_api_query()
Definition sairoute.h:334
Unicast route entry.
Definition sairoute.h:162
sai_ip_prefix_t destination
IP Prefix Destination.
Definition sairoute.h:180
sai_object_id_t vr_id
Virtual Router ID.
Definition sairoute.h:175
sai_object_id_t switch_id
Switch ID.
Definition sairoute.h:168