FD.io VPP  v17.04.2-2-ga8f93f8
Vector Packet Processing
init.c File Reference
+ Include dependency graph for init.c:

Go to the source code of this file.

Macros

#define vl_typedefs   /* define message structures */
 
#define vl_endianfun   /* define message structures */
 
#define vl_print(handle, ...)   vlib_cli_output (handle, __VA_ARGS__)
 
#define vl_api_version(n, v)   static u32 api_version=(v);
 
#define FINISH
 
#define foreach_dpdk_plugin_api_msg
 
#define vl_msg_name_crc_list
 
#define LINK_STATE_ELOGS   0
 
#define DEFAULT_HUGE_DIR   "/run/vpp/hugepages"
 
#define VPP_RUN_DIR   "/run/vpp"
 

Functions

static void vl_api_sw_interface_set_dpdk_hqos_pipe_t_handler (vl_api_sw_interface_set_dpdk_hqos_pipe_t *mp)
 
static void * vl_api_sw_interface_set_dpdk_hqos_pipe_t_print (vl_api_sw_interface_set_dpdk_hqos_pipe_t *mp, void *handle)
 
static void vl_api_sw_interface_set_dpdk_hqos_subport_t_handler (vl_api_sw_interface_set_dpdk_hqos_subport_t *mp)
 
static void * vl_api_sw_interface_set_dpdk_hqos_subport_t_print (vl_api_sw_interface_set_dpdk_hqos_subport_t *mp, void *handle)
 
static void vl_api_sw_interface_set_dpdk_hqos_tctbl_t_handler (vl_api_sw_interface_set_dpdk_hqos_tctbl_t *mp)
 
static void * vl_api_sw_interface_set_dpdk_hqos_tctbl_t_print (vl_api_sw_interface_set_dpdk_hqos_tctbl_t *mp, void *handle)
 
static clib_error_tdpdk_plugin_api_hookup (vlib_main_t *vm)
 
static void setup_message_id_table (dpdk_main_t *dm, api_main_t *am)
 
clib_error_tdpdk_port_setup (dpdk_main_t *dm, dpdk_device_t *xd)
 
static u32 dpdk_flag_change (vnet_main_t *vnm, vnet_hw_interface_t *hi, u32 flags)
 
void dpdk_device_lock_init (dpdk_device_t *xd)
 
void dpdk_device_lock_free (dpdk_device_t *xd)
 
static clib_error_tdpdk_lib_init (dpdk_main_t *dm)
 
static void dpdk_bind_devices_to_uio (dpdk_config_main_t *conf)
 
static clib_error_tdpdk_device_config (dpdk_config_main_t *conf, vlib_pci_addr_t pci_addr, unformat_input_t *input, u8 is_default)
 
static clib_error_tdpdk_config (vlib_main_t *vm, unformat_input_t *input)
 
void dpdk_update_link_state (dpdk_device_t *xd, f64 now)
 
static uword dpdk_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
int dpdk_set_stat_poll_interval (f64 interval)
 
int dpdk_set_link_state_poll_interval (f64 interval)
 
clib_error_tdpdk_init (vlib_main_t *vm)
 

Variables

dpdk_main_t dpdk_main
 
void * vlib_weakly_linked_functions []
 
static struct rte_eth_conf port_conf_template
 
static vlib_node_registration_t dpdk_process_node
 (constructor) VLIB_REGISTER_NODE (dpdk_process_node) More...
 

Macro Definition Documentation

#define DEFAULT_HUGE_DIR   "/run/vpp/hugepages"

Definition at line 303 of file init.c.

#define FINISH
Value:
vec_add1 (s, 0); \
vl_print (handle, (char *)s); \
vec_free (s); \
return handle;
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
Definition: vec.h:522
#define vl_print(handle,...)
Definition: init.c:52
#define vec_free(V)
Free vector's memory (no header).
Definition: vec.h:340

Definition at line 60 of file init.c.

#define foreach_dpdk_plugin_api_msg
Value:
_(SW_INTERFACE_SET_DPDK_HQOS_PIPE, sw_interface_set_dpdk_hqos_pipe) \
_(SW_INTERFACE_SET_DPDK_HQOS_SUBPORT, sw_interface_set_dpdk_hqos_subport) \
_(SW_INTERFACE_SET_DPDK_HQOS_TCTBL, sw_interface_set_dpdk_hqos_tctbl)

Definition at line 248 of file init.c.

#define LINK_STATE_ELOGS   0

Definition at line 301 of file init.c.

#define vl_api_version (   n,
  v 
)    static u32 api_version=(v);

Definition at line 55 of file init.c.

