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

Classes

struct  _sai_ipmc_entry_t
 IPMC entry key. More...
 
struct  _sai_ipmc_api_t
 IPMC method table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_ipmc_entry_type_t sai_ipmc_entry_type_t
 IPMC entry type.
 
typedef struct _sai_ipmc_entry_t sai_ipmc_entry_t
 IPMC entry key.
 
typedef enum _sai_ipmc_entry_attr_t sai_ipmc_entry_attr_t
 Attribute Id for IPMC entry.
 
typedef 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.
 
typedef sai_status_t(* sai_remove_ipmc_entry_fn) (_In_ const sai_ipmc_entry_t *ipmc_entry)
 Remove IPMC entry.
 
typedef 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.
 
typedef 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.
 
typedef struct _sai_ipmc_api_t sai_ipmc_api_t
 IPMC method table retrieved with sai_api_query()
 

Enumerations

enum  _sai_ipmc_entry_type_t { SAI_IPMC_ENTRY_TYPE_SG , SAI_IPMC_ENTRY_TYPE_XG }
 IPMC entry type. More...
 
enum  _sai_ipmc_entry_attr_t {
  SAI_IPMC_ENTRY_ATTR_START , SAI_IPMC_ENTRY_ATTR_PACKET_ACTION = SAI_IPMC_ENTRY_ATTR_START , SAI_IPMC_ENTRY_ATTR_OUTPUT_GROUP_ID , SAI_IPMC_ENTRY_ATTR_RPF_GROUP_ID ,
  SAI_IPMC_ENTRY_ATTR_COUNTER_ID , SAI_IPMC_ENTRY_ATTR_END , SAI_IPMC_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_IPMC_ENTRY_ATTR_CUSTOM_RANGE_END
}
 Attribute Id for IPMC entry. More...
 

Detailed Description

Typedef Documentation

◆ sai_create_ipmc_entry_fn

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

Parameters
[in]ipmc_entryIPMC 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 157 of file saiipmc.h.

◆ sai_get_ipmc_entry_attribute_fn

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

Parameters
[in]ipmc_entryIPMC 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 193 of file saiipmc.h.

◆ sai_remove_ipmc_entry_fn

typedef sai_status_t(* sai_remove_ipmc_entry_fn) (_In_ const sai_ipmc_entry_t *ipmc_entry)

Remove IPMC entry.

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

Definition at line 169 of file saiipmc.h.

◆ sai_set_ipmc_entry_attribute_fn

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

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

Definition at line 180 of file saiipmc.h.

Enumeration Type Documentation

◆ _sai_ipmc_entry_attr_t

Attribute Id for IPMC entry.

Enumerator
SAI_IPMC_ENTRY_ATTR_START 

Start of attributes.

SAI_IPMC_ENTRY_ATTR_PACKET_ACTION 

IPMC entry type.

Value Type:
sai_packet_action_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
SAI_IPMC_ENTRY_ATTR_OUTPUT_GROUP_ID 

IPMC 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_IPMC_GROUP
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
Valid only when:
SAI_IPMC_ENTRY_ATTR_PACKET_ACTION == SAI_PACKET_ACTION_FORWARD
SAI_IPMC_ENTRY_ATTR_RPF_GROUP_ID 

IPMC entry RPF interface group id.

If not set or the group has no member, RPF checking will be disabled.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_RPF_GROUP
SAI_IPMC_ENTRY_ATTR_COUNTER_ID 

Attach a counter.

When it is empty, then packet hits won't be counted

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_COUNTER
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
SAI_IPMC_ENTRY_ATTR_END 

End of attributes.

SAI_IPMC_ENTRY_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_IPMC_ENTRY_ATTR_CUSTOM_RANGE_END 

Custom range base end value

Definition at line 81 of file saiipmc.h.

◆ _sai_ipmc_entry_type_t

IPMC entry type.

Enumerator
SAI_IPMC_ENTRY_TYPE_SG 

IPMC entry with type (S,G)

SAI_IPMC_ENTRY_TYPE_XG 

IPMC entry with type (*,G)

Definition at line 39 of file saiipmc.h.