FD.io VPP  v19.01.3-6-g70449b9b9
Vector Packet Processing
vmxnet3.c File Reference
+ Include dependency graph for vmxnet3.c:

Go to the source code of this file.

Macros

#define PCI_VENDOR_ID_VMWARE   0x15ad
 
#define PCI_DEVICE_ID_VMWARE_VMXNET3   0x07b0
 

Functions

static clib_error_tvmxnet3_interface_admin_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags)
 
static clib_error_tvmxnet3_interface_rx_mode_change (vnet_main_t *vnm, u32 hw_if_index, u32 qid, vnet_hw_interface_rx_mode mode)
 
static void vmxnet3_set_interface_next_node (vnet_main_t *vnm, u32 hw_if_index, u32 node_index)
 
static void vmxnet3_clear_hw_interface_counters (u32 instance)
 
 VNET_DEVICE_CLASS (vmxnet3_device_class,)
 
static u32 vmxnet3_flag_change (vnet_main_t *vnm, vnet_hw_interface_t *hw, u32 flags)
 
static void vmxnet3_write_mac (vmxnet3_device_t *vd)
 
static clib_error_tvmxnet3_provision_driver_shared (vlib_main_t *vm, vmxnet3_device_t *vd)
 
static void vmxnet3_enable_interrupt (vmxnet3_device_t *vd)
 
static void vmxnet3_disable_interrupt (vmxnet3_device_t *vd)
 
static clib_error_tvmxnet3_rxq_init (vlib_main_t *vm, vmxnet3_device_t *vd, u16 qid, u16 qsz)
 
static clib_error_tvmxnet3_txq_init (vlib_main_t *vm, vmxnet3_device_t *vd, u16 qid, u16 qsz)
 
static clib_error_tvmxnet3_device_init (vlib_main_t *vm, vmxnet3_device_t *vd, vmxnet3_create_if_args_t *args)
 
static void vmxnet3_irq_0_handler (vlib_main_t *vm, vlib_pci_dev_handle_t h, u16 line)
 
static void vmxnet3_irq_1_handler (vlib_main_t *vm, vlib_pci_dev_handle_t h, u16 line)
 
static u8 vmxnet3_queue_size_valid (u16 qsz)
 
void vmxnet3_create_if (vlib_main_t *vm, vmxnet3_create_if_args_t *args)
 
void vmxnet3_delete_if (vlib_main_t *vm, vmxnet3_device_t *vd)
 

Variables

vmxnet3_main_t vmxnet3_main
 
static pci_device_id_t vmxnet3_pci_device_ids []
 
static char * vmxnet3_tx_func_error_strings []
 

Macro Definition Documentation

◆ PCI_DEVICE_ID_VMWARE_VMXNET3

#define PCI_DEVICE_ID_VMWARE_VMXNET3   0x07b0

Definition at line 26 of file vmxnet3.c.

◆ PCI_VENDOR_ID_VMWARE

#define PCI_VENDOR_ID_VMWARE   0x15ad

Definition at line 25 of file vmxnet3.c.

Function Documentation

◆ vmxnet3_clear_hw_interface_counters()

static void vmxnet3_clear_hw_interface_counters ( u32  instance)
static

Definition at line 101 of file vmxnet3.c.

+ Here is the call graph for this function:

◆ vmxnet3_create_if()

void vmxnet3_create_if ( vlib_main_t vm,
vmxnet3_create_if_args_t args 
)

Definition at line 486 of file vmxnet3.c.

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

◆ vmxnet3_delete_if()

void vmxnet3_delete_if ( vlib_main_t vm,
vmxnet3_device_t vd 
)

Definition at line 646 of file vmxnet3.c.

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

◆ vmxnet3_device_init()

static clib_error_t* vmxnet3_device_init ( vlib_main_t vm,
vmxnet3_device_t vd,
vmxnet3_create_if_args_t args 
)
static

