aboutsummaryrefslogtreecommitdiffstats
@media only all and (prefers-color-scheme: dark) { .highlight .hll { background-color: #49483e } .highlight .c { color: #75715e } /* Comment */ .highlight .err { color: #960050; background-color: #1e0010 } /* Error */ .highlight .k { color: #66d9ef } /* Keyword */ .highlight .l { color: #ae81ff } /* Literal */ .highlight .n { color: #f8f8f2 } /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d
All new inbound code contributions to the Project must be made
using the Apache License, Version 2.0
(available here: https://www.apache.org/licenses/LICENSE-2.0)
(the “Project License”).

All new inbound code contributions must also be accompanied
by a Developer Certificate of Origin (http://developercertificate.org)
sign-off in the source code system that is submitted through
a TSC-approved contribution process which will bind the authorized contributor
and, if not self-employed, their employer to the applicable license;

All outbound code will be made available under the Project License.

Documentation will be received and made available by the Project
under the Creative Commons Attribution 4.0 International License
(available at http://creativecommons.org/licenses/by/4.0/).

The Project may seek to integrate and contribute back to other
open source projects (“Upstream Projects”). In such cases,
the Project will conform to all license requirements of the Upstream Projects,
including dependencies, leveraged by the Project. Upstream Project
code contributions not stored within the Project’s main code repository
will comply with the contribution process and license terms
for the applicable Upstream Project.
he corresponding VM's .vmx file. By default, it is $HOME/vmware/<vm-name>/<vm-name>.vmx * Locate the line for the interface which you want to modify. For example, if it is ethernet1, then change the line **ethernet1.virtualDev = "e1000"** to **ethernet1.virtualDev = "vmxnet3"** * Save the file and power on the VM. If you are concerned more with configuration not performance the vmxnet3 driver can be set to **interrupt** mode in VPP. This will save a great deal on battery usage. Do this with the following .. code-block:: console $ sudo vppctl set interface rx-mode <interface> interrupt System setup ~~~~~~~~~~~~ To use the native VPP vmxnet3 driver use the following Steps Load VFIO driver .. code-block:: console $ sudo modprobe vfio-pci Make sure the interface is down .. code-block:: console $ sudo ifconfig <if-name> down The next 2 steps are optional and may be accomplished by specifying the optional "bind" keyword when creating the vmxnet3 interface. For systems without IOMMU only, enable unsafe NOIOMMU mode .. code-block:: console $ echo Y | sudo tee /sys/module/vfio/parameters/enable_unsafe_noiommu_mode To bind interface to vfio-pci first install get the dpdk_devbind.py script. Bind the driver with the following commands: .. code-block:: console $ sudo /usr/local/vpp/vpp-config/scripts/dpdk-devbind.py -s Network devices using DPDK-compatible driver ============================================ <none> Network devices using kernel driver =================================== 0000:03:00.0 'VMXNET3 Ethernet Controller' if=ens160 drv=vmxnet3 unused=vfio-pci,uio_pci_generic 0000:0b:00.0 'VMXNET3 Ethernet Controller' drv=vfio-pci unused=vmxnet3,uio_pci_generic 0000:13:00.0 'VMXNET3 Ethernet Controller' drv=vfio-pci unused=vmxnet3,uio_pci_generic ..... $ sudo /usr/local/vpp/vpp-config/scripts/dpdk-devbind.py --bind vfio-pci 0b:00.0 Interface Creation ~~~~~~~~~~~~~~~~~~ Now create the interface dynamically with following. The bind option must be specified if pci is not already bound manually by above steps. .. code-block:: console $ sudo vppctl create interface vmxnet3 0000:0b:00.0 bind $ sudo vppctl set interface state vmxnet3-0/b/0/0 up Interface Deletion ~~~~~~~~~~~~~~~~~~ If the interface needs to be deleted: .. code-block:: console $ sudo vppctl delete interface vmxnet3 <if-name> Show vmxnet3 ~~~~~~~~~~~~ Interface and ring information can be obtained with the command **show vmxnet3 [if-name] [desc]** For example: .. code-block:: console $ sudo vppctl show vmxnet3 Interface: vmxnet3-0/b/0/0 (ifindex 1) Version: 1 PCI Address: 0000:0b:00.0 Mac Address: 00:50:56:88:63:be hw if index: 1 Device instance: 0 Number of interrupts: 2 Queue 0 (RX) RX completion next index 786 RX completion generation flag 0x80000000 ring 0 size 4096 fill 4094 consume 785 produce 784 ring 1 size 4096 fill 4096 consume 0 produce 0 Queue 0 (TX) TX completion next index 216 TX completion generation flag 0x0 size 4096 consume 216 produce 245