* limitations under the License.
*/
+option version = "2.0.0";
+
+import "vnet/interface_types.api";
+import "vnet/ip/ip_types.api";
+
+enum bfd_state {
+ BFD_STATE_API_ADMIN_DOWN = 0,
+ BFD_STATE_API_DOWN = 1,
+ BFD_STATE_API_INIT = 2,
+ BFD_STATE_API_UP = 3,
+};
+
/** \brief Set BFD echo source
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
{
u32 client_index;
u32 context;
- u32 sw_if_index;
+ vl_api_interface_index_t sw_if_index;
};
/** \brief Delete BFD echo source
u32 context;
};
+/** \brief Get BFD echo source
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+define bfd_udp_get_echo_source
+{
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief Get BFD echo source reply
+ @param context - sender context, to match reply w/ request
+ @param retval - return code
+ @param sw_if_index - interface to use as echo source
+ @param is_set - non-zero if set
+ @param have_usable_ip4 - non-zero if have usable IPv4 address
+ @param ip4_addr - IPv4 address
+ @param have_usable_ip6 - non-zero if have usable IPv6 address
+ @param ip6_addr - IPv6 address
+*/
+define bfd_udp_get_echo_source_reply
+{
+ u32 context;
+ i32 retval;
+ vl_api_interface_index_t sw_if_index;
+ bool is_set;
+ bool have_usable_ip4;
+ vl_api_ip4_address_t ip4_addr;
+ bool have_usable_ip6;
+ vl_api_ip6_address_t ip6_addr;
+};
+
/** \brief Add UDP BFD session on interface
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
{
u32 client_index;
u32 context;
- u32 sw_if_index;
+ vl_api_interface_index_t sw_if_index;
u32 desired_min_tx;
u32 required_min_rx;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
+ vl_api_address_t local_addr;
+ vl_api_address_t peer_addr;
u8 detect_mult;
- u8 is_authenticated;
+ bool is_authenticated;
u8 bfd_key_id;
u32 conf_key_id;
};
{
u32 client_index;
u32 context;
- u32 sw_if_index;
+ vl_api_interface_index_t sw_if_index;
u32 desired_min_tx;
u32 required_min_rx;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
+ vl_api_address_t local_addr;
+ vl_api_address_t peer_addr;
u8 detect_mult;
};
{
u32 client_index;
u32 context;
- u32 sw_if_index;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_address_t local_addr;
+ vl_api_address_t peer_addr;
};
/** \brief Get all BFD sessions
define bfd_udp_session_details
{
u32 context;
- u32 sw_if_index;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
- u8 state;
- u8 is_authenticated;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_address_t local_addr;
+ vl_api_address_t peer_addr;
+ vl_api_bfd_state_t state;
+ bool is_authenticated;
u8 bfd_key_id;
u32 conf_key_id;
u32 required_min_rx;
@param local_addr - local address
@param peer_addr - peer address
@param is_ipv6 - local_addr, peer_addr are IPv6 if non-zero, otherwise IPv4
- @param admin_up_down - set the admin state, 1 = up, 0 = down
+ @param flags - set the admin state, 1 = up, 0 = down
*/
autoreply define bfd_udp_session_set_flags
{
u32 client_index;
u32 context;
- u32 sw_if_index;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
- u8 admin_up_down;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_address_t local_addr;
+ vl_api_address_t peer_addr;
+ vl_api_if_status_flags_t flags;
};
/** \brief Register for BFD events
{
u32 client_index;
u32 context;
- u32 enable_disable;
+ bool enable_disable;
u32 pid;
};
{
u32 client_index;
u32 context;
- u32 sw_if_index;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
- u8 is_delayed;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_address_t local_addr;
+ vl_api_address_t peer_addr;
+ bool is_delayed;
u8 bfd_key_id;
u32 conf_key_id;
};
{
u32 client_index;
u32 context;
- u32 sw_if_index;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
- u8 is_delayed;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_address_t local_addr;
+ vl_api_address_t peer_addr;
+ bool is_delayed;
};
/*