SAI Metadata
Loading...
Searching...
No Matches
sairouterinterface.h
Go to the documentation of this file.
1
25#if !defined (__SAIROUTERINTERFACE_H_)
26#define __SAIROUTERINTERFACE_H_
27
28#include <saitypes.h>
29
40{
43
46
49
52
55
58
61
63
68{
73
74 /* READ-ONLY */
75
84
92
102
112
122
132
142
143 /* READ-WRITE */
144
155
164
173
182
198
214
223
232
241
250
269
278
287
296
301
304
307
309
314{
317
320
323
326
329
332
335
338
340
351typedef sai_status_t (*sai_create_router_interface_fn)(
352 _Out_ sai_object_id_t *router_interface_id,
353 _In_ sai_object_id_t switch_id,
354 _In_ uint32_t attr_count,
355 _In_ const sai_attribute_t *attr_list);
356
364typedef sai_status_t (*sai_remove_router_interface_fn)(
365 _In_ sai_object_id_t router_interface_id);
366
376 _In_ sai_object_id_t router_interface_id,
377 _In_ const sai_attribute_t *attr);
378
389 _In_ sai_object_id_t router_interface_id,
390 _In_ uint32_t attr_count,
391 _Inout_ sai_attribute_t *attr_list);
392
403typedef sai_status_t (*sai_get_router_interface_stats_fn)(
404 _In_ sai_object_id_t router_interface_id,
405 _In_ uint32_t number_of_counters,
406 _In_ const sai_stat_id_t *counter_ids,
407 _Out_ uint64_t *counters);
408
421 _In_ sai_object_id_t router_interface_id,
422 _In_ uint32_t number_of_counters,
423 _In_ const sai_stat_id_t *counter_ids,
424 _In_ sai_stats_mode_t mode,
425 _Out_ uint64_t *counters);
426
437 _In_ sai_object_id_t router_interface_id,
438 _In_ uint32_t number_of_counters,
439 _In_ const sai_stat_id_t *counter_ids);
440
445{
446 sai_create_router_interface_fn create_router_interface;
447 sai_remove_router_interface_fn remove_router_interface;
448 sai_set_router_interface_attribute_fn set_router_interface_attribute;
449 sai_get_router_interface_attribute_fn get_router_interface_attribute;
450 sai_get_router_interface_stats_fn get_router_interface_stats;
451 sai_get_router_interface_stats_ext_fn get_router_interface_stats_ext;
452 sai_clear_router_interface_stats_fn clear_router_interface_stats;
453
454 sai_bulk_object_create_fn create_router_interfaces;
455 sai_bulk_object_remove_fn remove_router_interfaces;
456 sai_bulk_object_set_attribute_fn set_router_interfaces_attribute;
457 sai_bulk_object_get_attribute_fn get_router_interfaces_attribute;
458
460
464#endif
struct _sai_router_interface_api_t sai_router_interface_api_t
Routing interface methods table retrieved with sai_api_query()
sai_status_t(* sai_get_router_interface_stats_ext_fn)(_In_ sai_object_id_t router_interface_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters)
Get router interface statistics counters extended.
_sai_router_interface_attr_t
Routing interface attribute IDs.
enum _sai_router_interface_type_t sai_router_interface_type_t
Attribute data for SAI_ROUTER_INTERFACE_ATTR_TYPE.
_sai_router_interface_type_t
Attribute data for SAI_ROUTER_INTERFACE_ATTR_TYPE.
sai_status_t(* sai_set_router_interface_attribute_fn)(_In_ sai_object_id_t router_interface_id, _In_ const sai_attribute_t *attr)
Set router interface attribute.
sai_status_t(* sai_clear_router_interface_stats_fn)(_In_ sai_object_id_t router_interface_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
Clear router interface statistics counters.
enum _sai_router_interface_stat_t sai_router_interface_stat_t
Router interface counter IDs in sai_get_router_interface_stats() call.
_sai_router_interface_stat_t
Router interface counter IDs in sai_get_router_interface_stats() call.
sai_status_t(* sai_create_router_interface_fn)(_Out_ sai_object_id_t *router_interface_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create router interface.
sai_status_t(* sai_get_router_interface_attribute_fn)(_In_ sai_object_id_t router_interface_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get router interface attribute.
sai_status_t(* sai_get_router_interface_stats_fn)(_In_ sai_object_id_t router_interface_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
Get router interface statistics counters. Deprecated for backward compatibility.
enum _sai_router_interface_attr_t sai_router_interface_attr_t
Routing interface attribute IDs.
sai_status_t(* sai_remove_router_interface_fn)(_In_ sai_object_id_t router_interface_id)
Remove router interface.
@ SAI_ROUTER_INTERFACE_ATTR_OUTER_VLAN_ID
Outer Vlan.
@ SAI_ROUTER_INTERFACE_ATTR_SRC_MAC_ADDRESS
MAC Address.
@ SAI_ROUTER_INTERFACE_ATTR_VLAN_ID
Associated Vlan.
@ SAI_ROUTER_INTERFACE_ATTR_PORT_ID
Associated Port, System Port or LAG object id.
@ SAI_ROUTER_INTERFACE_ATTR_MTU
MTU.
@ SAI_ROUTER_INTERFACE_ATTR_CUSTOM_RANGE_START
@ SAI_ROUTER_INTERFACE_ATTR_END
End of attributes.
@ SAI_ROUTER_INTERFACE_ATTR_ADMIN_V6_STATE
Admin V6 state.
@ SAI_ROUTER_INTERFACE_ATTR_NAT_ZONE_ID
NAT Zone ID.
@ SAI_ROUTER_INTERFACE_ATTR_ADMIN_V4_STATE
Admin V4 state.
@ SAI_ROUTER_INTERFACE_ATTR_LOOPBACK_PACKET_ACTION
Packet action when a packet ingress and gets routed on the same RIF.
@ SAI_ROUTER_INTERFACE_ATTR_CUSTOM_RANGE_END
@ SAI_ROUTER_INTERFACE_ATTR_VIRTUAL_ROUTER_ID
Virtual router id.
@ SAI_ROUTER_INTERFACE_ATTR_INGRESS_ACL
RIF bind point for ingress ACL object.
@ SAI_ROUTER_INTERFACE_ATTR_START
Start of attributes.
@ SAI_ROUTER_INTERFACE_ATTR_EGRESS_ACL
RIF bind point for egress ACL object.
@ SAI_ROUTER_INTERFACE_ATTR_V4_MCAST_ENABLE
V4 mcast enable.
@ SAI_ROUTER_INTERFACE_ATTR_INNER_VLAN_ID
Inner Vlan.
@ SAI_ROUTER_INTERFACE_ATTR_NEIGHBOR_MISS_PACKET_ACTION
Packet action when neighbor table lookup miss for this router interface.
@ SAI_ROUTER_INTERFACE_ATTR_ADMIN_MPLS_STATE
Admin MPLS state.
@ SAI_ROUTER_INTERFACE_ATTR_TYPE
Router interface type.
@ SAI_ROUTER_INTERFACE_ATTR_BRIDGE_ID
Associated 1D Bridge.
@ SAI_ROUTER_INTERFACE_ATTR_V6_MCAST_ENABLE
V6 mcast enable.
@ SAI_ROUTER_INTERFACE_ATTR_IS_VIRTUAL
RIF creation is a virtual RIF.
@ SAI_ROUTER_INTERFACE_ATTR_DISABLE_DECREMENT_TTL
To enable/disable Decrement TTL.
@ SAI_ROUTER_INTERFACE_TYPE_PORT
@ SAI_ROUTER_INTERFACE_TYPE_QINQ_PORT
@ SAI_ROUTER_INTERFACE_TYPE_SUB_PORT
@ SAI_ROUTER_INTERFACE_TYPE_LOOPBACK
@ SAI_ROUTER_INTERFACE_TYPE_VLAN
@ SAI_ROUTER_INTERFACE_TYPE_BRIDGE
@ SAI_ROUTER_INTERFACE_TYPE_MPLS_ROUTER
@ SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS
@ SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS
@ SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS
@ SAI_ROUTER_INTERFACE_STAT_IN_PACKETS
@ SAI_ROUTER_INTERFACE_STAT_IN_OCTETS
@ SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS
@ SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS
@ SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
sai_status_t(* sai_bulk_object_get_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _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 objects get attributes.
Definition saitypes.h:1641
sai_status_t(* sai_bulk_object_create_fn)(_In_ sai_object_id_t switch_id, _In_ uint32_t object_count, _In_ const uint32_t *attr_count, _In_ const sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_object_id_t *object_id, _Out_ sai_status_t *object_statuses)
Bulk objects creation.
Definition saitypes.h:1577
sai_status_t(* sai_bulk_object_remove_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects removal.
Definition saitypes.h:1598
sai_status_t(* sai_bulk_object_set_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ const sai_attribute_t *attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects set attributes.
Definition saitypes.h:1618
This module defines SAI portable types.
Routing interface methods table retrieved with sai_api_query()