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

This module defines SAI BFD interface. More...

#include <saitypes.h>

Go to the source code of this file.

Classes

struct  _sai_bfd_session_state_notification_t
 Defines the operational status of the BFD session. More...
 
struct  _sai_bfd_api_t
 BFD method table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_bfd_session_type_t sai_bfd_session_type_t
 SAI session type of BFD.
 
typedef enum _sai_bfd_session_offload_type_t sai_bfd_session_offload_type_t
 SAI offload type of BFD session.
 
typedef enum _sai_bfd_encapsulation_type_t sai_bfd_encapsulation_type_t
 SAI type of encapsulation for BFD.
 
typedef enum _sai_bfd_session_state_t sai_bfd_session_state_t
 SAI BFD session state.
 
typedef struct _sai_bfd_session_state_notification_t sai_bfd_session_state_notification_t
 Defines the operational status of the BFD session.
 
typedef enum _sai_bfd_session_attr_t sai_bfd_session_attr_t
 SAI attributes for BFD session.
 
typedef enum _sai_bfd_session_stat_t sai_bfd_session_stat_t
 BFD Session counter IDs in sai_get_bfd_session_stats() call.
 
typedef sai_status_t(* sai_create_bfd_session_fn) (_Out_ sai_object_id_t *bfd_session_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create BFD session.
 
typedef sai_status_t(* sai_remove_bfd_session_fn) (_In_ sai_object_id_t bfd_session_id)
 Remove BFD session.
 
typedef sai_status_t(* sai_set_bfd_session_attribute_fn) (_In_ sai_object_id_t bfd_session_id, _In_ const sai_attribute_t *attr)
 Set BFD session attributes.
 
typedef sai_status_t(* sai_get_bfd_session_attribute_fn) (_In_ sai_object_id_t bfd_session_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get BFD session attributes.
 
typedef sai_status_t(* sai_get_bfd_session_stats_fn) (_In_ sai_object_id_t bfd_session_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters)
 Get BFD session statistics counters. Deprecated for backward compatibility.
 
typedef sai_status_t(* sai_get_bfd_session_stats_ext_fn) (_In_ sai_object_id_t bfd_session_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids, _In_ sai_stats_mode_t mode, _Out_ uint64_t *counters)
 Get BFD session statistics counters extended.
 
typedef sai_status_t(* sai_clear_bfd_session_stats_fn) (_In_ sai_object_id_t bfd_session_id, _In_ uint32_t number_of_counters, _In_ const sai_stat_id_t *counter_ids)
 Clear BFD session statistics counters.
 
typedef void(* sai_bfd_session_state_change_notification_fn) (_In_ uint32_t count, _In_ const sai_bfd_session_state_notification_t *data)
 BFD session state change notification.
 
typedef struct _sai_bfd_api_t sai_bfd_api_t
 BFD method table retrieved with sai_api_query()
 

Enumerations

enum  _sai_bfd_session_type_t { SAI_BFD_SESSION_TYPE_DEMAND_ACTIVE , SAI_BFD_SESSION_TYPE_DEMAND_PASSIVE , SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE , SAI_BFD_SESSION_TYPE_ASYNC_PASSIVE }
 SAI session type of BFD. More...
 
enum  _sai_bfd_session_offload_type_t { SAI_BFD_SESSION_OFFLOAD_TYPE_NONE , SAI_BFD_SESSION_OFFLOAD_TYPE_FULL , SAI_BFD_SESSION_OFFLOAD_TYPE_SUSTENANCE }
 SAI offload type of BFD session. More...
 
enum  _sai_bfd_encapsulation_type_t { SAI_BFD_ENCAPSULATION_TYPE_IP_IN_IP , SAI_BFD_ENCAPSULATION_TYPE_L3_GRE_TUNNEL , SAI_BFD_ENCAPSULATION_TYPE_NONE , SAI_BFD_ENCAPSULATION_TYPE_SRV6 }
 SAI type of encapsulation for BFD. More...
 
enum  _sai_bfd_session_state_t { SAI_BFD_SESSION_STATE_ADMIN_DOWN , SAI_BFD_SESSION_STATE_DOWN , SAI_BFD_SESSION_STATE_INIT , SAI_BFD_SESSION_STATE_UP }
 SAI BFD session state. More...
 
enum  _sai_bfd_session_attr_t {
  SAI_BFD_SESSION_ATTR_START , SAI_BFD_SESSION_ATTR_TYPE = SAI_BFD_SESSION_ATTR_START , SAI_BFD_SESSION_ATTR_HW_LOOKUP_VALID , SAI_BFD_SESSION_ATTR_VIRTUAL_ROUTER ,
  SAI_BFD_SESSION_ATTR_PORT , SAI_BFD_SESSION_ATTR_LOCAL_DISCRIMINATOR , SAI_BFD_SESSION_ATTR_REMOTE_DISCRIMINATOR , SAI_BFD_SESSION_ATTR_UDP_SRC_PORT ,
  SAI_BFD_SESSION_ATTR_TC , SAI_BFD_SESSION_ATTR_VLAN_TPID , SAI_BFD_SESSION_ATTR_VLAN_ID , SAI_BFD_SESSION_ATTR_VLAN_PRI ,
  SAI_BFD_SESSION_ATTR_VLAN_CFI , SAI_BFD_SESSION_ATTR_VLAN_HEADER_VALID , SAI_BFD_SESSION_ATTR_BFD_ENCAPSULATION_TYPE , SAI_BFD_SESSION_ATTR_IPHDR_VERSION ,
  SAI_BFD_SESSION_ATTR_TOS , SAI_BFD_SESSION_ATTR_TTL , SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS , SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS ,
  SAI_BFD_SESSION_ATTR_TUNNEL_TOS , SAI_BFD_SESSION_ATTR_TUNNEL_TTL , SAI_BFD_SESSION_ATTR_TUNNEL_SRC_IP_ADDRESS , SAI_BFD_SESSION_ATTR_TUNNEL_DST_IP_ADDRESS ,
  SAI_BFD_SESSION_ATTR_SRC_MAC_ADDRESS , SAI_BFD_SESSION_ATTR_DST_MAC_ADDRESS , SAI_BFD_SESSION_ATTR_ECHO_ENABLE , SAI_BFD_SESSION_ATTR_MULTIHOP ,
  SAI_BFD_SESSION_ATTR_CBIT , SAI_BFD_SESSION_ATTR_MIN_TX , SAI_BFD_SESSION_ATTR_MIN_RX , SAI_BFD_SESSION_ATTR_MULTIPLIER ,
  SAI_BFD_SESSION_ATTR_REMOTE_MIN_TX , SAI_BFD_SESSION_ATTR_REMOTE_MIN_RX , SAI_BFD_SESSION_ATTR_STATE , SAI_BFD_SESSION_ATTR_OFFLOAD_TYPE ,
  SAI_BFD_SESSION_ATTR_NEGOTIATED_TX , SAI_BFD_SESSION_ATTR_NEGOTIATED_RX , SAI_BFD_SESSION_ATTR_LOCAL_DIAG , SAI_BFD_SESSION_ATTR_REMOTE_DIAG ,
  SAI_BFD_SESSION_ATTR_REMOTE_MULTIPLIER , SAI_BFD_SESSION_ATTR_SRV6_SIDLIST_ID , SAI_BFD_SESSION_ATTR_END , SAI_BFD_SESSION_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_BFD_SESSION_ATTR_CUSTOM_RANGE_END
}
 SAI attributes for BFD session. More...
 
enum  _sai_bfd_session_stat_t { SAI_BFD_SESSION_STAT_IN_PACKETS , SAI_BFD_SESSION_STAT_OUT_PACKETS , SAI_BFD_SESSION_STAT_DROP_PACKETS }
 BFD Session counter IDs in sai_get_bfd_session_stats() call. More...
 

Detailed Description

This module defines SAI BFD 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 saibfd.h.