#define vl_endianfun   /* define message structures */

Definition at line 48 of file init.c.

#define vl_msg_name_crc_list

Definition at line 271 of file init.c.

#define vl_print (   handle,
  ... 
)    vlib_cli_output (handle, __VA_ARGS__)

Definition at line 52 of file init.c.

#define vl_typedefs   /* define message structures */

Definition at line 44 of file init.c.

#define VPP_RUN_DIR   "/run/vpp"

Definition at line 304 of file init.c.

Function Documentation

static void dpdk_bind_devices_to_uio ( dpdk_config_main_t conf)
static

Definition at line 1090 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* dpdk_config ( vlib_main_t vm,
unformat_input_t input 
)
static

Definition at line 1264 of file init.c.

+ Here is the call graph for this function:

static clib_error_t* dpdk_device_config ( dpdk_config_main_t conf,
vlib_pci_addr_t  pci_addr,
unformat_input_t input,
u8  is_default 
)
static

Definition at line 1164 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void dpdk_device_lock_free ( dpdk_device_t xd)

Definition at line 469 of file init.c.

+ Here is the call graph for this function:

void dpdk_device_lock_init ( dpdk_device_t xd)

Definition at line 456 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 dpdk_flag_change ( vnet_main_t vnm,
vnet_hw_interface_t hi,
u32  flags 
)
static

Definition at line 397 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* dpdk_init ( vlib_main_t vm)

Definition at line 2001 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* dpdk_lib_init ( dpdk_main_t dm)
static

Definition at line 480 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* dpdk_plugin_api_hookup ( vlib_main_t vm)
static

Definition at line 255 of file init.c.

+ Here is the caller graph for this function:

clib_error_t* dpdk_port_setup ( dpdk_main_t dm,
dpdk_device_t xd 
)

Definition at line 322 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 1803 of file init.c.

+ Here is the call graph for this function:

int dpdk_set_link_state_poll_interval ( f64  interval)

Definition at line 1990 of file init.c.

int dpdk_set_stat_poll_interval ( f64  interval)

Definition at line 1979 of file init.c.

void dpdk_update_link_state ( dpdk_device_t xd,
f64  now 
)

Definition at line 1688 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void setup_message_id_table ( dpdk_main_t dm,
api_main_t am 
)
static

Definition at line 276 of file init.c.

+ Here is the caller graph for this function:

static void vl_api_sw_interface_set_dpdk_hqos_pipe_t_handler ( vl_api_sw_interface_set_dpdk_hqos_pipe_t mp)
static

Definition at line 70 of file init.c.

+ Here is the call graph for this function:

static void* vl_api_sw_interface_set_dpdk_hqos_pipe_t_print ( vl_api_sw_interface_set_dpdk_hqos_pipe_t mp,
void *  handle 
)
static

Definition at line 99 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_interface_set_dpdk_hqos_subport_t_handler ( vl_api_sw_interface_set_dpdk_hqos_subport_t mp)
static

Definition at line 115 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void* vl_api_sw_interface_set_dpdk_hqos_subport_t_print ( vl_api_sw_interface_set_dpdk_hqos_subport_t mp,
void *  handle 
)
static

Definition at line 151 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_sw_interface_set_dpdk_hqos_tctbl_t_handler ( vl_api_sw_interface_set_dpdk_hqos_tctbl_t mp)
static

Definition at line 172 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void* vl_api_sw_interface_set_dpdk_hqos_tctbl_t_print ( vl_api_sw_interface_set_dpdk_hqos_tctbl_t mp,
void *  handle 
)
static

Definition at line 234 of file init.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

dpdk_main_t dpdk_main

Definition at line 36 of file init.c.

vlib_node_registration_t dpdk_process_node
static
Initial value:
= {
.function = dpdk_process,
.name = "dpdk-process",
.process_log2_n_stack_bytes = 17,
}
static uword dpdk_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: init.c:1803

(constructor) VLIB_REGISTER_NODE (dpdk_process_node)

Definition at line 1970 of file init.c.

struct rte_eth_conf port_conf_template
static
Initial value:
= {
.rxmode = {
.split_hdr_size = 0,
.header_split = 0,
.hw_ip_checksum = 0,
.hw_vlan_filter = 0,
.hw_strip_crc = 0,
},
.txmode = {
.mq_mode = ETH_MQ_TX_NONE,
},
}

Definition at line 308 of file init.c.

void* vlib_weakly_linked_functions[]
Initial value:
= {
&rte_pktmbuf_init,
&rte_pktmbuf_pool_init,
}

Definition at line 296 of file init.c.