SAI Metadata
Loading...
Searching...
No Matches
saiipmc.h
Go to the documentation of this file.
1
25#if !defined (__SAIIPMC_H_)
26#define __SAIIPMC_H_
27
28#include <saitypes.h>
29
40{
43
46
48
52typedef struct _sai_ipmc_entry_t
53{
59 sai_object_id_t switch_id;
60
66 sai_object_id_t vr_id;
67
70
73
77
82{
87
95
110
121
134
139
142
145
147
157typedef sai_status_t (*sai_create_ipmc_entry_fn)(
158 _In_ const sai_ipmc_entry_t *ipmc_entry,
159 _In_ uint32_t attr_count,
160 _In_ const sai_attribute_t *attr_list);
161
169typedef sai_status_t (*sai_remove_ipmc_entry_fn)(
170 _In_ const sai_ipmc_entry_t *ipmc_entry);
171
180typedef sai_status_t (*sai_set_ipmc_entry_attribute_fn)(
181 _In_ const sai_ipmc_entry_t *ipmc_entry,
182 _In_ const sai_attribute_t *attr);
183
193typedef sai_status_t (*sai_get_ipmc_entry_attribute_fn)(
194 _In_ const sai_ipmc_entry_t *ipmc_entry,
195 _In_ uint32_t attr_count,
196 _Inout_ sai_attribute_t *attr_list);
197
201typedef struct _sai_ipmc_api_t
202{
203 sai_create_ipmc_entry_fn create_ipmc_entry;
204 sai_remove_ipmc_entry_fn remove_ipmc_entry;
205 sai_set_ipmc_entry_attribute_fn set_ipmc_entry_attribute;
206 sai_get_ipmc_entry_attribute_fn get_ipmc_entry_attribute;
207
209
213#endif
sai_status_t(* sai_create_ipmc_entry_fn)(_In_ const sai_ipmc_entry_t *ipmc_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create IPMC entry.
Definition saiipmc.h:157
sai_status_t(* sai_set_ipmc_entry_attribute_fn)(_In_ const sai_ipmc_entry_t *ipmc_entry, _In_ const sai_attribute_t *attr)
Set IPMC entry attribute value.
Definition saiipmc.h:180
struct _sai_ipmc_api_t sai_ipmc_api_t
IPMC method table retrieved with sai_api_query()
struct _sai_ipmc_entry_t sai_ipmc_entry_t
IPMC entry key.
_sai_ipmc_entry_attr_t
Attribute Id for IPMC entry.
Definition saiipmc.h:82
_sai_ipmc_entry_type_t
IPMC entry type.
Definition saiipmc.h:40
sai_status_t(* sai_remove_ipmc_entry_fn)(_In_ const sai_ipmc_entry_t *ipmc_entry)
Remove IPMC entry.
Definition saiipmc.h:169
enum _sai_ipmc_entry_type_t sai_ipmc_entry_type_t
IPMC entry type.
sai_status_t(* sai_get_ipmc_entry_attribute_fn)(_In_ const sai_ipmc_entry_t *ipmc_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get IPMC entry attribute value.
Definition saiipmc.h:193
enum _sai_ipmc_entry_attr_t sai_ipmc_entry_attr_t
Attribute Id for IPMC entry.
@ SAI_IPMC_ENTRY_ATTR_RPF_GROUP_ID
IPMC entry RPF interface group id.
Definition saiipmc.h:120
@ SAI_IPMC_ENTRY_ATTR_PACKET_ACTION
IPMC entry type.
Definition saiipmc.h:94
@ SAI_IPMC_ENTRY_ATTR_COUNTER_ID
Attach a counter.
Definition saiipmc.h:133
@ SAI_IPMC_ENTRY_ATTR_CUSTOM_RANGE_END
Definition saiipmc.h:144
@ SAI_IPMC_ENTRY_ATTR_START
Start of attributes.
Definition saiipmc.h:86
@ SAI_IPMC_ENTRY_ATTR_CUSTOM_RANGE_START
Definition saiipmc.h:141
@ SAI_IPMC_ENTRY_ATTR_OUTPUT_GROUP_ID
IPMC entry output group id.
Definition saiipmc.h:109
@ SAI_IPMC_ENTRY_ATTR_END
End of attributes.
Definition saiipmc.h:138
@ SAI_IPMC_ENTRY_TYPE_SG
Definition saiipmc.h:42
@ SAI_IPMC_ENTRY_TYPE_XG
Definition saiipmc.h:45
This module defines SAI portable types.
IPMC method table retrieved with sai_api_query()
Definition saiipmc.h:202
IPMC entry key.
Definition saiipmc.h:53
sai_ipmc_entry_type_t type
Definition saiipmc.h:69
sai_object_id_t switch_id
Switch ID.
Definition saiipmc.h:59
sai_object_id_t vr_id
Virtual Router ID.
Definition saiipmc.h:66
sai_ip_address_t source
Definition saiipmc.h:75
sai_ip_address_t destination
Definition saiipmc.h:72