25#if !defined (__SAIVLAN_H_)
39#define SAI_VLAN_COUNTER_SET_DEFAULT 0
46 SAI_VLAN_TAGGING_MODE_UNTAGGED,
48 SAI_VLAN_TAGGING_MODE_TAGGED,
50 SAI_VLAN_TAGGING_MODE_PRIORITY_TAGGED
59 SAI_VLAN_MCAST_LOOKUP_KEY_TYPE_MAC_DA,
61 SAI_VLAN_MCAST_LOOKUP_KEY_TYPE_XG,
63 SAI_VLAN_MCAST_LOOKUP_KEY_TYPE_SG,
65 SAI_VLAN_MCAST_LOOKUP_KEY_TYPE_XG_AND_SG
473 SAI_VLAN_STAT_IN_OCTETS,
474 SAI_VLAN_STAT_IN_PACKETS,
475 SAI_VLAN_STAT_IN_UCAST_PKTS,
476 SAI_VLAN_STAT_IN_NON_UCAST_PKTS,
477 SAI_VLAN_STAT_IN_DISCARDS,
478 SAI_VLAN_STAT_IN_ERRORS,
479 SAI_VLAN_STAT_IN_UNKNOWN_PROTOS,
480 SAI_VLAN_STAT_OUT_OCTETS,
481 SAI_VLAN_STAT_OUT_PACKETS,
482 SAI_VLAN_STAT_OUT_UCAST_PKTS,
483 SAI_VLAN_STAT_OUT_NON_UCAST_PKTS,
484 SAI_VLAN_STAT_OUT_DISCARDS,
485 SAI_VLAN_STAT_OUT_ERRORS,
486 SAI_VLAN_STAT_OUT_QLEN
501 _Out_ sai_object_id_t *vlan_id,
502 _In_ sai_object_id_t switch_id,
503 _In_ uint32_t attr_count,
514 _In_ sai_object_id_t vlan_id);
525 _In_ sai_object_id_t vlan_id,
538 _In_ sai_object_id_t vlan_id,
539 _In_ uint32_t attr_count,
553 _Out_ sai_object_id_t *vlan_member_id,
554 _In_ sai_object_id_t switch_id,
555 _In_ uint32_t attr_count,
566 _In_ sai_object_id_t vlan_member_id);
577 _In_ sai_object_id_t vlan_member_id,
590 _In_ sai_object_id_t vlan_member_id,
591 _In_ uint32_t attr_count,
605 _In_ sai_object_id_t vlan_id,
606 _In_ uint32_t number_of_counters,
607 _In_
const sai_stat_id_t *counter_ids,
608 _Out_ uint64_t *counters);
622 _In_ sai_object_id_t vlan_id,
623 _In_ uint32_t number_of_counters,
624 _In_
const sai_stat_id_t *counter_ids,
626 _Out_ uint64_t *counters);
638 _In_ sai_object_id_t vlan_id,
639 _In_ uint32_t number_of_counters,
640 _In_
const sai_stat_id_t *counter_ids);
enum _sai_stats_mode_t sai_stats_mode_t
SAI statistics modes.
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.
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.
sai_status_t(* sai_get_vlan_stats_fn)(_In_ sai_object_id_t vlan_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
Get vlan statistics counters. Deprecated for backward compatibility.
enum _sai_vlan_tagging_mode_t sai_vlan_tagging_mode_t
Attribute data for tagging_mode parameter.
_sai_vlan_member_attr_t
List of VLAN Member Attributes.
sai_status_t(* sai_get_vlan_stats_ext_fn)(_In_ sai_object_id_t vlan_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 vlan statistics counters extended.
_sai_vlan_flood_control_type_t
Attribute data for unknown unicast, unknown multicast and broadcast flood controls.
enum _sai_vlan_member_attr_t sai_vlan_member_attr_t
List of VLAN Member Attributes.
_sai_vlan_mcast_lookup_key_type_t
Attribute data for multicast_lookup_key_type parameter.
enum _sai_vlan_mcast_lookup_key_type_t sai_vlan_mcast_lookup_key_type_t
Attribute data for multicast_lookup_key_type parameter.
sai_status_t(* sai_set_vlan_member_attribute_fn)(_In_ sai_object_id_t vlan_member_id, _In_ const sai_attribute_t *attr)
Set VLAN Member Attribute.
enum _sai_vlan_stat_t sai_vlan_stat_t
VLAN counter IDs in sai_get_vlan_stats() call.
sai_status_t(* sai_create_vlan_fn)(_Out_ sai_object_id_t *vlan_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create a VLAN.
sai_status_t(* sai_clear_vlan_stats_fn)(_In_ sai_object_id_t vlan_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
Clear vlan statistics counters.
enum _sai_vlan_attr_t sai_vlan_attr_t
Attribute Id in sai_set_vlan_attribute() and sai_get_vlan_attribute() calls.
_sai_vlan_tagging_mode_t
Attribute data for tagging_mode parameter.
sai_status_t(* sai_create_vlan_member_fn)(_Out_ sai_object_id_t *vlan_member_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create VLAN Member.
_sai_vlan_attr_t
Attribute Id in sai_set_vlan_attribute() and sai_get_vlan_attribute() calls.
_sai_vlan_stat_t
VLAN counter IDs in sai_get_vlan_stats() call.
sai_status_t(* sai_remove_vlan_fn)(_In_ sai_object_id_t vlan_id)
Remove VLAN.
enum _sai_vlan_flood_control_type_t sai_vlan_flood_control_type_t
Attribute data for unknown unicast, unknown multicast and broadcast flood controls.
sai_status_t(* sai_remove_vlan_member_fn)(_In_ sai_object_id_t vlan_member_id)
Remove VLAN Member.
sai_status_t(* sai_get_vlan_member_attribute_fn)(_In_ sai_object_id_t vlan_member_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get VLAN Member Attribute.
sai_status_t(* sai_get_vlan_attribute_fn)(_In_ sai_object_id_t vlan_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get VLAN Attribute.
sai_status_t(* sai_set_vlan_attribute_fn)(_In_ sai_object_id_t vlan_id, _In_ const sai_attribute_t *attr)
Set VLAN Attribute.
struct _sai_vlan_api_t sai_vlan_api_t
VLAN methods table retrieved with sai_api_query()
@ SAI_VLAN_MEMBER_ATTR_START
Start of attributes.
@ SAI_VLAN_MEMBER_ATTR_CUSTOM_RANGE_START
@ SAI_VLAN_MEMBER_ATTR_BRIDGE_PORT_ID
Bridge port ID.
@ SAI_VLAN_MEMBER_ATTR_VLAN_TAGGING_MODE
VLAN tagging mode.
@ SAI_VLAN_MEMBER_ATTR_VLAN_ID
VLAN ID.
@ SAI_VLAN_MEMBER_ATTR_CUSTOM_RANGE_END
@ SAI_VLAN_MEMBER_ATTR_END
End of attributes.
@ SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED
Flood on all vlan members and L2MC group.
@ SAI_VLAN_FLOOD_CONTROL_TYPE_NONE
@ SAI_VLAN_FLOOD_CONTROL_TYPE_L2MC_GROUP
@ SAI_VLAN_FLOOD_CONTROL_TYPE_ALL
Flood on all vlan members.
@ SAI_VLAN_ATTR_META_DATA
User based Meta Data.
@ SAI_VLAN_ATTR_UNKNOWN_MULTICAST_FLOOD_GROUP
Unknown multicast flood group.
@ SAI_VLAN_ATTR_CUSTOM_IGMP_SNOOPING_ENABLE
IGMP Snooping enable or disable control for VLAN.
@ SAI_VLAN_ATTR_LEARN_DISABLE
To disable learning on a VLAN.
@ SAI_VLAN_ATTR_UNKNOWN_UNICAST_FLOOD_CONTROL_TYPE
Unknown unicast flood control type.
@ SAI_VLAN_ATTR_BROADCAST_FLOOD_GROUP
Broadcast flood group.
@ SAI_VLAN_ATTR_EGRESS_ACL
VLAN bind point for egress ACL object.
@ SAI_VLAN_ATTR_UNKNOWN_UNICAST_FLOOD_GROUP
Unknown unicast flood group.
@ SAI_VLAN_ATTR_BROADCAST_FLOOD_CONTROL_TYPE
Broadcast flood control type.
@ SAI_VLAN_ATTR_MAX_LEARNED_ADDRESSES
Maximum number of learned MAC addresses.
@ SAI_VLAN_ATTR_IPV4_MCAST_LOOKUP_KEY_TYPE
To set IPv4 multicast lookup key on a VLAN.
@ SAI_VLAN_ATTR_CUSTOM_RANGE_START
@ SAI_VLAN_ATTR_END
End of attributes.
@ SAI_VLAN_ATTR_UNKNOWN_NON_IP_MCAST_OUTPUT_GROUP_ID
L2MC Group ID that unknown non-IP mcast packets forwarded to.
@ SAI_VLAN_ATTR_VLAN_ID
Vlan Id.
@ SAI_VLAN_ATTR_START
Start of attributes.
@ SAI_VLAN_ATTR_IPV6_MCAST_LOOKUP_KEY_TYPE
To set IPv6 multicast lookup key on a VLAN.
@ SAI_VLAN_ATTR_UNKNOWN_IPV6_MCAST_OUTPUT_GROUP_ID
L2MC Group ID that unknown IPv6 mcast packets forwarded to.
@ SAI_VLAN_ATTR_CUSTOM_RANGE_END
@ SAI_VLAN_ATTR_TAM_OBJECT
Vlan bind point for TAM object.
@ SAI_VLAN_ATTR_MEMBER_LIST
List of vlan members in a VLAN.
@ SAI_VLAN_ATTR_UNKNOWN_IPV4_MCAST_OUTPUT_GROUP_ID
L2MC Group ID that unknown IPv4 mcast packets forwarded to.
@ SAI_VLAN_ATTR_UNKNOWN_MULTICAST_FLOOD_CONTROL_TYPE
Unknown unicast flood control type.
@ SAI_VLAN_ATTR_UNKNOWN_LINKLOCAL_MCAST_OUTPUT_GROUP_ID
L2MC Group ID that unknown linklocal mcast packets forwarded to.
@ SAI_VLAN_ATTR_INGRESS_ACL
VLAN bind point for ingress ACL object.
@ SAI_VLAN_ATTR_STP_INSTANCE
STP Instance that the VLAN is associated to.
This module defines SAI portable types.
VLAN methods table retrieved with sai_api_query()