FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
device.c File Reference
+ Include dependency graph for device.c:

Go to the source code of this file.

Data Structures

struct  gdb_af_xdp_pair_t
 

Macros

#define XDP_FLAGS_REPLACE   0
 

Functions

gdb_af_xdp_pair_t gdb_af_xdp_get_prod (const struct xsk_ring_prod *prod)
 
gdb_af_xdp_pair_t gdb_af_xdp_get_cons (const struct xsk_ring_cons *cons)
 
static clib_error_taf_xdp_mac_change (vnet_hw_interface_t *hw, const u8 *old, const u8 *new)
 
static u32 af_xdp_flag_change (vnet_main_t *vnm, vnet_hw_interface_t *hw, u32 flags)
 
void af_xdp_delete_if (vlib_main_t *vm, af_xdp_device_t *ad)
 
static int af_xdp_load_program (af_xdp_create_if_args_t *args, af_xdp_device_t *ad)
 
static int af_xdp_create_queue (vlib_main_t *vm, af_xdp_create_if_args_t *args, af_xdp_device_t *ad, int qid)
 
static int af_xdp_get_numa (const char *ifname)
 
static void af_xdp_get_q_count (const char *ifname, int *rxq_num, int *txq_num)
 
static clib_error_taf_xdp_device_rxq_read_ready (clib_file_t *f)
 
static clib_error_taf_xdp_device_set_rxq_mode (const af_xdp_device_t *ad, af_xdp_rxq_t *rxq, const af_xdp_rxq_mode_t mode)
 
void af_xdp_create_if (vlib_main_t *vm, af_xdp_create_if_args_t *args)
 
static clib_error_taf_xdp_interface_admin_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags)
 
static clib_error_taf_xdp_interface_rx_mode_change (vnet_main_t *vnm, u32 hw_if_index, u32 qid, vnet_hw_if_rx_mode mode)
 
static void af_xdp_set_interface_next_node (vnet_main_t *vnm, u32 hw_if_index, u32 node_index)
 
static void af_xdp_clear (u32 dev_instance)
 
 VNET_DEVICE_CLASS (af_xdp_device_class)
 
clib_error_taf_xdp_init (vlib_main_t *vm)
 

Variables

af_xdp_main_t af_xdp_main
 
static char * af_xdp_tx_func_error_strings []
 

Macro Definition Documentation

◆ XDP_FLAGS_REPLACE

#define XDP_FLAGS_REPLACE   0

Function Documentation

◆ af_xdp_clear()

static void af_xdp_clear ( u32  dev_instance)
static

Definition at line 643 of file device.c.

◆ af_xdp_create_if()

void af_xdp_create_if ( vlib_main_t vm,
af_xdp_create_if_args_t args 
)

Definition at line 386 of file device.c.

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

◆ af_xdp_create_queue()

static int af_xdp_create_queue ( vlib_main_t vm,
af_xdp_create_if_args_t args,
af_xdp_device_t ad,
int  qid 
)
static

Definition at line 180 of file device.c.

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

◆ af_xdp_delete_if()

void af_xdp_delete_if ( vlib_main_t vm,
af_xdp_device_t ad 
)

Definition at line 93 of file device.c.

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

◆ af_xdp_device_rxq_read_ready()

static clib_error_t* af_xdp_device_rxq_read_ready ( clib_file_t f)
static

Definition at line 346 of file device.c.

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

◆ af_xdp_device_set_rxq_mode()

static clib_error_t* af_xdp_device_set_rxq_mode ( const af_xdp_device_t ad,
af_xdp_rxq_t rxq,
const af_xdp_rxq_mode_t  mode 
)
static

Definition at line 353 of file device.c.

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

◆ af_xdp_flag_change()

static u32 af_xdp_flag_change ( vnet_main_t vnm,
vnet_hw_interface_t hw,
u32  flags 
)
static

Definition at line 69 of file device.c.

+ Here is the caller graph for this function:

◆ af_xdp_get_numa()

static int af_xdp_get_numa ( const char *  ifname)
static

Definition at line 303 of file device.c.

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

◆ af_xdp_get_q_count()

static void af_xdp_get_q_count ( const char *  ifname,
int *  rxq_num,
int *  txq_num 
)
static

Definition at line 321 of file device.c.

+ Here is the caller graph for this function:

◆ af_xdp_init()

clib_error_t* af_xdp_init ( vlib_main_t vm)

Definition at line 666 of file device.c.

+ Here is the call graph for this function:

◆ af_xdp_interface_admin_up_down()

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

Definition at line 564 of file device.c.

+ Here is the call graph for this function:

◆ af_xdp_interface_rx_mode_change()

static clib_error_t* af_xdp_interface_rx_mode_change ( vnet_main_t vnm,
u32  hw_if_index,
u32  qid,
vnet_hw_if_rx_mode  mode 
)
static

Definition at line 590 of file device.c.

+ Here is the call graph for this function:

◆ af_xdp_load_program()

static int af_xdp_load_program ( af_xdp_create_if_args_t args,
af_xdp_device_t ad 
)
static

Definition at line 135 of file device.c.

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

◆ af_xdp_mac_change()

static clib_error_t* af_xdp_mac_change ( vnet_hw_interface_t hw,
const u8 old,
const u8 new 
)
static

Definition at line 57 of file device.c.

+ Here is the call graph for this function:

◆ af_xdp_set_interface_next_node()

static void af_xdp_set_interface_next_node ( vnet_main_t vnm,
u32  hw_if_index,
u32  node_index 
)
static

Definition at line 617 of file device.c.

+ Here is the call graph for this function:

◆ gdb_af_xdp_get_cons()

gdb_af_xdp_pair_t gdb_af_xdp_get_cons ( const struct xsk_ring_cons *  cons)

Definition at line 50 of file device.c.

◆ gdb_af_xdp_get_prod()

gdb_af_xdp_pair_t gdb_af_xdp_get_prod ( const struct xsk_ring_prod *  prod)

Definition at line 43 of file device.c.

◆ VNET_DEVICE_CLASS()

VNET_DEVICE_CLASS ( af_xdp_device_class  )

Variable Documentation

◆ af_xdp_main

af_xdp_main_t af_xdp_main

Definition at line 34 of file device.c.

◆ af_xdp_tx_func_error_strings

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

Definition at line 636 of file device.c.

foreach_af_xdp_tx_func_error
#define foreach_af_xdp_tx_func_error
Definition: af_xdp.h:186