FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
node.c File Reference
+ Include dependency graph for node.c:

Go to the source code of this file.

Macros

#define foreach_bond_input_error
 

Enumerations

enum  bond_input_error_t { BOND_INPUT_N_ERROR }
 
enum  bond_output_next_t { BOND_INPUT_NEXT_DROP, BOND_INPUT_N_NEXT }
 

Functions

static u8format_bond_input_trace (u8 *s, va_list *args)
 
static_always_inline u8 packet_is_cdp (ethernet_header_t *eth)
 
static void bond_sw_if_idx_rewrite (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_buffer_t *b, u32 bond_sw_if_index, u32 *n_rx_packets, u32 *n_rx_bytes)
 
static void bond_update_next (vlib_main_t *vm, vlib_node_runtime_t *node, u32 *last_member_sw_if_index, u32 member_sw_if_index, u32 *bond_sw_if_index, vlib_buffer_t *b, u32 *next_index, vlib_error_t *error)
 
static_always_inline void bond_update_next_x4 (vlib_buffer_t *b0, vlib_buffer_t *b1, vlib_buffer_t *b2, vlib_buffer_t *b3)
 
VLIB_NODE_FN() bond_input_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static clib_error_tbond_input_init (vlib_main_t *vm)
 
 VNET_FEATURE_INIT (bond_input, static)
 
static clib_error_tbond_sw_interface_up_down (vnet_main_t *vnm, u32 sw_if_index, u32 flags)
 
 VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (bond_sw_interface_up_down)
 
static clib_error_tbond_hw_interface_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags)
 
 VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION (bond_hw_interface_up_down)
 

Variables

bond_main_t bond_main
 
static char * bond_input_error_strings []
 
vlib_node_registration_t bond_input_node
 (constructor) VLIB_REGISTER_NODE (bond_input_node) More...
 

Macro Definition Documentation

◆ foreach_bond_input_error

#define foreach_bond_input_error
Value:
_(NONE, "no error") \
_(IF_DOWN, "interface down") \
_(PASSIVE_IF, "traffic received on passive interface") \
_(PASS_THRU, "pass through (CDP, LLDP, slow protocols)")

Definition at line 28 of file node.c.

Enumeration Type Documentation

◆ bond_input_error_t

Enumerator
BOND_INPUT_N_ERROR 

Definition at line 34 of file node.c.

◆ bond_output_next_t

Enumerator
BOND_INPUT_NEXT_DROP 
BOND_INPUT_N_NEXT 

Definition at line 66 of file node.c.

Function Documentation

◆ bond_hw_interface_up_down()

static clib_error_t* bond_hw_interface_up_down ( vnet_main_t vnm,
u32  hw_if_index,
u32  flags 
)
static

Definition at line 454 of file node.c.

+ Here is the call graph for this function:

◆ bond_input_init()

static clib_error_t* bond_input_init ( vlib_main_t vm)
static

Definition at line 395 of file node.c.

◆ bond_input_node()

VLIB_NODE_FN() bond_input_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 196 of file node.c.

+ Here is the call graph for this function:

◆ bond_sw_if_idx_rewrite()

static void bond_sw_if_idx_rewrite ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_buffer_t b,
u32  bond_sw_if_index,
u32 n_rx_packets,
u32 n_rx_bytes 
)
inlinestatic

Definition at line 89 of file node.c.

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

◆ bond_sw_interface_up_down()

static clib_error_t* bond_sw_interface_up_down ( vnet_main_t vnm,
u32  sw_if_index,
u32  flags 
)
static

Definition at line 427 of file node.c.

+ Here is the call graph for this function:

◆ bond_update_next()

static void bond_update_next ( vlib_main_t vm,
vlib_node_runtime_t node,
u32 last_member_sw_if_index,
u32  member_sw_if_index,
u32 bond_sw_if_index,
vlib_buffer_t b,
u32 next_index,
vlib_error_t error 
)
inlinestatic

Definition at line 138 of file node.c.

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

◆ bond_update_next_x4()

static_always_inline void bond_update_next_x4 ( vlib_buffer_t b0,
vlib_buffer_t b1,
vlib_buffer_t b2,
vlib_buffer_t b3 
)

Definition at line 184 of file node.c.

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

◆ format_bond_input_trace()

static u8* format_bond_input_trace ( u8 s,
va_list *  args 
)
static

Definition at line 49 of file node.c.

+ Here is the call graph for this function:

◆ packet_is_cdp()

static_always_inline u8 packet_is_cdp ( ethernet_header_t eth)

Definition at line 73 of file node.c.

+ Here is the caller graph for this function:

◆ VNET_FEATURE_INIT()

VNET_FEATURE_INIT ( bond_input  ,
static   
)

◆ VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION()

VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION ( bond_hw_interface_up_down  )

◆ VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION()

VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION ( bond_sw_interface_up_down  )

Variable Documentation

◆ bond_input_error_strings

char* bond_input_error_strings[]
static
Initial value:
= {
#define _(n,s)
}

Definition at line 42 of file node.c.

◆ bond_input_node

vlib_node_registration_t bond_input_node
Initial value:
= {
.name = "bond-input",
.vector_size = sizeof (u32),
.format_trace = format_bond_input_trace,
.n_errors = BOND_INPUT_N_ERROR,
.error_strings = bond_input_error_strings,
.n_next_nodes = BOND_INPUT_N_NEXT,
.next_nodes =
{
[BOND_INPUT_NEXT_DROP] = "error-drop"
}
}

(constructor) VLIB_REGISTER_NODE (bond_input_node)

Definition at line 401 of file node.c.

◆ bond_main

bond_main_t bond_main

Definition at line 25 of file node.c.

VLIB_NODE_TYPE_INTERNAL
@ VLIB_NODE_TYPE_INTERNAL
Definition: node.h:72
BOND_INPUT_NEXT_DROP
@ BOND_INPUT_NEXT_DROP
Definition: node.c:68
bond_input_error_strings
static char * bond_input_error_strings[]
Definition: node.c:42
BOND_INPUT_N_ERROR
@ BOND_INPUT_N_ERROR
Definition: node.c:39
foreach_bond_input_error
#define foreach_bond_input_error
Definition: node.c:28
BOND_INPUT_N_NEXT
@ BOND_INPUT_N_NEXT
Definition: node.c:69
u32
unsigned int u32
Definition: types.h:88
format_ethernet_header_with_length
u8 * format_ethernet_header_with_length(u8 *s, va_list *args)
Definition: format.c:97
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123
format_bond_input_trace
static u8 * format_bond_input_trace(u8 *s, va_list *args)
Definition: node.c:49