25#if !defined (__SAINEXTHOPGROUP_H_)
26#define __SAINEXTHOPGROUP_H_
387} sai_next_hop_group_member_attr_t;
394} sai_next_hop_group_map_type_t;
431} sai_next_hop_group_map_attr_t;
444 _Out_ sai_object_id_t *next_hop_group_id,
445 _In_ sai_object_id_t switch_id,
446 _In_ uint32_t attr_count,
457 _In_ sai_object_id_t next_hop_group_id);
468 _In_ sai_object_id_t next_hop_group_id,
481 _In_ sai_object_id_t next_hop_group_id,
482 _In_ uint32_t attr_count,
496 _Out_ sai_object_id_t *next_hop_group_member_id,
497 _In_ sai_object_id_t switch_id,
498 _In_ uint32_t attr_count,
509 _In_ sai_object_id_t next_hop_group_member_id);
520 _In_ sai_object_id_t next_hop_group_member_id,
533 _In_ sai_object_id_t next_hop_group_member_id,
534 _In_ uint32_t attr_count,
548 _Out_ sai_object_id_t *next_hop_group_map_id,
549 _In_ sai_object_id_t switch_id,
550 _In_ uint32_t attr_count,
561 _In_ sai_object_id_t next_hop_group_map_id);
572 _In_ sai_object_id_t next_hop_group_map_id,
585 _In_ sai_object_id_t next_hop_group_map_id,
586 _In_ uint32_t attr_count,
struct _sai_next_hop_group_api_t sai_next_hop_group_api_t
Next Hop methods table retrieved with sai_api_query()
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.
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.
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.
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.
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.
sai_status_t(* sai_remove_next_hop_group_fn)(_In_ sai_object_id_t next_hop_group_id)
Remove next hop group.
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.
_sai_next_hop_group_type_t
Next hop group type.
enum _sai_next_hop_group_attr_t sai_next_hop_group_attr_t
Attribute id for next hop.
_sai_next_hop_group_map_attr_t
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.
enum _sai_next_hop_group_member_observed_role_t sai_next_hop_group_member_observed_role_t
Next hop group member observed role.
_sai_next_hop_group_member_observed_role_t
Next hop group member observed role.
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.
_sai_next_hop_group_attr_t
Attribute id for next hop.
_sai_next_hop_group_map_type_t
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.
_sai_next_hop_group_member_attr_t
enum _sai_next_hop_group_type_t sai_next_hop_group_type_t
Next hop group type.
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.
_sai_next_hop_group_member_configured_role_t
Next hop group member configured protection role.
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.
enum _sai_next_hop_group_member_configured_role_t sai_next_hop_group_member_configured_role_t
Next hop group member configured protection role.
@ SAI_NEXT_HOP_GROUP_TYPE_FINE_GRAIN_ECMP
@ SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_ORDERED_ECMP
@ SAI_NEXT_HOP_GROUP_TYPE_PROTECTION
@ SAI_NEXT_HOP_GROUP_TYPE_DYNAMIC_UNORDERED_ECMP
@ SAI_NEXT_HOP_GROUP_TYPE_CLASS_BASED
@ SAI_NEXT_HOP_GROUP_TYPE_ECMP
@ SAI_NEXT_HOP_GROUP_MAP_ATTR_END
End of attributes.
@ SAI_NEXT_HOP_GROUP_MAP_ATTR_CUSTOM_RANGE_START
@ SAI_NEXT_HOP_GROUP_MAP_ATTR_CUSTOM_RANGE_END
@ SAI_NEXT_HOP_GROUP_MAP_ATTR_MAP_TO_VALUE_LIST
Next hop group entries associated with this map.
@ SAI_NEXT_HOP_GROUP_MAP_ATTR_START
Start of attributes.
@ SAI_NEXT_HOP_GROUP_MAP_ATTR_TYPE
Next hop group map type.
@ SAI_NEXT_HOP_GROUP_MEMBER_OBSERVED_ROLE_ACTIVE
@ SAI_NEXT_HOP_GROUP_MEMBER_OBSERVED_ROLE_INACTIVE
@ SAI_NEXT_HOP_GROUP_ATTR_ARS_NEXT_HOP_REASSIGNMENTS
Number of ARS next hop reassignments done.
@ SAI_NEXT_HOP_GROUP_ATTR_SET_SWITCHOVER
Trigger a switch-over from primary to backup next hop.
@ SAI_NEXT_HOP_GROUP_ATTR_HIERARCHICAL_NEXTHOP
Hierarchical next hop group level. true: Nexthop group consists of tunnel and IP nexthop false: Nexth...
@ SAI_NEXT_HOP_GROUP_ATTR_REAL_SIZE
Real group size.
@ SAI_NEXT_HOP_GROUP_ATTR_NEXT_HOP_MEMBER_LIST
Next hop member list.
@ SAI_NEXT_HOP_GROUP_ATTR_TYPE
Next hop group type.
@ SAI_NEXT_HOP_GROUP_ATTR_CONFIGURED_SIZE
Configured group size.
@ SAI_NEXT_HOP_GROUP_ATTR_CUSTOM_RANGE_END
@ SAI_NEXT_HOP_GROUP_ATTR_ARS_OBJECT_ID
Adaptive routing and switching object for this group.
@ SAI_NEXT_HOP_GROUP_ATTR_START
Start of attributes.
@ SAI_NEXT_HOP_GROUP_ATTR_ARS_PACKET_DROPS
Number of packets dropped by ARS mechanism.
@ SAI_NEXT_HOP_GROUP_ATTR_END
End of attributes.
@ SAI_NEXT_HOP_GROUP_ATTR_COUNTER_ID
Attach a counter.
@ SAI_NEXT_HOP_GROUP_ATTR_SELECTION_MAP
Next hop group selection map.
@ SAI_NEXT_HOP_GROUP_ATTR_CUSTOM_RANGE_START
@ SAI_NEXT_HOP_GROUP_ATTR_ARS_PORT_REASSIGNMENTS
Number of ARS port reassignments done.
@ SAI_NEXT_HOP_GROUP_ATTR_NEXT_HOP_COUNT
Number of next hops in the group.
@ SAI_NEXT_HOP_GROUP_MAP_TYPE_FORWARDING_CLASS_TO_INDEX
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_NEXT_HOP_GROUP_ID
Next hop group id.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_WEIGHT
Member weights.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_NEXT_HOP_ID
Next hop id.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_SEQUENCE_ID
Object's sequence ID for enforcing the members' order.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_OBSERVED_ROLE
The actual role in protection group.
@ 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 o...
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_INDEX
Object index in the fine grain ECMP table.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_COUNTER_ID
Attach a counter.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_START
Start of attributes.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_END
End of attributes.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_MONITORED_OBJECT
The object to be monitored for this next hop.
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CUSTOM_RANGE_START
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CUSTOM_RANGE_END
@ SAI_NEXT_HOP_GROUP_MEMBER_ATTR_CONFIGURED_ROLE
Configured role in the protection group.
@ SAI_NEXT_HOP_GROUP_MEMBER_CONFIGURED_ROLE_PRIMARY
@ SAI_NEXT_HOP_GROUP_MEMBER_CONFIGURED_ROLE_STANDBY
sai_status_t(* sai_bulk_object_get_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ const uint32_t *attr_count, _Inout_ sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects get attributes.
sai_status_t(* sai_bulk_object_create_fn)(_In_ sai_object_id_t switch_id, _In_ uint32_t object_count, _In_ const uint32_t *attr_count, _In_ const sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_object_id_t *object_id, _Out_ sai_status_t *object_statuses)
Bulk objects creation.
sai_status_t(* sai_bulk_object_remove_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects removal.
sai_status_t(* sai_bulk_object_set_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_object_id_t *object_id, _In_ const sai_attribute_t *attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk objects set attributes.
This module defines SAI portable types.
Next Hop methods table retrieved with sai_api_query()