19 #ifndef __included_bfd_udp_h__ 20 #define __included_bfd_udp_h__ 37 ip46_address_t local_addr;
39 ip46_address_t peer_addr;
typedef CLIB_PACKED(struct { union { u32 sw_if_index;u32 fib_index;};ip46_address_t local_addr;ip46_address_t peer_addr;}) bfd_udp_key_t
identifier of BFD session based on UDP transport only
int bfd_add_udp6_transport(vlib_main_t *vm, u32 bi, const struct bfd_session_s *bs, int is_echo)
add the necessary transport layer by prepending it to existing data
vl_api_interface_index_t sw_if_index
UDP transport specific data embedded in bfd_session's union.
int bfd_add_udp4_transport(vlib_main_t *vm, u32 bi, const struct bfd_session_s *bs, int is_echo)
add the necessary transport layer by prepending it to existing data
bfd_udp_key_t key
key identifying this session
bfd_transport_e transport
transport type for this session
void bfd_udp_get_echo_source(int *is_set, u32 *sw_if_index, int *have_usable_ip4, ip4_address_t *ip4, int *have_usable_ip6, ip6_address_t *ip6)
get echo source information - used by CLI
int bfd_transport_udp4(vlib_main_t *vm, u32 bi, const struct bfd_session_s *bs)
transport packet over udpv4
u32 adj_index_t
An index for adjacencies.
adj_index_t adj_index
adjacency index returned from adj lock call
int bfd_udp_is_echo_available(bfd_transport_e transport)
check if the bfd udp layer is echo-capable at this time
int bfd_transport_udp6(vlib_main_t *vm, u32 bi, const struct bfd_session_s *bs)
transport packet over udpv6