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()