FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
bfd_udp.c File Reference

BFD UDP transport layer implementation. More...

+ Include dependency graph for bfd_udp.c:

Go to the source code of this file.

Data Structures

struct  bfd_udp_main_t
 
struct  bfd_rpc_update_t
 

Macros

#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,
 
#define foreach_bfd_udp_echo_error(F)
 
#define F(sym, string)   static char BFD_UDP_ECHO_ERR_##sym##_STR[] = string;
 
#define F(sym, string)   BFD_UDP_ECHO_ERR_##sym##_STR,
 
#define F(sym, str)   BFD_UDP_ECHO_ERROR_##sym,
 

Enumerations

enum  bfd_udp_input_next_t { BFD_UDP_INPUT_NEXT_NORMAL, BFD_UDP_INPUT_NEXT_REPLY_ARP, BFD_UDP_INPUT_NEXT_REPLY_REWRITE, BFD_UDP_INPUT_N_NEXT }
 
enum  bfd_udp_error_t { foreach_bfd_udp_error }
 
enum  bfd_udp_echo_error_t { foreach_bfd_udp_echo_error }
 

Functions

vnet_api_error_t bfd_udp_set_echo_source (u32 sw_if_index)
 set echo-source interface More...
 
vnet_api_error_t bfd_udp_del_echo_source (u32 sw_if_index)
 
int bfd_udp_is_echo_available (bfd_transport_e transport)
 check if the bfd udp layer is echo-capable at this time More...
 
static u16 bfd_udp_bs_idx_to_sport (u32 bs_idx)
 
int bfd_udp_get_echo_src_ip4 (ip4_address_t *addr)
 
int bfd_udp_get_echo_src_ip6 (ip6_address_t *addr)
 
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 More...
 
int bfd_add_udp4_transport (vlib_main_t *vm, u32 bi, const bfd_session_t *bs, int is_echo)
 
int bfd_add_udp6_transport (vlib_main_t *vm, u32 bi, const bfd_session_t *bs, int is_echo)
 
static void bfd_create_frame_to_next_node (vlib_main_t *vm, u32 bi, u32 next_node)
 
int bfd_udp_calc_next_node (const struct bfd_session_s *bs, u32 *next_node)
 
int bfd_transport_udp4 (vlib_main_t *vm, u32 bi, const struct bfd_session_s *bs)
 transport packet over udpv4 More...
 
int bfd_transport_udp6 (vlib_main_t *vm, u32 bi, const struct bfd_session_s *bs)
 transport packet over udpv6 More...
 
static bfd_session_tbfd_lookup_session (bfd_udp_main_t *bum, const bfd_udp_key_t *key)
 
static void bfd_udp_key_init (bfd_udp_key_t *key, u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr)
 
static vnet_api_error_t bfd_udp_add_session_internal (vlib_main_t *vm, bfd_udp_main_t *bum, u32 sw_if_index, u32 desired_min_tx_usec, u32 required_min_rx_usec, u8 detect_mult, const ip46_address_t *local_addr, const ip46_address_t *peer_addr, bfd_session_t **bs_out)
 
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 vnet_api_error_t bfd_udp_find_session_by_api_input (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr, bfd_session_t **bs_out)
 
static vnet_api_error_t bfd_api_verify_common (u32 sw_if_index, u32 desired_min_tx_usec, u32 required_min_rx_usec, u8 detect_mult, const ip46_address_t *local_addr, const ip46_address_t *peer_addr)
 
static void bfd_udp_del_session_internal (vlib_main_t *vm, bfd_session_t *bs)
 
vnet_api_error_t bfd_udp_add_session (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr, u32 desired_min_tx_usec, u32 required_min_rx_usec, u8 detect_mult, u8 is_authenticated, u32 conf_key_id, u8 bfd_key_id)
 create a new bfd session More...
 
vnet_api_error_t bfd_udp_mod_session (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr, u32 desired_min_tx_usec, u32 required_min_rx_usec, u8 detect_mult)
 modify existing session More...
 
vnet_api_error_t bfd_udp_del_session (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr)
 delete existing session More...
 
vnet_api_error_t bfd_udp_session_set_flags (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr, u8 admin_up_down)
 set session admin down/up More...
 
vnet_api_error_t bfd_udp_auth_activate (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr, u32 conf_key_id, u8 key_id, u8 is_delayed)
 activate authentication for existing session More...
 
vnet_api_error_t bfd_udp_auth_deactivate (u32 sw_if_index, const ip46_address_t *local_addr, const ip46_address_t *peer_addr, u8 is_delayed)
 deactivate authentication for existing session More...
 
