SAI Metadata
Loading...
Searching...
No Matches
sail2mc.h
Go to the documentation of this file.
1
25#if !defined (__SAIL2MC_H_)
26#define __SAIL2MC_H_
27
28#include <saitypes.h>
29
40{
43
46
48
52typedef struct _sai_l2mc_entry_t
53{
59 sai_object_id_t switch_id;
60
66 sai_object_id_t bv_id;
67
70
73
77
82{
87
95
110
115
118
121
123
133typedef sai_status_t (*sai_create_l2mc_entry_fn)(
134 _In_ const sai_l2mc_entry_t *l2mc_entry,
135 _In_ uint32_t attr_count,
136 _In_ const sai_attribute_t *attr_list);
137
145typedef sai_status_t (*sai_remove_l2mc_entry_fn)(
146 _In_ const sai_l2mc_entry_t *l2mc_entry);
147
156typedef sai_status_t (*sai_set_l2mc_entry_attribute_fn)(
157 _In_ const sai_l2mc_entry_t *l2mc_entry,
158 _In_ const sai_attribute_t *attr);
159
169typedef sai_status_t (*sai_get_l2mc_entry_attribute_fn)(
170 _In_ const sai_l2mc_entry_t *l2mc_entry,
171 _In_ uint32_t attr_count,
172 _Inout_ sai_attribute_t *attr_list);
173
177typedef struct _sai_l2mc_api_t
178{
179 sai_create_l2mc_entry_fn create_l2mc_entry;
180 sai_remove_l2mc_entry_fn remove_l2mc_entry;
181 sai_set_l2mc_entry_attribute_fn set_l2mc_entry_attribute;
182 sai_get_l2mc_entry_attribute_fn get_l2mc_entry_attribute;
183
185
189#endif
sai_status_t(* sai_create_l2mc_entry_fn)(_In_ const sai_l2mc_entry_t *l2mc_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create L2MC entry.
Definition sail2mc.h:133
struct _sai_l2mc_api_t sai_l2mc_api_t
L2MC method table retrieved with sai_api_query()
sai_status_t(* sai_get_l2mc_entry_attribute_fn)(_In_ const sai_l2mc_entry_t *l2mc_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get L2MC entry attribute value.
Definition sail2mc.h:169
struct _sai_l2mc_entry_t sai_l2mc_entry_t
L2MC entry key.
_sai_l2mc_entry_attr_t
Attribute Id for L2MC entry.
Definition sail2mc.h:82
enum _sai_l2mc_entry_type_t sai_l2mc_entry_type_t
L2MC entry type.
_sai_l2mc_entry_type_t
L2MC entry type.
Definition sail2mc.h:40
sai_status_t(* sai_remove_l2mc_entry_fn)(_In_ const sai_l2mc_entry_t *l2mc_entry)
Remove L2MC entry.
Definition sail2mc.h:145
enum _sai_l2mc_entry_attr_t sai_l2mc_entry_attr_t
Attribute Id for L2MC entry.
sai_status_t(* sai_set_l2mc_entry_attribute_fn)(_In_ const sai_l2mc_entry_t *l2mc_entry, _In_ const sai_attribute_t *attr)
Set L2MC entry attribute value.
Definition sail2mc.h:156
@ SAI_L2MC_ENTRY_ATTR_PACKET_ACTION
L2MC entry type.
Definition sail2mc.h:94
@ SAI_L2MC_ENTRY_ATTR_CUSTOM_RANGE_END
Definition sail2mc.h:120
@ SAI_L2MC_ENTRY_ATTR_CUSTOM_RANGE_START
Definition sail2mc.h:117
@ SAI_L2MC_ENTRY_ATTR_OUTPUT_GROUP_ID
L2MC entry output group id.
Definition sail2mc.h:109
@ SAI_L2MC_ENTRY_ATTR_START
Start of attributes.
Definition sail2mc.h:86
@ SAI_L2MC_ENTRY_ATTR_END
End of attributes.
Definition sail2mc.h:114
@ SAI_L2MC_ENTRY_TYPE_SG
Definition sail2mc.h:42
@ SAI_L2MC_ENTRY_TYPE_XG
Definition sail2mc.h:45
This module defines SAI portable types.
L2MC method table retrieved with sai_api_query()
Definition sail2mc.h:178
L2MC entry key.
Definition sail2mc.h:53
sai_l2mc_entry_type_t type
Definition sail2mc.h:69
sai_ip_address_t destination
Definition sail2mc.h:72
sai_ip_address_t source
Definition sail2mc.h:75
sai_object_id_t bv_id
Bridge ID. for .1D and Vlan ID for .1Q.
Definition sail2mc.h:66
sai_object_id_t switch_id
Switch ID.
Definition sail2mc.h:59