SAI Metadata
Loading...
Searching...
No Matches
SAI - L2MC specific API definitions

Classes

struct  _sai_l2mc_entry_t
 L2MC entry key. More...
 
struct  _sai_l2mc_api_t
 L2MC method table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_l2mc_entry_type_t sai_l2mc_entry_type_t
 L2MC entry type.
 
typedef struct _sai_l2mc_entry_t sai_l2mc_entry_t
 L2MC entry key.
 
typedef enum _sai_l2mc_entry_attr_t sai_l2mc_entry_attr_t
 Attribute Id for L2MC entry.
 
typedef 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.
 
typedef sai_status_t(* sai_remove_l2mc_entry_fn) (_In_ const sai_l2mc_entry_t *l2mc_entry)
 Remove L2MC entry.
 
typedef 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.
 
typedef 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.
 
typedef struct _sai_l2mc_api_t sai_l2mc_api_t
 L2MC method table retrieved with sai_api_query()
 

Enumerations

enum  _sai_l2mc_entry_type_t { SAI_L2MC_ENTRY_TYPE_SG , SAI_L2MC_ENTRY_TYPE_XG }
 L2MC entry type. More...
 
enum  _sai_l2mc_entry_attr_t {
  SAI_L2MC_ENTRY_ATTR_START , SAI_L2MC_ENTRY_ATTR_PACKET_ACTION = SAI_L2MC_ENTRY_ATTR_START , SAI_L2MC_ENTRY_ATTR_OUTPUT_GROUP_ID , SAI_L2MC_ENTRY_ATTR_END ,
  SAI_L2MC_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_L2MC_ENTRY_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for L2MC entry. More...
 

Detailed Description

Typedef Documentation

◆ sai_create_l2mc_entry_fn

typedef 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.

Parameters
[in]l2mc_entryL2MC entry
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 133 of file sail2mc.h.

◆ sai_get_l2mc_entry_attribute_fn

typedef 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.

Parameters
[in]l2mc_entryL2MC entry
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 169 of file sail2mc.h.

◆ sai_remove_l2mc_entry_fn

typedef sai_status_t(* sai_remove_l2mc_entry_fn) (_In_ const sai_l2mc_entry_t *l2mc_entry)

Remove L2MC entry.

Parameters
[in]l2mc_entryL2MC entry
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 145 of file sail2mc.h.

◆ sai_set_l2mc_entry_attribute_fn

typedef 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.

Parameters
[in]l2mc_entryL2MC entry
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 156 of file sail2mc.h.

Enumeration Type Documentation

◆ _sai_l2mc_entry_attr_t

Attribute Id for L2MC entry.

Enumerator
SAI_L2MC_ENTRY_ATTR_START 

Start of attributes.

SAI_L2MC_ENTRY_ATTR_PACKET_ACTION 

L2MC entry type.

Value Type:
sai_packet_action_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_L2MC_ENTRY_ATTR_OUTPUT_GROUP_ID 

L2MC entry output group id.

This attribute only takes effect when ATTR_PACKET_ACTION is set to FORWARD. If the group has no member, packets will be discarded.

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_L2MC_GROUP
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
Valid only when:
SAI_L2MC_ENTRY_ATTR_PACKET_ACTION == SAI_PACKET_ACTION_FORWARD
SAI_L2MC_ENTRY_ATTR_END 

End of attributes.

SAI_L2MC_ENTRY_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_L2MC_ENTRY_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 81 of file sail2mc.h.

◆ _sai_l2mc_entry_type_t

L2MC entry type.

Enumerator
SAI_L2MC_ENTRY_TYPE_SG 

L2MC entry with type (S,G)

SAI_L2MC_ENTRY_TYPE_XG 

L2MC entry with type (*,G)

Definition at line 39 of file sail2mc.h.