static void bfd_udp4_find_headers (vlib_buffer_t *b, ip4_header_t **ip4, 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 (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 void bfd_udp6_find_headers (vlib_buffer_t *b, ip6_header_t **ip6, udp_header_t **udp)
 
static bfd_udp_error_t bfd_udp6_verify_transport (const ip6_header_t *ip6, const udp_header_t *udp, const bfd_session_t *bs)
 
static bfd_udp_error_t bfd_udp6_scan (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_buffer_t *b, bfd_session_t **bs_out)
 
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 uword bfd_udp_echo_input (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f, int is_ipv6)
 
static uword bfd_udp_echo4_input (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
u8bfd_echo_input_format_trace (u8 *s, va_list *args)
 
static uword bfd_udp_echo6_input (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
static clib_error_tbfd_udp_sw_if_add_del (vnet_main_t *vnm, u32 sw_if_index, u32 is_create)
 
 VNET_SW_INTERFACE_ADD_DEL_FUNCTION (bfd_udp_sw_if_add_del)
 
static clib_error_tbfd_udp_init (vlib_main_t *vm)
 

Variables

static vlib_node_registration_t bfd_udp4_input_node
 (constructor) VLIB_REGISTER_NODE (bfd_udp4_input_node) More...
 
static vlib_node_registration_t bfd_udp6_input_node
 (constructor) VLIB_REGISTER_NODE (bfd_udp6_input_node) More...
 
static vlib_node_registration_t bfd_udp_echo4_input_node
 (constructor) VLIB_REGISTER_NODE (bfd_udp_echo4_input_node) More...
 
static vlib_node_registration_t bfd_udp_echo6_input_node
 (constructor) VLIB_REGISTER_NODE (bfd_udp_echo6_input_node) More...
 
bfd_udp_main_t bfd_udp_main
 
static char * bfd_udp_error_strings []
 
static char * bfd_udp_echo_error_strings []
 

Detailed Description

BFD UDP transport layer implementation.

Definition in file bfd_udp.c.

Macro Definition Documentation

◆ F [1/6]

#define F (   sym,
  string 
)    static char BFD_UDP_ERR_##sym##_STR[] = string;

Definition at line 922 of file bfd_udp.c.

◆ F [2/6]

#define F (   sym,
  string 
)    BFD_UDP_ERR_##sym##_STR,

Definition at line 922 of file bfd_udp.c.

◆ F [3/6]

#define F (   sym,
  str 
)    BFD_UDP_ERROR_##sym,

Definition at line 922 of file bfd_udp.c.

◆ F [4/6]

#define F (   sym,
  string 
)    static char BFD_UDP_ECHO_ERR_##sym##_STR[] = string;

Definition at line 922 of file bfd_udp.c.

◆ F [5/6]

#define F (   sym,
  string 
)    BFD_UDP_ECHO_ERR_##sym##_STR,

Definition at line 922 of file bfd_udp.c.

◆ F [6/6]

#define F (   sym,
  str 
)    BFD_UDP_ECHO_ERROR_##sym,

Definition at line 922 of file bfd_udp.c.

◆ foreach_bfd_udp_echo_error

foreach_bfd_udp_echo_error (   F)
Value:
F (NONE, "good bfd echo packets (processed)") \
F (BAD, "invalid bfd echo packets")
#define F(sym, string)
Definition: bfd_udp.c:922

Definition at line 906 of file bfd_udp.c.

◆ foreach_bfd_udp_error

foreach_bfd_udp_error (   F)
Value:
F (NONE, "good bfd packets (processed)") \
F (BAD, "invalid bfd packets")
#define F(sym, string)
Definition: bfd_udp.c:922

Definition at line 883 of file bfd_udp.c.

Enumeration Type Documentation

◆ bfd_udp_echo_error_t

Enumerator
foreach_bfd_udp_echo_error 

Definition at line 920 of file bfd_udp.c.

◆ bfd_udp_error_t

Enumerator
foreach_bfd_udp_error 

Definition at line 897 of file bfd_udp.c.

◆ bfd_udp_input_next_t

Enumerator
BFD_UDP_INPUT_NEXT_NORMAL 
BFD_UDP_INPUT_NEXT_REPLY_ARP 
BFD_UDP_INPUT_NEXT_REPLY_REWRITE 
BFD_UDP_INPUT_N_NEXT 

Definition at line 874 of file bfd_udp.c.

Function Documentation