Definition at line 320 of file vmxnet3.c.

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

◆ vmxnet3_disable_interrupt()

static void vmxnet3_disable_interrupt ( vmxnet3_device_t vd)
inlinestatic

Definition at line 228 of file vmxnet3.c.

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

◆ vmxnet3_enable_interrupt()

static void vmxnet3_enable_interrupt ( vmxnet3_device_t vd)
inlinestatic

Definition at line 217 of file vmxnet3.c.

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

◆ vmxnet3_flag_change()

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

Definition at line 139 of file vmxnet3.c.

+ Here is the caller graph for this function:

◆ vmxnet3_interface_admin_up_down()

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

Definition at line 38 of file vmxnet3.c.

+ Here is the call graph for this function:

◆ vmxnet3_interface_rx_mode_change()

static clib_error_t* vmxnet3_interface_rx_mode_change ( vnet_main_t vnm,
u32  hw_if_index,
u32  qid,
vnet_hw_interface_rx_mode  mode 
)
static

Definition at line 64 of file vmxnet3.c.

+ Here is the call graph for this function:

◆ vmxnet3_irq_0_handler()

static void vmxnet3_irq_0_handler ( vlib_main_t vm,
vlib_pci_dev_handle_t  h,
u16  line 
)
static

Definition at line 436 of file vmxnet3.c.

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

◆ vmxnet3_irq_1_handler()

static void vmxnet3_irq_1_handler ( vlib_main_t vm,
vlib_pci_dev_handle_t  h,
u16  line 
)
static

Definition at line 449 of file vmxnet3.c.

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

◆ vmxnet3_provision_driver_shared()

static clib_error_t* vmxnet3_provision_driver_shared ( vlib_main_t vm,
vmxnet3_device_t vd 
)
static

Definition at line 158 of file vmxnet3.c.

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

◆ vmxnet3_queue_size_valid()

static u8 vmxnet3_queue_size_valid ( u16  qsz)
static

Definition at line 476 of file vmxnet3.c.

+ Here is the caller graph for this function:

◆ vmxnet3_rxq_init()

static clib_error_t* vmxnet3_rxq_init ( vlib_main_t vm,
vmxnet3_device_t vd,
u16  qid,
u16  qsz 
)
static

Definition at line 239 of file vmxnet3.c.

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

◆ vmxnet3_set_interface_next_node()

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

Definition at line 81 of file vmxnet3.c.

+ Here is the call graph for this function:

◆ vmxnet3_txq_init()

static clib_error_t* vmxnet3_txq_init ( vlib_main_t vm,
vmxnet3_device_t vd,
u16  qid,
u16  qsz 
)
static

Definition at line 280 of file vmxnet3.c.

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

◆ vmxnet3_write_mac()

static void vmxnet3_write_mac ( vmxnet3_device_t vd)
static

Definition at line 145 of file vmxnet3.c.

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

◆ VNET_DEVICE_CLASS()

VNET_DEVICE_CLASS ( vmxnet3_device_class  )

Variable Documentation

◆ vmxnet3_main

vmxnet3_main_t vmxnet3_main

Definition at line 28 of file vmxnet3.c.

◆ vmxnet3_pci_device_ids

pci_device_id_t vmxnet3_pci_device_ids[]
static
Initial value:
= {
{
.vendor_id = PCI_VENDOR_ID_VMWARE,
{0},
}
#define PCI_VENDOR_ID_VMWARE
Definition: vmxnet3.c:25
#define PCI_DEVICE_ID_VMWARE_VMXNET3
Definition: vmxnet3.c:26

Definition at line 30 of file vmxnet3.c.

◆ vmxnet3_tx_func_error_strings

char* vmxnet3_tx_func_error_strings[]
static
Initial value:
= {
#define _(n,s)
}
#define foreach_vmxnet3_tx_func_error
Definition: vmxnet3.h:19

Definition at line 117 of file vmxnet3.c.