SAI Metadata
Loading...
Searching...
No Matches
sainexthopgroup.h File Reference

This module defines SAI Next Hop Group interface. More...

#include <saitypes.h>

Go to the source code of this file.

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

This module defines SAI Next Hop Group interface.

Copyright (c) 2014 Microsoft Open Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

THIS CODE IS PROVIDED ON AN AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT.

See the Apache Version 2.0 License for specific language governing permissions and limitations under the License.

Microsoft would like to thank the following companies for their review and assistance with these files: Intel Corporation, Mellanox Technologies Ltd, Dell Products, L.P., Facebook, Inc., Marvell International Ltd.

Definition in file sainexthopgroup.h.