◆ bfd_add_udp4_transport()

int bfd_add_udp4_transport ( vlib_main_t vm,
u32  bi,
const bfd_session_t bs,
int  is_echo 
)

Definition at line 248 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_add_udp6_transport()

int bfd_add_udp6_transport ( vlib_main_t vm,
u32  bi,
const bfd_session_t bs,
int  is_echo 
)

Definition at line 303 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_api_verify_common()

static vnet_api_error_t bfd_api_verify_common ( u32  sw_if_index,
u32  desired_min_tx_usec,
u32  required_min_rx_usec,
u8  detect_mult,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr 
)
static

Definition at line 651 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_create_frame_to_next_node()

static void bfd_create_frame_to_next_node ( vlib_main_t vm,
u32  bi,
u32  next_node 
)
static

Definition at line 370 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_echo_input_format_trace()

u8* bfd_echo_input_format_trace ( u8 s,
va_list *  args 
)

Definition at line 1454 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_lookup_session()

static bfd_session_t* bfd_lookup_session ( bfd_udp_main_t bum,
const bfd_udp_key_t *  key 
)
static

Definition at line 440 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_rpc_update_session()

static void bfd_rpc_update_session ( u32  bs_idx,
const bfd_pkt_t *  pkt 
)
static

Definition at line 994 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_transport_udp4()

int bfd_transport_udp4 ( vlib_main_t vm,
u32  bi,
const struct bfd_session_s bs 
)

transport packet over udpv4

Parameters
is_echo1 if this is echo packet, 0 if control frame
Returns
1 on success, 0 on failure

Definition at line 416 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_transport_udp6()

int bfd_transport_udp6 ( vlib_main_t vm,
u32  bi,
const struct bfd_session_s bs 
)

transport packet over udpv6

Parameters
is_echo1 if this is echo packet, 0 if control frame
Returns
1 on success, 0 on failure

Definition at line 428 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp4_find_headers()

static void bfd_udp4_find_headers ( vlib_buffer_t b,
ip4_header_t **  ip4,
udp_header_t **  udp 
)
static

Definition at line 929 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp4_input()

static uword bfd_udp4_input ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 1320 of file bfd_udp.c.

+ Here is the call graph for this function:

◆ bfd_udp4_scan()

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

Definition at line 1003 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp4_verify_transport()

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

Definition at line 953 of file bfd_udp.c.

+ Here is the caller graph for this function:

◆ bfd_udp6_find_headers()

static void bfd_udp6_find_headers ( vlib_buffer_t b,
ip6_header_t **  ip6,
udp_header_t **  udp 
)
static

Definition at line 1076 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp6_input()

static uword bfd_udp6_input ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 1351 of file bfd_udp.c.

+ Here is the call graph for this function:

◆ bfd_udp6_scan()

static bfd_udp_error_t bfd_udp6_scan ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_buffer_t b,
bfd_session_t **  bs_out 
)
static

Definition at line 1145 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp6_verify_transport()

static bfd_udp_error_t bfd_udp6_verify_transport ( const ip6_header_t ip6,
const udp_header_t udp,
const bfd_session_t bs 
)
static

Definition at line 1108 of file bfd_udp.c.

+ Here is the caller graph for this function:

◆ bfd_udp_add_session()

vnet_api_error_t bfd_udp_add_session ( u32  sw_if_index,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr,
u32  desired_min_tx_usec,
u32  required_min_rx_usec,
u8  detect_mult,
u8  is_authenticated,
u32  conf_key_id,
u8  bfd_key_id 
)

create a new bfd session

Definition at line 706 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_add_session_internal()

static vnet_api_error_t bfd_udp_add_session_internal ( vlib_main_t vm,
bfd_udp_main_t bum,
u32  sw_if_index,
u32  desired_min_tx_usec,
u32  required_min_rx_usec,
u8  detect_mult,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr,
bfd_session_t **  bs_out 
)
static

Definition at line 464 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_auth_activate()

vnet_api_error_t bfd_udp_auth_activate ( u32  sw_if_index,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr,
u32  conf_key_id,
u8  key_id,
u8  is_delayed 
)

activate authentication for existing session

Definition at line 822 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_auth_deactivate()

vnet_api_error_t bfd_udp_auth_deactivate ( u32  sw_if_index,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr,
u8  is_delayed 
)

deactivate authentication for existing session

Definition at line 853 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_bs_idx_to_sport()

static u16 bfd_udp_bs_idx_to_sport ( u32  bs_idx)
static

