| VMWARE vmxnet3 device driver |
| ============================ |
| |
| ##Overview This plugin provides native PCI driver support for VMWare |
| vmxnet3. |
| |
| ##Prerequisites \* This code is tested with vfio-pci driver installed |
| with Ubuntu 18.04 which has kernel version 4.15.0-33-generic. |
| |
| - This driver is tested with ESXi vSwitch version 6.5/6.7 for LRO/TSO |
| support, VMware Workstation 15 Pro (no LRO/TSO), and VMware Fusion 11 |
| Pro (no LRO/TSO) |
| |
| - Driver requires MSI-X interrupt support, which is not supported by |
| uio_pci_generic driver. So vfio-pci must be used. On systems without |
| IOMMU, vfio driver can still be used with 4.15.0-33-generic kernel |
| (Ubuntu 18.04) which supports no-iommu mode. |
| |
| ##Known issues |
| |
| - VLAN filter |
| |
| Usage |
| ----- |
| |
| System setup |
| ~~~~~~~~~~~~ |
| |
| 1. load VFIO driver |
| |
| :: |
| |
| sudo modprobe vfio-pci |
| |
| 2. Make sure the interface is down |
| |
| :: |
| |
| sudo ifconfig <if-name> down |
| |
| Steps 3 and 4 are optional. They can be accomplished by specifying the |
| optional keyword “bind” when creating the vmxnet3 interface. |
| |
| 3. (systems without IOMMU only) enable unsafe NOIOMMU mode |
| |
| :: |
| |
| echo Y | sudo tee /sys/module/vfio/parameters/enable_unsafe_noiommu_mode |
| |
| 4. Bind interface to vfio-pci |
| |
| :: |
| |
| sudo dpdk-devbind.py --bind vfio-pci 0b:00.0 |
| |
| Interface Creation |
| ~~~~~~~~~~~~~~~~~~ |
| |
| Interface can be dynamically created with following CLI, with or without |
| the bind option. If step 3 and 4 were executed, bind can be omitted. |
| |
| :: |
| |
| create interface vmxnet3 0000:0b:00.0 bind |
| set int state vmxnet3-0/b/0/0 up |
| |
| Interface Deletion |
| ~~~~~~~~~~~~~~~~~~ |
| |
| Interface can be deleted with following CLI: |
| |
| :: |
| |
| delete interface vmxnet3 <if-name> |
| |
| Interface Statistics |
| ~~~~~~~~~~~~~~~~~~~~ |
| |
| Interface statistics can be displayed with |
| ``show hardware-interface <if-name>`` command. |
| |
| Show Interface CLI |
| ~~~~~~~~~~~~~~~~~~ |
| |
| Interface and ring information can be obtained with |
| ``show vmxnet3 [if-name] [desc]`` |