Go to the source code of this file.
|
#define | foreach_bfd_udp_error(F) |
|
#define | F(sym, string) static char BFD_UDP_ERR_##sym##_STR[] = string; |
|
#define | F(sym, string) BFD_UDP_ERR_##sym##_STR, |
|
#define | F(sym, str) BFD_UDP_ERROR_##sym, |
|
|
void | bfd_udp_transport_to_buffer (vlib_main_t *vm, vlib_buffer_t *b, bfd_udp_session_t *bus) |
|
void | bfd_add_udp_transport (vlib_main_t *vm, vlib_buffer_t *b, bfd_udp_session_t *bus) |
|
static bfd_session_t * | bfd_lookup_session (bfd_udp_main_t *bum, const bfd_udp_key_t *key) |
|
static vnet_api_error_t | bfd_udp_add_session_internal (bfd_udp_main_t *bum, u32 sw_if_index, u32 desired_min_tx_us, u32 required_min_rx_us, u8 detect_mult, const ip46_address_t *local_addr, const ip46_address_t *peer_addr) |
|
static vnet_api_error_t | bfd_udp_validate_api_input (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr) |
|
vnet_api_error_t | bfd_udp_add_session (u32 sw_if_index, u32 desired_min_tx_us, u32 required_min_rx_us, u8 detect_mult, const ip46_address_t *local_addr, const ip46_address_t *peer_addr) |
|
vnet_api_error_t | bfd_udp_del_session (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr) |
|
static void | bfd_udp4_find_headers (vlib_buffer_t *b, const ip4_header_t **ip4, const udp_header_t **udp) |
|
static bfd_udp_error_t | bfd_udp4_verify_transport (const ip4_header_t *ip4, const udp_header_t *udp, const bfd_session_t *bs) |
|
static void | bfd_rpc_update_session_cb (const bfd_rpc_update_t *a) |
|
static void | bfd_rpc_update_session (u32 bs_idx, const bfd_pkt_t *pkt) |
|
static bfd_udp_error_t | bfd_udp4_scan (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_buffer_t *b, bfd_session_t **bs_out) |
|
static bfd_udp_error_t | bfd_udp6_scan (vlib_main_t *vm, vlib_buffer_t *b) |
|
static uword | bfd_udp_input (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f, int is_ipv6) |
|
static uword | bfd_udp4_input (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) |
|
static uword | bfd_udp6_input (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f) |
|
static clib_error_t * | bfd_sw_interface_up_down (vnet_main_t *vnm, u32 sw_if_index, u32 flags) |
|
| VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (bfd_sw_interface_up_down) |
|
static clib_error_t * | bfd_hw_interface_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags) |
|
| VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION (bfd_hw_interface_up_down) |
|
static clib_error_t * | bfd_udp_init (vlib_main_t *vm) |
|
#define F |
( |
|
sym, |
|
|
|
string |
|
) |
| static char BFD_UDP_ERR_##sym##_STR[] = string; |
#define F |
( |
|
sym, |
|
|
|
string |
|
) |
| BFD_UDP_ERR_##sym##_STR, |
#define F |
( |
|
sym, |
|
|
|
str |
|
) |
| BFD_UDP_ERROR_##sym, |
foreach_bfd_udp_error |
( |
|
F | ) |
|
Value:F (NONE,
"good bfd packets (processed)")
\ F (BAD,
"invalid bfd packets")
\ F (DISABLED,
"bfd packets received on disabled interfaces")
Definition at line 292 of file bfd_udp.c.
Enumerator |
---|
foreach_bfd_udp_error |
|
Definition at line 307 of file bfd_udp.c.
Enumerator |
---|
BFD_UDP_INPUT_NEXT_NORMAL |
|
BFD_UDP_INPUT_NEXT_REPLY |
|
BFD_UDP_INPUT_N_NEXT |
|
Definition at line 285 of file bfd_udp.c.
static void bfd_rpc_update_session |
( |
u32 |
bs_idx, |
|
|
const bfd_pkt_t * |
pkt |
|
) |
| |
|
static |
vnet_api_error_t bfd_udp_add_session |
( |
u32 |
sw_if_index, |
|
|
u32 |
desired_min_tx_us, |
|
|
u32 |
required_min_rx_us, |
|
|
u8 |
detect_mult, |
|
|
const ip46_address_t * |
local_addr, |
|
|
const ip46_address_t * |
peer_addr |
|
) |
| |
static vnet_api_error_t bfd_udp_add_session_internal |
( |
bfd_udp_main_t * |
bum, |
|
|
u32 |
sw_if_index, |
|
|
u32 |
desired_min_tx_us, |
|
|
u32 |
required_min_rx_us, |
|
|
u8 |
detect_mult, |
|
|
const ip46_address_t * |
local_addr, |
|
|
const ip46_address_t * |
peer_addr |
|
) |
| |
|
static |
vnet_api_error_t bfd_udp_del_session |
( |
u32 |
sw_if_index, |
|
|
const ip46_address_t * |
local_addr, |
|
|
const ip46_address_t * |
peer_addr |
|
) |
| |
static vnet_api_error_t bfd_udp_validate_api_input |
( |
u32 |
sw_if_index, |
|
|
const ip46_address_t * |
local_addr, |
|
|
const ip46_address_t * |
peer_addr |
|
) |
| |
|
static |
Initial value:= {
.name = "bfd-udp4-input",
.vector_size =
sizeof (
u32),
.n_errors = BFD_UDP_N_ERROR,
.next_nodes =
{
},
}
bad routing header type(not 4)") sr_error (NO_MORE_SEGMENTS
static uword bfd_udp4_input(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
static char * bfd_udp_error_strings[]
u8 * bfd_input_format_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (bfd_udp4_input_node)
Definition at line 29 of file bfd_udp.c.
Initial value:= {
.name = "bfd-udp6-input",
.vector_size =
sizeof (
u32),
.n_errors = BFD_UDP_N_ERROR,
.next_nodes =
{
},
}
bad routing header type(not 4)") sr_error (NO_MORE_SEGMENTS
static char * bfd_udp_error_strings[]
static uword bfd_udp6_input(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
u8 * bfd_input_format_trace(u8 *s, va_list *args)
(constructor) VLIB_REGISTER_NODE (bfd_udp6_input_node)
Definition at line 30 of file bfd_udp.c.
char* bfd_udp_error_strings[] |
|
static |
Initial value:= {
#define F(sym, string)
}
#define foreach_bfd_udp_error(F)
Definition at line 301 of file bfd_udp.c.