FD.io VPP  v17.04.2-2-ga8f93f8
Vector Packet Processing
devices.h File Reference
+ Include dependency graph for devices.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vnet_device_per_worker_data_t
 
struct  vnet_device_main_t
 
struct  vnet_device_and_queue_t
 
struct  vnet_device_input_runtime_t
 

Macros

#define VNET_DEVICE_INPUT_NEXT_NODES
 

Enumerations

enum  vnet_device_input_next_t {
  VNET_DEVICE_INPUT_NEXT_IP4_NCS_INPUT, VNET_DEVICE_INPUT_NEXT_IP4_INPUT, VNET_DEVICE_INPUT_NEXT_IP6_INPUT, VNET_DEVICE_INPUT_NEXT_MPLS_INPUT,
  VNET_DEVICE_INPUT_NEXT_ETHERNET_INPUT, VNET_DEVICE_INPUT_NEXT_DROP, VNET_DEVICE_INPUT_N_NEXT_NODES
}
 

Functions

static void vnet_set_device_input_node (u32 hw_if_index, u32 node_index)
 
void vnet_device_input_assign_thread (u32 hw_if_index, u16 queue_id, uword cpu_index)
 
static u64 vnet_get_aggregate_rx_packets (void)
 
static void vnet_device_increment_rx_packets (u32 cpu_index, u64 count)
 
static_always_inline vnet_device_and_queue_tvnet_get_device_and_queue (vlib_main_t *vm, vlib_node_runtime_t *node)
 
static_always_inline void vnet_device_input_set_interrupt_pending (vnet_main_t *vnm, u32 hw_if_index, u16 queue_id)
 

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 []
 

Macro Definition Documentation

Enumeration Type Documentation

Enumerator
VNET_DEVICE_INPUT_NEXT_IP4_NCS_INPUT 
VNET_DEVICE_INPUT_NEXT_IP4_INPUT 
VNET_DEVICE_INPUT_NEXT_IP6_INPUT 
VNET_DEVICE_INPUT_NEXT_MPLS_INPUT 
VNET_DEVICE_INPUT_NEXT_ETHERNET_INPUT 
VNET_DEVICE_INPUT_NEXT_DROP 
VNET_DEVICE_INPUT_N_NEXT_NODES 

Definition at line 22 of file devices.h.

Function Documentation

static void vnet_device_increment_rx_packets ( u32  cpu_index,
u64  count 
)
inlinestatic

Definition at line 98 of file devices.h.

+ Here is the caller graph for this function:

void vnet_device_input_assign_thread ( u32  hw_if_index,
u16  queue_id,
uword  cpu_index 
)

Definition at line 106 of file devices.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline void vnet_device_input_set_interrupt_pending ( vnet_main_t vnm,
u32  hw_if_index,
u16  queue_id 
)

Definition at line 115 of file devices.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u64 vnet_get_aggregate_rx_packets ( void  )
inlinestatic

Definition at line 86 of file devices.h.

+ Here is the caller graph for this function:

static_always_inline vnet_device_and_queue_t* vnet_get_device_and_queue ( vlib_main_t vm,
vlib_node_runtime_t node 
)

Definition at line 108 of file devices.h.

static void vnet_set_device_input_node ( u32  hw_if_index,
u32  node_index 
)
inlinestatic

Definition at line 75 of file devices.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

const u32 device_input_next_node_advance[]

Definition at line 47 of file devices.c.

vlib_node_registration_t device_input_node

(constructor) VLIB_REGISTER_NODE (device_input_node)

Definition at line 32 of file devices.c.

vnet_device_main_t vnet_device_main

Definition at line 22 of file devices.c.