SAI Metadata
Loading...
Searching...
No Matches
saibridge.h
Go to the documentation of this file.
1
25#if !defined (__SAIBRIDGE_H_)
26#define __SAIBRIDGE_H_
27
28#include <saitypes.h>
29
40{
43
46
49
52
55
65
67
72{
75
78
81
84
87
89
94{
97
100
102
107{
112
120
132
144
154
167
177
187
196
205
215
227
236
246
261
266
269
272
274
279{
282
285
288
291
293
304typedef sai_status_t (*sai_create_bridge_port_fn)(
305 _Out_ sai_object_id_t *bridge_port_id,
306 _In_ sai_object_id_t switch_id,
307 _In_ uint32_t attr_count,
308 _In_ const sai_attribute_t *attr_list);
309
317typedef sai_status_t (*sai_remove_bridge_port_fn)(
318 _In_ sai_object_id_t bridge_port_id);
319
328typedef sai_status_t (*sai_set_bridge_port_attribute_fn)(
329 _In_ sai_object_id_t bridge_port_id,
330 _In_ const sai_attribute_t *attr);
331
341typedef sai_status_t (*sai_get_bridge_port_attribute_fn)(
342 _In_ sai_object_id_t bridge_port_id,
343 _In_ uint32_t attr_count,
344 _Inout_ sai_attribute_t *attr_list);
345
356typedef sai_status_t (*sai_get_bridge_port_stats_fn)(
357 _In_ sai_object_id_t bridge_port_id,
358 _In_ uint32_t number_of_counters,
359 _In_ const sai_stat_id_t *counter_ids,
360 _Out_ uint64_t *counters);
361
373typedef sai_status_t (*sai_get_bridge_port_stats_ext_fn)(
374 _In_ sai_object_id_t bridge_port_id,
375 _In_ uint32_t number_of_counters,
376 _In_ const sai_stat_id_t *counter_ids,
377 _In_ sai_stats_mode_t mode,
378 _Out_ uint64_t *counters);
379
389typedef sai_status_t (*sai_clear_bridge_port_stats_fn)(
390 _In_ sai_object_id_t bridge_port_id,
391 _In_ uint32_t number_of_counters,
392 _In_ const sai_stat_id_t *counter_ids);
393
398{
401
404
406
412{
421
424
427
435
437
442{
447
455
464
475
484
493
511
520
538
547
565
570
573
576
578
583{
586
589
592
595
597
608typedef sai_status_t (*sai_create_bridge_fn)(
609 _Out_ sai_object_id_t *bridge_id,
610 _In_ sai_object_id_t switch_id,
611 _In_ uint32_t attr_count,
612 _In_ const sai_attribute_t *attr_list);
613
621typedef sai_status_t (*sai_remove_bridge_fn)(
622 _In_ sai_object_id_t bridge_id);
623
632typedef sai_status_t (*sai_set_bridge_attribute_fn)(
633 _In_ sai_object_id_t bridge_id,
634 _In_ const sai_attribute_t *attr);
635
645typedef sai_status_t (*sai_get_bridge_attribute_fn)(
646 _In_ sai_object_id_t bridge_id,
647 _In_ uint32_t attr_count,
648 _Inout_ sai_attribute_t *attr_list);
649
660typedef sai_status_t (*sai_get_bridge_stats_fn)(
661 _In_ sai_object_id_t bridge_id,
662 _In_ uint32_t number_of_counters,
663 _In_ const sai_stat_id_t *counter_ids,
664 _Out_ uint64_t *counters);
665
677typedef sai_status_t (*sai_get_bridge_stats_ext_fn)(
678 _In_ sai_object_id_t bridge_id,
679 _In_ uint32_t number_of_counters,
680 _In_ const sai_stat_id_t *counter_ids,
681 _In_ sai_stats_mode_t mode,
682 _Out_ uint64_t *counters);
683
693typedef sai_status_t (*sai_clear_bridge_stats_fn)(
694 _In_ sai_object_id_t bridge_id,
695 _In_ uint32_t number_of_counters,
696 _In_ const sai_stat_id_t *counter_ids);
697
701typedef struct _sai_bridge_api_t
702{
703 sai_create_bridge_fn create_bridge;
704 sai_remove_bridge_fn remove_bridge;
705 sai_set_bridge_attribute_fn set_bridge_attribute;
706 sai_get_bridge_attribute_fn get_bridge_attribute;
707 sai_get_bridge_stats_fn get_bridge_stats;
708 sai_get_bridge_stats_ext_fn get_bridge_stats_ext;
709 sai_clear_bridge_stats_fn clear_bridge_stats;
710 sai_create_bridge_port_fn create_bridge_port;
711 sai_remove_bridge_port_fn remove_bridge_port;
712 sai_set_bridge_port_attribute_fn set_bridge_port_attribute;
713 sai_get_bridge_port_attribute_fn get_bridge_port_attribute;
714 sai_get_bridge_port_stats_fn get_bridge_port_stats;
715 sai_get_bridge_port_stats_ext_fn get_bridge_port_stats_ext;
716 sai_clear_bridge_port_stats_fn clear_bridge_port_stats;
718
722#endif
_sai_bridge_port_attr_t
SAI attributes for Bridge Port.
Definition saibridge.h:107
enum _sai_bridge_attr_t sai_bridge_attr_t
SAI attributes for Bridge.
struct _sai_bridge_api_t sai_bridge_api_t
Bridge methods table retrieved with sai_api_query()
_sai_bridge_port_type_t
Attribute data for SAI_BRIDGE_PORT_ATTR_TYPE.
Definition saibridge.h:72
sai_status_t(* sai_remove_bridge_port_fn)(_In_ sai_object_id_t bridge_port_id)
Remove bridge port.
Definition saibridge.h:317
sai_status_t(* sai_remove_bridge_fn)(_In_ sai_object_id_t bridge_id)
Remove bridge.
Definition saibridge.h:621
sai_status_t(* sai_get_bridge_stats_fn)(_In_ sai_object_id_t bridge_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
Get bridge statistics counters. Deprecated for backward compatibility.
Definition saibridge.h:660
sai_status_t(* sai_get_bridge_port_attribute_fn)(_In_ sai_object_id_t bridge_port_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get attributes of bridge port.
Definition saibridge.h:341
_sai_bridge_type_t
Attribute data for SAI_BRIDGE_ATTR_TYPE.
Definition saibridge.h:398
enum _sai_bridge_port_fdb_learning_mode_t sai_bridge_port_fdb_learning_mode_t
Attribute data for SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE.
enum _sai_bridge_port_stat_t sai_bridge_port_stat_t
Bridge port counter IDs in sai_get_bridge_port_stats() call.
_sai_bridge_port_stat_t
Bridge port counter IDs in sai_get_bridge_port_stats() call.
Definition saibridge.h:279
sai_status_t(* sai_create_bridge_fn)(_Out_ sai_object_id_t *bridge_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create bridge.
Definition saibridge.h:608
sai_status_t(* sai_set_bridge_port_attribute_fn)(_In_ sai_object_id_t bridge_port_id, _In_ const sai_attribute_t *attr)
Set attribute for bridge port.
Definition saibridge.h:328
sai_status_t(* sai_set_bridge_attribute_fn)(_In_ sai_object_id_t bridge_id, _In_ const sai_attribute_t *attr)
Set attribute for bridge.
Definition saibridge.h:632
enum _sai_bridge_stat_t sai_bridge_stat_t
Bridge counter IDs in sai_get_bridge_stats() call.
sai_status_t(* sai_get_bridge_port_stats_fn)(_In_ sai_object_id_t bridge_port_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
Get bridge port statistics counters. Deprecated for backward compatibility.
Definition saibridge.h:356
enum _sai_bridge_port_type_t sai_bridge_port_type_t
Attribute data for SAI_BRIDGE_PORT_ATTR_TYPE.
sai_status_t(* sai_get_bridge_stats_ext_fn)(_In_ sai_object_id_t bridge_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 bridge statistics counters extended.
Definition saibridge.h:677
_sai_bridge_port_fdb_learning_mode_t
Attribute data for SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE.
Definition saibridge.h:40
sai_status_t(* sai_clear_bridge_stats_fn)(_In_ sai_object_id_t bridge_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
Clear bridge statistics counters.
Definition saibridge.h:693
_sai_bridge_port_tagging_mode_t
Attribute data for SAI_BRIDGE_PORT_ATTR_TAGGING_MODE.
Definition saibridge.h:94
sai_status_t(* sai_get_bridge_port_stats_ext_fn)(_In_ sai_object_id_t bridge_port_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 bridge port statistics counters extended.
Definition saibridge.h:373
_sai_bridge_stat_t
Bridge counter IDs in sai_get_bridge_stats() call.
Definition saibridge.h:583
enum _sai_bridge_flood_control_type_t sai_bridge_flood_control_type_t
Attribute data for unknown unicast, unknown multicast and broadcast flood controls.
sai_status_t(* sai_create_bridge_port_fn)(_Out_ sai_object_id_t *bridge_port_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create bridge port.
Definition saibridge.h:304
enum _sai_bridge_port_attr_t sai_bridge_port_attr_t
SAI attributes for Bridge Port.
enum _sai_bridge_port_tagging_mode_t sai_bridge_port_tagging_mode_t
Attribute data for SAI_BRIDGE_PORT_ATTR_TAGGING_MODE.
_sai_bridge_attr_t
SAI attributes for Bridge.
Definition saibridge.h:442
sai_status_t(* sai_clear_bridge_port_stats_fn)(_In_ sai_object_id_t bridge_port_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
Clear bridge port statistics counters.
Definition saibridge.h:389
_sai_bridge_flood_control_type_t
Attribute data for unknown unicast, unknown multicast and broadcast flood controls.
Definition saibridge.h:412
enum _sai_bridge_type_t sai_bridge_type_t
Attribute data for SAI_BRIDGE_ATTR_TYPE.
sai_status_t(* sai_get_bridge_attribute_fn)(_In_ sai_object_id_t bridge_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get attributes of bridge.
Definition saibridge.h:645
@ SAI_BRIDGE_PORT_ATTR_ADMIN_STATE
Admin Mode.
Definition saibridge.h:226
@ SAI_BRIDGE_PORT_ATTR_MAX_LEARNED_ADDRESSES
Maximum number of learned MAC addresses.
Definition saibridge.h:204
@ SAI_BRIDGE_PORT_ATTR_CUSTOM_RANGE_END
Definition saibridge.h:271
@ SAI_BRIDGE_PORT_ATTR_START
Start of attributes.
Definition saibridge.h:111
@ SAI_BRIDGE_PORT_ATTR_TAGGING_MODE
Tagging mode of the bridge port.
Definition saibridge.h:143
@ SAI_BRIDGE_PORT_ATTR_RIF_ID
Associated router interface object id.
Definition saibridge.h:166
@ SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_MODE
FDB Learning mode.
Definition saibridge.h:195
@ SAI_BRIDGE_PORT_ATTR_END
End of attributes.
Definition saibridge.h:265
@ SAI_BRIDGE_PORT_ATTR_INGRESS_FILTERING
Ingress filtering (drop frames with unknown VLANs)
Definition saibridge.h:235
@ SAI_BRIDGE_PORT_ATTR_BRIDGE_ID
Associated bridge id.
Definition saibridge.h:186
@ SAI_BRIDGE_PORT_ATTR_EGRESS_FILTERING
Egress filtering (drop frames with unknown VLANs at egress)
Definition saibridge.h:245
@ SAI_BRIDGE_PORT_ATTR_CUSTOM_RANGE_START
Definition saibridge.h:268
@ SAI_BRIDGE_PORT_ATTR_VLAN_ID
Associated Vlan.
Definition saibridge.h:153
@ SAI_BRIDGE_PORT_ATTR_FDB_LEARNING_LIMIT_VIOLATION_PACKET_ACTION
Action for packets with unknown source MAC address when FDB learning limit is reached.
Definition saibridge.h:214
@ SAI_BRIDGE_PORT_ATTR_ISOLATION_GROUP
Isolation group id.
Definition saibridge.h:260
@ SAI_BRIDGE_PORT_ATTR_TYPE
Bridge port type.
Definition saibridge.h:119
@ SAI_BRIDGE_PORT_ATTR_PORT_ID
Associated Port or LAG object id.
Definition saibridge.h:131
@ SAI_BRIDGE_PORT_ATTR_TUNNEL_ID
Associated tunnel id.
Definition saibridge.h:176
@ SAI_BRIDGE_PORT_TYPE_1Q_ROUTER
Definition saibridge.h:80
@ SAI_BRIDGE_PORT_TYPE_PORT
Definition saibridge.h:74
@ SAI_BRIDGE_PORT_TYPE_1D_ROUTER
Definition saibridge.h:83
@ SAI_BRIDGE_PORT_TYPE_TUNNEL
Definition saibridge.h:86
@ SAI_BRIDGE_PORT_TYPE_SUB_PORT
Definition saibridge.h:77
@ SAI_BRIDGE_TYPE_1D
Definition saibridge.h:403
@ SAI_BRIDGE_TYPE_1Q
Definition saibridge.h:400
@ SAI_BRIDGE_PORT_STAT_IN_PACKETS
Definition saibridge.h:284
@ SAI_BRIDGE_PORT_STAT_OUT_PACKETS
Definition saibridge.h:290
@ SAI_BRIDGE_PORT_STAT_IN_OCTETS
Definition saibridge.h:281
@ SAI_BRIDGE_PORT_STAT_OUT_OCTETS
Definition saibridge.h:287
@ SAI_BRIDGE_PORT_FDB_LEARNING_MODE_DROP
Definition saibridge.h:42
@ SAI_BRIDGE_PORT_FDB_LEARNING_MODE_DISABLE
Definition saibridge.h:45
@ SAI_BRIDGE_PORT_FDB_LEARNING_MODE_HW
Definition saibridge.h:48
@ SAI_BRIDGE_PORT_FDB_LEARNING_MODE_CPU_LOG
Definition saibridge.h:54
@ SAI_BRIDGE_PORT_FDB_LEARNING_MODE_FDB_NOTIFICATION
Notify unknown source MAC using FDB callback.
Definition saibridge.h:64
@ SAI_BRIDGE_PORT_FDB_LEARNING_MODE_CPU_TRAP
Definition saibridge.h:51
@ SAI_BRIDGE_PORT_TAGGING_MODE_TAGGED
Definition saibridge.h:99
@ SAI_BRIDGE_PORT_TAGGING_MODE_UNTAGGED
Definition saibridge.h:96
@ SAI_BRIDGE_STAT_OUT_PACKETS
Definition saibridge.h:594
@ SAI_BRIDGE_STAT_IN_PACKETS
Definition saibridge.h:588
@ SAI_BRIDGE_STAT_IN_OCTETS
Definition saibridge.h:585
@ SAI_BRIDGE_STAT_OUT_OCTETS
Definition saibridge.h:591
@ SAI_BRIDGE_ATTR_TYPE
Bridge type.
Definition saibridge.h:454
@ SAI_BRIDGE_ATTR_UNKNOWN_UNICAST_FLOOD_GROUP
Unknown unicast flood group.
Definition saibridge.h:510
@ SAI_BRIDGE_ATTR_UNKNOWN_UNICAST_FLOOD_CONTROL_TYPE
Unknown unicast flood control type.
Definition saibridge.h:492
@ SAI_BRIDGE_ATTR_START
Start of attributes.
Definition saibridge.h:446
@ SAI_BRIDGE_ATTR_BROADCAST_FLOOD_CONTROL_TYPE
Broadcast flood control type.
Definition saibridge.h:546
@ SAI_BRIDGE_ATTR_CUSTOM_RANGE_START
Definition saibridge.h:572
@ SAI_BRIDGE_ATTR_END
End of attributes.
Definition saibridge.h:569
@ SAI_BRIDGE_ATTR_UNKNOWN_MULTICAST_FLOOD_CONTROL_TYPE
Unknown unicast flood control type.
Definition saibridge.h:519
@ SAI_BRIDGE_ATTR_CUSTOM_RANGE_END
Definition saibridge.h:575
@ SAI_BRIDGE_ATTR_PORT_LIST
List of bridge ports associated to this bridge.
Definition saibridge.h:463
@ SAI_BRIDGE_ATTR_LEARN_DISABLE
To disable learning on a bridge.
Definition saibridge.h:483
@ SAI_BRIDGE_ATTR_BROADCAST_FLOOD_GROUP
Broadcast flood group.
Definition saibridge.h:564
@ SAI_BRIDGE_ATTR_MAX_LEARNED_ADDRESSES
Maximum number of learned MAC addresses.
Definition saibridge.h:474
@ SAI_BRIDGE_ATTR_UNKNOWN_MULTICAST_FLOOD_GROUP
Unknown multicast flood group.
Definition saibridge.h:537
@ SAI_BRIDGE_FLOOD_CONTROL_TYPE_COMBINED
Flood on all sub-ports and L2MC group.
Definition saibridge.h:434
@ SAI_BRIDGE_FLOOD_CONTROL_TYPE_NONE
Definition saibridge.h:423
@ SAI_BRIDGE_FLOOD_CONTROL_TYPE_SUB_PORTS
Flood on all sub-ports.
Definition saibridge.h:420
@ SAI_BRIDGE_FLOOD_CONTROL_TYPE_L2MC_GROUP
Definition saibridge.h:426
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
This module defines SAI portable types.
Bridge methods table retrieved with sai_api_query()
Definition saibridge.h:702