FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
devices.c File Reference
+ Include dependency graph for devices.c:

Go to the source code of this file.

Functions

static uword device_input_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
 VNET_FEATURE_ARC_INIT (device_input, static)
 
 VNET_FEATURE_INIT (l2_patch, static)
 
 VNET_FEATURE_INIT (worker_handoff, static)
 
 VNET_FEATURE_INIT (span_input, static)
 
 VNET_FEATURE_INIT (p2p_ethernet_node, static)
 
 VNET_FEATURE_INIT (ethernet_input, static)
 
static int vnet_device_queue_sort (void *a1, void *a2)
 
static void vnet_device_queue_update (vnet_main_t *vnm, vnet_device_input_runtime_t *rt)
 
void vnet_hw_interface_assign_rx_thread (vnet_main_t *vnm, u32 hw_if_index, u16 queue_id, uword thread_index)
 
int vnet_hw_interface_unassign_rx_thread (vnet_main_t *vnm, u32 hw_if_index, u16 queue_id)
 
int vnet_hw_interface_set_rx_mode (vnet_main_t *vnm, u32 hw_if_index, u16 queue_id, vnet_hw_interface_rx_mode mode)
 
int vnet_hw_interface_get_rx_mode (vnet_main_t *vnm, u32 hw_if_index, u16 queue_id, vnet_hw_interface_rx_mode *mode)
 
static clib_error_tvnet_device_init (vlib_main_t *vm)
 

Variables

vnet_device_main_t vnet_device_main
 
vlib_node_registration_t device_input_node
 (constructor) VLIB_REGISTER_NODE (device_input_node) More...
 
const u32 device_input_next_node_advance [((VNET_DEVICE_INPUT_N_NEXT_NODES/CLIB_CACHE_LINE_BYTES)+1) *CLIB_CACHE_LINE_BYTES]
 
const u32 device_input_next_node_flags [((VNET_DEVICE_INPUT_N_NEXT_NODES/CLIB_CACHE_LINE_BYTES)+1) *CLIB_CACHE_LINE_BYTES]
 

Function Documentation

◆ device_input_fn()

static uword device_input_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 25 of file devices.c.

◆ vnet_device_init()

static clib_error_t* vnet_device_init ( vlib_main_t vm)
static

Definition at line 347 of file devices.c.

+ Here is the call graph for this function:

◆ vnet_device_queue_sort()

static int vnet_device_queue_sort ( void *  a1,
void *  a2 
)
static

Definition at line 105 of file devices.c.

+ Here is the caller graph for this function:

◆ vnet_device_queue_update()

static void vnet_device_queue_update ( vnet_main_t vnm,
vnet_device_input_runtime_t rt 
)
static

Definition at line 123 of file devices.c.

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

◆ VNET_FEATURE_ARC_INIT()

VNET_FEATURE_ARC_INIT ( device_input  ,
static   
)

◆ VNET_FEATURE_INIT() [1/5]

VNET_FEATURE_INIT ( l2_patch  ,
static   
)

◆ VNET_FEATURE_INIT() [2/5]

VNET_FEATURE_INIT ( worker_handoff  ,
static   
)

◆ VNET_FEATURE_INIT() [3/5]

VNET_FEATURE_INIT ( span_input  ,
static   
)

◆ VNET_FEATURE_INIT() [4/5]

VNET_FEATURE_INIT ( p2p_ethernet_node  ,
static   
)

◆ VNET_FEATURE_INIT() [5/5]

VNET_FEATURE_INIT ( ethernet_input  ,
static   
)

◆ vnet_hw_interface_assign_rx_thread()

void vnet_hw_interface_assign_rx_thread ( vnet_main_t vnm,
u32  hw_if_index,
u16  queue_id,
uword  thread_index 
)

Definition at line 139 of file devices.c.

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

◆ vnet_hw_interface_get_rx_mode()

int vnet_hw_interface_get_rx_mode ( vnet_main_t vnm,
u32  hw_if_index,
u16  queue_id,
vnet_hw_interface_rx_mode mode 
)

Definition at line 313 of file devices.c.

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

◆ vnet_hw_interface_set_rx_mode()

int vnet_hw_interface_set_rx_mode ( vnet_main_t vnm,
u32  hw_if_index,
u16  queue_id,
vnet_hw_interface_rx_mode  mode 
)

Definition at line 253 of file devices.c.

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

◆ vnet_hw_interface_unassign_rx_thread()

int vnet_hw_interface_unassign_rx_thread ( vnet_main_t vnm,
u32  hw_if_index,
u16  queue_id 
)

Definition at line 188 of file devices.c.

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

Variable Documentation

◆ device_input_next_node_advance

◆ device_input_next_node_flags

Initial value:
=
{
[VNET_DEVICE_INPUT_NEXT_IP4_INPUT] = VNET_BUFFER_F_L3_HDR_OFFSET_VALID,
[VNET_DEVICE_INPUT_NEXT_IP4_NCS_INPUT] = VNET_BUFFER_F_L3_HDR_OFFSET_VALID,
[VNET_DEVICE_INPUT_NEXT_IP6_INPUT] = VNET_BUFFER_F_L3_HDR_OFFSET_VALID,
[VNET_DEVICE_INPUT_NEXT_MPLS_INPUT] = VNET_BUFFER_F_L3_HDR_OFFSET_VALID,
}

Definition at line 57 of file devices.c.

◆ device_input_node

vlib_node_registration_t device_input_node
Initial value:
= {
.function = device_input_fn,
.name = "device-input",
.runtime_data_bytes = sizeof (vnet_device_input_runtime_t),
.state = VLIB_NODE_STATE_DISABLED,
}
static uword device_input_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: devices.c:25
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define VNET_DEVICE_INPUT_NEXT_NODES
Definition: devices.h:33
vl_api_dhcp_client_state_t state
Definition: dhcp.api:201

(constructor) VLIB_REGISTER_NODE (device_input_node)

Definition at line 32 of file devices.c.

◆ vnet_device_main

vnet_device_main_t vnet_device_main

Definition at line 22 of file devices.c.