SAI Metadata
Loading...
Searching...
No Matches
SAI - Next hop group specific API definitions

Classes

struct  _sai_next_hop_group_api_t
 Next Hop methods table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_next_hop_group_type_t sai_next_hop_group_type_t
 Next hop group type.
 
typedef enum _sai_next_hop_group_member_configured_role_t sai_next_hop_group_member_configured_role_t
 Next hop group member configured protection role.
 
typedef enum _sai_next_hop_group_member_observed_role_t sai_next_hop_group_member_observed_role_t
 Next hop group member observed role.
 
typedef enum _sai_next_hop_group_attr_t sai_next_hop_group_attr_t
 Attribute id for next hop.
 
typedef enum _sai_next_hop_group_member_attr_t sai_next_hop_group_member_attr_t
 
typedef enum _sai_next_hop_group_map_type_t sai_next_hop_group_map_type_t
 
typedef enum _sai_next_hop_group_map_attr_t sai_next_hop_group_map_attr_t
 
typedef sai_status_t(* sai_create_next_hop_group_fn) (_Out_ sai_object_id_t *next_hop_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create next hop group.
 
typedef sai_status_t(* sai_remove_next_hop_group_fn) (_In_ sai_object_id_t next_hop_group_id)
 Remove next hop group.
 
typedef sai_status_t(* sai_set_next_hop_group_attribute_fn) (_In_ sai_object_id_t next_hop_group_id, _In_ const sai_attribute_t *attr)
 Set Next Hop Group attribute.
 
typedef sai_status_t(* sai_get_next_hop_group_attribute_fn) (_In_ sai_object_id_t next_hop_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get Next Hop Group attribute.
 
typedef sai_status_t(* sai_create_next_hop_group_member_fn) (_Out_ sai_object_id_t *next_hop_group_member_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create next hop group member.
 
typedef sai_status_t(* sai_remove_next_hop_group_member_fn) (_In_ sai_object_id_t next_hop_group_member_id)
 Remove next hop group member.
 
typedef sai_status_t(* sai_set_next_hop_group_member_attribute_fn) (_In_ sai_object_id_t next_hop_group_member_id, _In_ const sai_attribute_t *attr)
 Set Next Hop Group member attribute.
 
typedef sai_status_t(* sai_get_next_hop_group_member_attribute_fn) (_In_ sai_object_id_t next_hop_group_member_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get Next Hop Group member attribute.
 
typedef sai_status_t(* sai_create_next_hop_group_map_fn) (_Out_ sai_object_id_t *next_hop_group_map_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create next hop group map.
 
typedef sai_status_t(* sai_remove_next_hop_group_map_fn) (_In_ sai_object_id_t next_hop_group_map_id)
 Remove next hop group map.
 
typedef sai_status_t(* sai_set_next_hop_group_map_attribute_fn) (_In_ sai_object_id_t next_hop_group_map_id, _In_ const sai_attribute_t *attr)
 Set Next Hop Group map attribute.
 
typedef sai_status_t(* sai_get_next_hop_group_map_attribute_fn) (_In_ sai_object_id_t next_hop_group_map_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get next hop group map attribute.
 
typedef struct _sai_next_hop_group_api_t sai_next_hop_group_api_t
 Next Hop methods table retrieved with sai_api_query()
 

Enumerations

enum  _sai_next_hop_group_type_t {
  SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_UNORDERED_ECMP , SAI_NEXT_HOP_GROUP_TYPE_ECMP = SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_UNORDERED_ECMP , SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_ORDERED_ECMP , SAI_NEXT_HOP_GROUP_TYPE_FINE_GRAIN_ECMP ,
  SAI_NEXT_HOP_GROUP_TYPE_PROTECTION , SAI_NEXT_HOP_GROUP_TYPE_CLASS_BASED
}
 Next hop group type. More...
 
enum  _sai_next_hop_group_member_configured_role_t { SAI_NEXT_HOP_GROUP_MEMBER_CONFIGURED_ROLE_PRIMARY , SAI_NEXT_HOP_GROUP_MEMBER_CONFIGURED_ROLE_STANDBY }
 Next hop group member configured protection role. More...
 
enum  _sai_next_hop_group_member_observed_role_t { SAI_NEXT_HOP_GROUP_MEMBER_OBSERVED_ROLE_ACTIVE , SAI_NEXT_HOP_GROUP_MEMBER_OBSERVED_ROLE_INACTIVE }
 Next hop group member observed role. More...
 
enum  _sai_next_hop_group_attr_t {
  SAI_NEXT_HOP_GROUP_ATTR_START , SAI_NEXT_HOP_GROUP_ATTR_NEXT_HOP_COUNT = SAI_NEXT_HOP_GROUP_ATTR_START , SAI_NEXT_HOP_GROUP_ATTR_NEXT_HOP_MEMBER_LIST , SAI_NEXT_HOP_GROUP_ATTR_TYPE ,
  SAI_NEXT_HOP_GROUP_ATTR_SET_SWITCHOVER , SAI_NEXT_HOP_GROUP_ATTR_COUNTER_ID , SAI_NEXT_HOP_GROUP_ATTR_CONFIGURED_SIZE , SAI_NEXT_HOP_GROUP_ATTR_REAL_SIZE ,
  SAI_NEXT_HOP_GROUP_ATTR_SELECTION_MAP , SAI_NEXT_HOP_GROUP_ATTR_HIERARCHICAL_NEXTHOP , SAI_NEXT_HOP_GROUP_ATTR_ARS_OBJECT_ID , SAI_NEXT_HOP_GROUP_ATTR_ARS_PACKET_DROPS ,
  SAI_NEXT_HOP_GROUP_ATTR_ARS_NEXT_HOP_REASSIGNMENTS , SAI_NEXT_HOP_GROUP_ATTR_ARS_PORT_REASSIGNMENTS , SAI_NEXT_HOP_GROUP_ATTR_END , SAI_NEXT_HOP_GROUP_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_NEXT_HOP_GROUP_ATTR_CUSTOM_RANGE_END
}
 Attribute id for next hop. More...
 
enum  _sai_next_hop_group_member_attr_t {
  SAI_NEXT_HOP_GROUP_MEMBER_ATTR_START , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_NEXT_HOP_GROUP_ID = SAI_NEXT_HOP_GROUP_MEMBER_ATTR_START , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_NEXT_HOP_ID , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_WEIGHT ,
  SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CONFIGURED_ROLE , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_OBSERVED_ROLE , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_MONITORED_OBJECT , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_INDEX ,
  SAI_NEXT_HOP_GROUP_MEMBER_ATTR_SEQUENCE_ID , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_COUNTER_ID , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_ARS_ALTERNATE_PATH , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_END ,
  SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CUSTOM_RANGE_END
}
 
enum  _sai_next_hop_group_map_type_t { SAI_NEXT_HOP_GROUP_MAP_TYPE_FORWARDING_CLASS_TO_INDEX }
 
enum  _sai_next_hop_group_map_attr_t {
  SAI_NEXT_HOP_GROUP_MAP_ATTR_START , SAI_NEXT_HOP_GROUP_MAP_ATTR_TYPE = SAI_NEXT_HOP_GROUP_MAP_ATTR_START , SAI_NEXT_HOP_GROUP_MAP_ATTR_MAP_TO_VALUE_LIST , SAI_NEXT_HOP_GROUP_MAP_ATTR_END ,
  SAI_NEXT_HOP_GROUP_MAP_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_NEXT_HOP_GROUP_MAP_ATTR_CUSTOM_RANGE_END
}
 

Detailed Description

Typedef Documentation

◆ sai_create_next_hop_group_fn

typedef sai_status_t(* sai_create_next_hop_group_fn) (_Out_ sai_object_id_t *next_hop_group_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create next hop group.

Parameters
[out]next_hop_group_idNext hop group id
[in]switch_idSwitch id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 443 of file sainexthopgroup.h.

◆ sai_create_next_hop_group_map_fn

typedef sai_status_t(* sai_create_next_hop_group_map_fn) (_Out_ sai_object_id_t *next_hop_group_map_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create next hop group map.

Parameters
[out]next_hop_group_map_idNext hop group map id
[in]switch_idSwitch ID
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 547 of file sainexthopgroup.h.

◆ sai_create_next_hop_group_member_fn

typedef sai_status_t(* sai_create_next_hop_group_member_fn) (_Out_ sai_object_id_t *next_hop_group_member_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create next hop group member.

Parameters
[out]next_hop_group_member_idNext hop group member id
[in]switch_idSwitch ID
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 495 of file sainexthopgroup.h.

◆ sai_get_next_hop_group_attribute_fn

typedef sai_status_t(* sai_get_next_hop_group_attribute_fn) (_In_ sai_object_id_t next_hop_group_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get Next Hop Group attribute.

Parameters
[in]next_hop_group_idNext hop group ID
[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 480 of file sainexthopgroup.h.

◆ sai_get_next_hop_group_map_attribute_fn

typedef sai_status_t(* sai_get_next_hop_group_map_attribute_fn) (_In_ sai_object_id_t next_hop_group_map_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get next hop group map attribute.

Parameters
[in]next_hop_group_map_idNext hop group map ID
[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 584 of file sainexthopgroup.h.

◆ sai_get_next_hop_group_member_attribute_fn

typedef sai_status_t(* sai_get_next_hop_group_member_attribute_fn) (_In_ sai_object_id_t next_hop_group_member_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get Next Hop Group member attribute.

Parameters
[in]next_hop_group_member_idNext hop group member ID
[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 532 of file sainexthopgroup.h.

◆ sai_remove_next_hop_group_fn

typedef sai_status_t(* sai_remove_next_hop_group_fn) (_In_ sai_object_id_t next_hop_group_id)

Remove next hop group.

Parameters
[in]next_hop_group_idNext hop group id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 456 of file sainexthopgroup.h.

◆ sai_remove_next_hop_group_map_fn

typedef sai_status_t(* sai_remove_next_hop_group_map_fn) (_In_ sai_object_id_t next_hop_group_map_id)

Remove next hop group map.

Parameters
[in]next_hop_group_map_idNext hop group map ID
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 560 of file sainexthopgroup.h.

◆ sai_remove_next_hop_group_member_fn

typedef sai_status_t(* sai_remove_next_hop_group_member_fn) (_In_ sai_object_id_t next_hop_group_member_id)

Remove next hop group member.

Parameters
[in]next_hop_group_member_idNext hop group member ID
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 508 of file sainexthopgroup.h.

◆ sai_set_next_hop_group_attribute_fn

typedef sai_status_t(* sai_set_next_hop_group_attribute_fn) (_In_ sai_object_id_t next_hop_group_id, _In_ const sai_attribute_t *attr)

Set Next Hop Group attribute.

Parameters
[in]next_hop_group_idNext hop group id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 467 of file sainexthopgroup.h.

◆ sai_set_next_hop_group_map_attribute_fn

typedef sai_status_t(* sai_set_next_hop_group_map_attribute_fn) (_In_ sai_object_id_t next_hop_group_map_id, _In_ const sai_attribute_t *attr)

Set Next Hop Group map attribute.

Parameters
[in]next_hop_group_map_idNext hop group map ID
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 571 of file sainexthopgroup.h.

◆ sai_set_next_hop_group_member_attribute_fn

typedef sai_status_t(* sai_set_next_hop_group_member_attribute_fn) (_In_ sai_object_id_t next_hop_group_member_id, _In_ const sai_attribute_t *attr)

Set Next Hop Group member attribute.

Parameters
[in]next_hop_group_member_idNext hop group member ID
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 519 of file sainexthopgroup.h.

Enumeration Type Documentation

◆ _sai_next_hop_group_attr_t

Attribute id for next hop.

Enumerator
SAI_NEXT_HOP_GROUP_ATTR_START 

Start of attributes.

SAI_NEXT_HOP_GROUP_ATTR_NEXT_HOP_COUNT 

Number of next hops in the group.

Value Type:
sai_uint32_t
Flags:
READ_ONLY
SAI_NEXT_HOP_GROUP_ATTR_NEXT_HOP_MEMBER_LIST 

Next hop member list.

Value Type:
sai_object_list_t
Flags:
READ_ONLY
Allowed object types
SAI_OBJECT_TYPE_NEXT_HOP_GROUP_MEMBER
SAI_NEXT_HOP_GROUP_ATTR_TYPE 

Next hop group type.

Value Type:
sai_next_hop_group_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
IsResourceType:
true
SAI_NEXT_HOP_GROUP_ATTR_SET_SWITCHOVER 

Trigger a switch-over from primary to backup next hop.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
Valid only when:
SAI_NEXT_HOP_GROUP_ATTR_TYPE == SAI_NEXT_HOP_GROUP_TYPE_PROTECTION
SAI_NEXT_HOP_GROUP_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_NEXT_HOP_GROUP_ATTR_CONFIGURED_SIZE 

Configured group size.

Maximum desired number of members. The real size should be queried from SAI_NEXT_HOP_GROUP_ATTR_REAL_SIZE

Value Type:
sai_uint32_t
Flags:
CREATE_ONLY
Default value:
0
Valid only when:
SAI_NEXT_HOP_GROUP_ATTR_TYPE == SAI_NEXT_HOP_GROUP_TYPE_FINE_GRAIN_ECMP or SAI_NEXT_HOP_GROUP_ATTR_TYPE == SAI_NEXT_HOP_GROUP_TYPE_CLASS_BASED
IsResourceType:
true
SAI_NEXT_HOP_GROUP_ATTR_REAL_SIZE 

Real group size.

Can be different (greater or equal) from the configured size. Application must use this value to know the exact size of the group. Should be used with SAI_NEXT_HOP_GROUP_TYPE_FINE_GRAIN_ECMP.

Value Type:
sai_uint32_t
Flags:
READ_ONLY
SAI_NEXT_HOP_GROUP_ATTR_SELECTION_MAP 

Next hop group selection map.

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_NEXT_HOP_GROUP_MAP
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
Valid only when:
SAI_NEXT_HOP_GROUP_ATTR_TYPE == SAI_NEXT_HOP_GROUP_TYPE_CLASS_BASED
SAI_NEXT_HOP_GROUP_ATTR_HIERARCHICAL_NEXTHOP 

Hierarchical next hop group level. true: Nexthop group consists of tunnel and IP nexthop false: Nexthop group consists of IP nexthop only.

Value Type:
bool
Flags:
CREATE_ONLY
Default value:
true
Valid only when:
SAI_NEXT_HOP_GROUP_ATTR_TYPE == SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_UNORDERED_ECMP or SAI_NEXT_HOP_GROUP_ATTR_TYPE == SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_ORDERED_ECMP
IsResourceType:
true
SAI_NEXT_HOP_GROUP_ATTR_ARS_OBJECT_ID 

Adaptive routing and switching object for this group.

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

Number of packets dropped by ARS mechanism.

Value Type:
sai_uint32_t
Flags:
READ_ONLY
SAI_NEXT_HOP_GROUP_ATTR_ARS_NEXT_HOP_REASSIGNMENTS 

Number of ARS next hop reassignments done.

Value Type:
sai_uint32_t
Flags:
READ_ONLY
SAI_NEXT_HOP_GROUP_ATTR_ARS_PORT_REASSIGNMENTS 

Number of ARS port reassignments done.

Value Type:
sai_uint32_t
Flags:
READ_ONLY
SAI_NEXT_HOP_GROUP_ATTR_END 

End of attributes.

SAI_NEXT_HOP_GROUP_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_NEXT_HOP_GROUP_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 92 of file sainexthopgroup.h.

◆ _sai_next_hop_group_map_attr_t

Enumerator
SAI_NEXT_HOP_GROUP_MAP_ATTR_START 

Start of attributes.

SAI_NEXT_HOP_GROUP_MAP_ATTR_TYPE 

Next hop group map type.

Value Type:
sai_next_hop_group_map_type_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
SAI_NEXT_HOP_GROUP_MAP_ATTR_MAP_TO_VALUE_LIST 

Next hop group entries associated with this map.

Value Type:
sai_map_list_t
Flags:
CREATE_AND_SET
Default value:
empty
SAI_NEXT_HOP_GROUP_MAP_ATTR_END 

End of attributes.

SAI_NEXT_HOP_GROUP_MAP_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_NEXT_HOP_GROUP_MAP_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 396 of file sainexthopgroup.h.

◆ _sai_next_hop_group_map_type_t

Enumerator
SAI_NEXT_HOP_GROUP_MAP_TYPE_FORWARDING_CLASS_TO_INDEX 

Next hop group map forwarding-class to index

Definition at line 389 of file sainexthopgroup.h.

◆ _sai_next_hop_group_member_attr_t

Enumerator
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_START 

Start of attributes.

SAI_NEXT_HOP_GROUP_MEMBER_ATTR_NEXT_HOP_GROUP_ID 

Next hop group id.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_NEXT_HOP_GROUP
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_NEXT_HOP_ID 

Next hop id.

Value Type:
sai_object_id_t
Flags:
MANDATORY_ON_CREATE | CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_NEXT_HOP, SAI_OBJECT_TYPE_NEXT_HOP_GROUP
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_WEIGHT 

Member weights.

Should only be used if the type of owning group is SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_ORDERED_ECMP or SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_UNORDERED_ECMP

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
1
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CONFIGURED_ROLE 

Configured role in the protection group.

Should only be used if the type of owning group is SAI_NEXT_HOP_GROUP_TYPE_PROTECTION

Value Type:
sai_next_hop_group_member_configured_role_t
Flags:
CREATE_ONLY
Default value:
SAI_NEXT_HOP_GROUP_MEMBER_CONFIGURED_ROLE_PRIMARY
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_OBSERVED_ROLE 

The actual role in protection group.

Should only be used if the type of owning group is SAI_NEXT_HOP_GROUP_TYPE_PROTECTION

Value Type:
sai_next_hop_group_member_observed_role_t
Flags:
READ_ONLY
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_MONITORED_OBJECT 

The object to be monitored for this next hop.

If the specified objects fails, the switching entity marks this next hop as SAI_NEXT_HOP_GROUP_MEMBER_PROTECTION_ROLE_FAILED and does not use it to forward traffic. If there is a backup next hop available in this group then the backup's observed role is set to SAI_NEXT_HOP_GROUP_MEMBER_PROTECTION_ROLE_FORWARDING and it is used to forward traffic.

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_LAG, SAI_OBJECT_TYPE_ROUTER_INTERFACE, SAI_OBJECT_TYPE_VLAN_MEMBER, SAI_OBJECT_TYPE_TUNNEL, SAI_OBJECT_TYPE_BRIDGE_PORT
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_INDEX 

Object index in the fine grain ECMP table.

Index specifying the strict member's order. Allowed value range for is from 0 to SAI_NEXT_HOP_GROUP_ATTR_REAL_SIZE - 1. Should only be used if the type of owning group is SAI_NEXT_HOP_GROUP_TYPE_FINE_GRAIN_ECMP or SAI_NEXT_HOP_GROUP_TYPE_CLASS_BASED.

Value Type:
sai_uint32_t
Flags:
CREATE_ONLY
Default value:
0
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_SEQUENCE_ID 

Object's sequence ID for enforcing the members' order.

Loose index specifying the member's order. The index is not strict allowing for the missing IDs in a sequence. It's driver's job to translate the sequence IDs to the real indexes in the group. Should only be used if the type of owning group is SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_ORDERED_ECMP.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_NEXT_HOP_GROUP_MEMBER_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_NEXT_HOP_GROUP_MEMBER_ATTR_ARS_ALTERNATE_PATH 

Next hop group member is part of primary or alternate path set false: Next hop group member is part of primary path set true: Next hop group member is part of alternate path set.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
SAI_NEXT_HOP_GROUP_MEMBER_ATTR_END 

End of attributes.

SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 248 of file sainexthopgroup.h.

◆ _sai_next_hop_group_member_configured_role_t

Next hop group member configured protection role.

Enumerator
SAI_NEXT_HOP_GROUP_MEMBER_CONFIGURED_ROLE_PRIMARY 

Next hop group member is primary

SAI_NEXT_HOP_GROUP_MEMBER_CONFIGURED_ROLE_STANDBY 

Next hop group member is standby

Definition at line 66 of file sainexthopgroup.h.

◆ _sai_next_hop_group_member_observed_role_t

Next hop group member observed role.

Enumerator
SAI_NEXT_HOP_GROUP_MEMBER_OBSERVED_ROLE_ACTIVE 

Next hop group member is active

SAI_NEXT_HOP_GROUP_MEMBER_OBSERVED_ROLE_INACTIVE 

Next hop group member is inactive

Definition at line 79 of file sainexthopgroup.h.

◆ _sai_next_hop_group_type_t

Next hop group type.

Enumerator
SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_UNORDERED_ECMP 

Next hop group is ECMP, with a dynamic number of members, unordered

SAI_NEXT_HOP_GROUP_TYPE_ECMP 
Ignored:
- for backward compatibility
SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_ORDERED_ECMP 

Next hop group is ECMP, with a dynamic number of members, sorted by priority

SAI_NEXT_HOP_GROUP_TYPE_FINE_GRAIN_ECMP 

Next hop group is ECMP, with a fixed, usually large, number of members, sorted by index

SAI_NEXT_HOP_GROUP_TYPE_PROTECTION 

Next hop protection group. Contains primary and backup next hops.

SAI_NEXT_HOP_GROUP_TYPE_CLASS_BASED 

Next hop group is class-based, with members selected by Forwarding class

Definition at line 39 of file sainexthopgroup.h.