Definition at line 153 of file bfd_udp.c.

+ Here is the caller graph for this function:

◆ bfd_udp_calc_next_node()

int bfd_udp_calc_next_node ( const struct bfd_session_s bs,
u32 next_node 
)

Definition at line 380 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_del_echo_source()

vnet_api_error_t bfd_udp_del_echo_source ( u32  sw_if_index)

Definition at line 92 of file bfd_udp.c.

◆ bfd_udp_del_session()

vnet_api_error_t bfd_udp_del_session ( u32  sw_if_index,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr 
)

delete existing session

Definition at line 780 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_del_session_internal()

static void bfd_udp_del_session_internal ( vlib_main_t vm,
bfd_session_t bs 
)
static

Definition at line 677 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_echo4_input()

static uword bfd_udp_echo4_input ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 1447 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_echo6_input()

static uword bfd_udp_echo6_input ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 1495 of file bfd_udp.c.

+ Here is the call graph for this function:

◆ bfd_udp_echo_input()

static uword bfd_udp_echo_input ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f,
int  is_ipv6 
)
static

Definition at line 1383 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_find_session_by_api_input()

static vnet_api_error_t bfd_udp_find_session_by_api_input ( u32  sw_if_index,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr,
bfd_session_t **  bs_out 
)
static

Definition at line 620 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_get_echo_source()

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

Definition at line 230 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_get_echo_src_ip4()

int bfd_udp_get_echo_src_ip4 ( ip4_address_t addr)

Definition at line 167 of file bfd_udp.c.

+ Here is the caller graph for this function:

◆ bfd_udp_get_echo_src_ip6()

int bfd_udp_get_echo_src_ip6 ( ip6_address_t addr)

Definition at line 201 of file bfd_udp.c.

+ Here is the caller graph for this function:

◆ bfd_udp_init()

static clib_error_t* bfd_udp_init ( vlib_main_t vm)
static

Definition at line 1564 of file bfd_udp.c.

+ Here is the call graph for this function:

◆ bfd_udp_input()

static uword bfd_udp_input ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f,
int  is_ipv6 
)
static

Definition at line 1224 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_is_echo_available()

int bfd_udp_is_echo_available ( bfd_transport_e  transport)

check if the bfd udp layer is echo-capable at this time

Returns
1 if available, 0 otherwise

Definition at line 100 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_key_init()

static void bfd_udp_key_init ( bfd_udp_key_t *  key,
u32  sw_if_index,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr 
)
static

Definition at line 451 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_mod_session()

vnet_api_error_t bfd_udp_mod_session ( u32  sw_if_index,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr,
u32  desired_min_tx_usec,
u32  required_min_rx_usec,
u8  detect_mult 
)

modify existing session

Definition at line 753 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_session_set_flags()

vnet_api_error_t bfd_udp_session_set_flags ( u32  sw_if_index,
const ip46_address_t *  local_addr,
const ip46_address_t *  peer_addr,
u8  admin_up_down 
)

set session admin down/up

Definition at line 801 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_set_echo_source()

vnet_api_error_t bfd_udp_set_echo_source ( u32  sw_if_index)

set echo-source interface

Definition at line 78 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bfd_udp_sw_if_add_del()

static clib_error_t* bfd_udp_sw_if_add_del ( vnet_main_t vnm,
u32  sw_if_index,
u32  is_create 
)
static

Definition at line 1525 of file bfd_udp.c.

+ Here is the call graph for this function:

◆ bfd_udp_validate_api_input()

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

Definition at line 542 of file bfd_udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VNET_SW_INTERFACE_ADD_DEL_FUNCTION()

VNET_SW_INTERFACE_ADD_DEL_FUNCTION ( bfd_udp_sw_if_add_del  )
+ Here is the caller graph for this function:

Variable Documentation

◆ bfd_udp4_input_node

