* 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
@param sw_if_index - interface to use as echo source
*/
-define bfd_udp_set_echo_source
+autoreply define bfd_udp_set_echo_source
{
u32 client_index;
u32 context;
- u32 sw_if_index;
-};
-
-/** \brief Set BFD feature response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define bfd_udp_set_echo_source_reply
-{
- u32 context;
- i32 retval;
+ vl_api_interface_index_t sw_if_index;
};
/** \brief Delete BFD echo source
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
*/
-define bfd_udp_del_echo_source
+autoreply define bfd_udp_del_echo_source
{
u32 client_index;
u32 context;
};
-/** \brief Delete BFD feature response
+/** \brief Get BFD echo source
+ @param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
- @param retval - return code for the request
*/
-define bfd_udp_del_echo_source_reply
-{
- u32 context;
- i32 retval;
-};
-
-/** \brief Get BFD configuration
-*/
-define bfd_get_config
+define bfd_udp_get_echo_source
{
u32 client_index;
u32 context;
};
-/** \brief Get BFD configuration response
+/** \brief Get BFD echo source reply
@param context - sender context, to match reply w/ request
- @param retval - return code for the request
- @param slow_timer - slow timer (seconds)
- @param min_tx - desired min tx interval
- @param min_rx - desired min rx interval
- @param detect_mult - desired detection multiplier
+ @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_get_config_reply
+define bfd_udp_get_echo_source_reply
{
- u32 client_index;
u32 context;
- u32 slow_timer;
- u32 min_tx;
- u32 min_rx;
- u8 detect_mult;
+ 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 bfd_key_id - key id sent out in BFD packets (if is_authenticated)
@param conf_key_id - id of already configured key (if is_authenticated)
*/
-define bfd_udp_add
+autoreply define bfd_udp_add
{
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;
};
-/** \brief Add UDP BFD session response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define bfd_udp_add_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief Modify UDP BFD session on interface
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param is_ipv6 - local_addr, peer_addr are IPv6 if non-zero, otherwise IPv4
@param detect_mult - detect multiplier (# of packets missed before connection goes down)
*/
-define bfd_udp_mod
+autoreply define bfd_udp_mod
{
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;
};
-/** \brief Modify UDP BFD session response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define bfd_udp_mod_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief Delete UDP BFD session on interface
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param peer_addr - peer address
@param is_ipv6 - local_addr, peer_addr are IPv6 if non-zero, otherwise IPv4
*/
-define bfd_udp_del
+autoreply define bfd_udp_del
{
u32 client_index;
u32 context;
- u32 sw_if_index;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
-};
-
-/** \brief Delete UDP BFD session response
- @param context - sender context, to match reply w/ request
- @param retval - return code for the request
-*/
-define bfd_udp_del_reply
-{
- u32 context;
- i32 retval;
+ 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
*/
-define bfd_udp_session_set_flags
+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;
-};
-
-/** \brief Reply to bfd_udp_session_set_flags
- @param context - sender context which was passed in the request
- @param retval - return code of the set flags request
-*/
-define bfd_udp_session_set_flags_reply
-{
- u32 context;
- i32 retval;
+ 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
@param enable_disable - 1 => register for events, 0 => cancel registration
@param pid - sender's pid
*/
-define want_bfd_events
+autoreply define want_bfd_events
{
u32 client_index;
u32 context;
- u32 enable_disable;
+ bool enable_disable;
u32 pid;
};
-/** \brief Reply for BFD events registration
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define want_bfd_events_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief BFD UDP - add/replace key to configuration
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param auth_type - authentication type (RFC 5880/4.1/Auth Type)
@param key - key data
*/
-define bfd_auth_set_key
+autoreply define bfd_auth_set_key
{
u32 client_index;
u32 context;
u8 key[20];
};
-/** \brief BFD UDP - add/replace key reply
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define bfd_auth_set_key_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief BFD UDP - delete key from configuration
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param key_len - length of key (must be non-zero)
@param key - key data
*/
-define bfd_auth_del_key
+autoreply define bfd_auth_del_key
{
u32 client_index;
u32 context;
u32 conf_key_id;
};
-/** \brief BFD UDP - delete key reply
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define bfd_auth_del_key_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief Get a list of configured authentication keys
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param bfd_key_id - key id sent out in BFD packets
@param conf_key_id - id of already configured key
*/
-define bfd_udp_auth_activate
+autoreply define bfd_udp_auth_activate
{
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;
};
-/** \brief BFD UDP - activate/change authentication reply
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define bfd_udp_auth_activate_reply
-{
- u32 context;
- i32 retval;
-};
-
/** \brief BFD UDP - deactivate authentication
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request
@param is_ipv6 - local_addr, peer_addr are IPv6 if non-zero, otherwise IPv4
@param is_delayed - change is applied once peer applies the change (on first received non-authenticated packet)
*/
-define bfd_udp_auth_deactivate
+autoreply define bfd_udp_auth_deactivate
{
u32 client_index;
u32 context;
- u32 sw_if_index;
- u8 local_addr[16];
- u8 peer_addr[16];
- u8 is_ipv6;
- u8 is_delayed;
-};
-
-/** \brief BFD UDP - deactivate authentication reply
- @param context - returned sender context, to match reply w/ request
- @param retval - return code
-*/
-define bfd_udp_auth_deactivate_reply
-{
- u32 context;
- i32 retval;
+ vl_api_interface_index_t sw_if_index;
+ vl_api_address_t local_addr;
+ vl_api_address_t peer_addr;
+ bool is_delayed;
};
/*