static vlib_node_registration_t bfd_udp4_input_node
static
Initial value:
= {
.function = bfd_udp4_input,
.name = "bfd-udp4-input",
.vector_size = sizeof (u32),
.n_errors = BFD_UDP_N_ERROR,
.error_strings = bfd_udp_error_strings,
.format_trace = bfd_input_format_trace,
.n_next_nodes = BFD_UDP_INPUT_N_NEXT,
.next_nodes =
{
[BFD_UDP_INPUT_NEXT_NORMAL] = "error-drop",
},
}
static uword bfd_udp4_input(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: bfd_udp.c:1320
static char * bfd_udp_error_strings[]
Definition: bfd_udp.c:891
unsigned int u32
Definition: types.h:88
u8 * bfd_input_format_trace(u8 *s, va_list *args)
Definition: bfd_main.c:476

(constructor) VLIB_REGISTER_NODE (bfd_udp4_input_node)

Definition at line 70 of file bfd_udp.c.

◆ bfd_udp6_input_node

static vlib_node_registration_t bfd_udp6_input_node
static
Initial value:
= {
.function = bfd_udp6_input,
.name = "bfd-udp6-input",
.vector_size = sizeof (u32),
.n_errors = BFD_UDP_N_ERROR,
.error_strings = bfd_udp_error_strings,
.format_trace = bfd_input_format_trace,
.n_next_nodes = BFD_UDP_INPUT_N_NEXT,
.next_nodes =
{
[BFD_UDP_INPUT_NEXT_NORMAL] = "error-drop",
[BFD_UDP_INPUT_NEXT_REPLY_ARP] = "ip6-discover-neighbor",
},
}
static char * bfd_udp_error_strings[]
Definition: bfd_udp.c:891
unsigned int u32
Definition: types.h:88
static uword bfd_udp6_input(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: bfd_udp.c:1351
u8 * bfd_input_format_trace(u8 *s, va_list *args)
Definition: bfd_main.c:476

(constructor) VLIB_REGISTER_NODE (bfd_udp6_input_node)

Definition at line 71 of file bfd_udp.c.

◆ bfd_udp_echo4_input_node

static vlib_node_registration_t bfd_udp_echo4_input_node
static
Initial value:
= {
.function = bfd_udp_echo4_input,
.name = "bfd-udp-echo4-input",
.vector_size = sizeof (u32),
.n_errors = BFD_UDP_ECHO_N_ERROR,
.error_strings = bfd_udp_error_strings,
.format_trace = bfd_echo_input_format_trace,
.n_next_nodes = BFD_UDP_INPUT_N_NEXT,
.next_nodes =
{
[BFD_UDP_INPUT_NEXT_NORMAL] = "error-drop",
},
}
static char * bfd_udp_error_strings[]
Definition: bfd_udp.c:891
unsigned int u32
Definition: types.h:88
u8 * bfd_echo_input_format_trace(u8 *s, va_list *args)
Definition: bfd_udp.c:1454
static uword bfd_udp_echo4_input(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: bfd_udp.c:1447

(constructor) VLIB_REGISTER_NODE (bfd_udp_echo4_input_node)

Definition at line 72 of file bfd_udp.c.

◆ bfd_udp_echo6_input_node

static vlib_node_registration_t bfd_udp_echo6_input_node
static
Initial value:
= {
.function = bfd_udp_echo6_input,
.name = "bfd-udp-echo6-input",
.vector_size = sizeof (u32),
.n_errors = BFD_UDP_ECHO_N_ERROR,
.error_strings = bfd_udp_echo_error_strings,
.format_trace = bfd_echo_input_format_trace,
.n_next_nodes = BFD_UDP_INPUT_N_NEXT,
.next_nodes =
{
[BFD_UDP_INPUT_NEXT_NORMAL] = "error-drop",
[BFD_UDP_INPUT_NEXT_REPLY_ARP] = "ip6-discover-neighbor",
},
}
static char * bfd_udp_echo_error_strings[]
Definition: bfd_udp.c:914
static uword bfd_udp_echo6_input(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: bfd_udp.c:1495
unsigned int u32
Definition: types.h:88
u8 * bfd_echo_input_format_trace(u8 *s, va_list *args)
Definition: bfd_udp.c:1454

(constructor) VLIB_REGISTER_NODE (bfd_udp_echo6_input_node)

Definition at line 73 of file bfd_udp.c.

◆ bfd_udp_echo_error_strings

char* bfd_udp_echo_error_strings[]
static
Initial value:
= {
#define F(sym, string)
}
#define foreach_bfd_udp_echo_error(F)
Definition: bfd_udp.c:906
#define F(sym, string)
Definition: bfd_udp.c:922

Definition at line 914 of file bfd_udp.c.

◆ bfd_udp_error_strings

char* bfd_udp_error_strings[]
static
Initial value:
= {
#define F(sym, string)
}
#define foreach_bfd_udp_error(F)
Definition: bfd_udp.c:883
#define F(sym, string)
Definition: bfd_udp.c:922

Definition at line 891 of file bfd_udp.c.

◆ bfd_udp_main

bfd_udp_main_t bfd_udp_main

Definition at line 75 of file bfd_udp.c.