-
Notifications
You must be signed in to change notification settings - Fork 81
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(Re)Merge branch 'dev/common' for v1.3
- Loading branch information
Showing
1 changed file
with
61 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,7 +27,7 @@ change the “if (true)” to “if (false)”. | |
|
||
**NOTE:** The following patch was applied to get DPDK working in combination | ||
with the VMware virtual e1000 driver, | ||
“http://dpdk.org/dev/patchwork/patch/945/“. | ||
[http://dpdk.org/dev/patchwork/patch/945/](http://dpdk.org/dev/patchwork/patch/945/). | ||
|
||
The examples below assume interface eth0 is used for management, and eth1 | ||
and eth2 need to be connected back to back in your hypervisor. | ||
|
@@ -49,7 +49,7 @@ warp17@warp17:~$ | |
Now we need to setup the two interfaces eth1 and eth2 to be used by DPDK: | ||
|
||
``` | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk_nic_bind.py --status | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk-devbind.py --status | ||
Network devices using DPDK-compatible driver | ||
============================================ | ||
|
@@ -67,12 +67,12 @@ Other network devices | |
``` | ||
|
||
``` | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk_nic_bind.py -b igb_uio 02:02.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk_nic_bind.py -b igb_uio 02:03.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk-devbind.py -b igb_uio 02:02.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk-devbind.py -b igb_uio 02:03.0 | ||
``` | ||
|
||
``` | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk_nic_bind.py --status | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk-devbind.py --status | ||
Network devices using DPDK-compatible driver | ||
============================================ | ||
|
@@ -141,26 +141,67 @@ sudo ip link set tap01 master warp_bridge | |
sudo ip link set tap02 master warp_bridge | ||
``` | ||
|
||
The user mode stack used by qemu forcefully replies with a `TCP RST` to all | ||
`TCP SYN` traffic including the traffic generated by WARP17 on the tap | ||
interfaces. The easiest way to avoid that is to configure a static IP for | ||
management of the VM (or to always use the VNC session provided by qemu). | ||
|
||
Setup a management bridge for connecting to the VM: | ||
|
||
``` | ||
sudo ip link add warp_mgmt type bridge | ||
sudo ip tuntap add tapm mode tap user root | ||
sudo ip link set tapm up | ||
sudo ip link set tapm master warp_mgmt | ||
sudo ip link set warp_mgmt up | ||
sudo ip addr add 42.42.42.1/24 dev warp_mgmt | ||
``` | ||
|
||
Start the VM: | ||
|
||
``` | ||
sudo qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -hda WARP17-disk1.qcow2 \ | ||
-m 16384 -display vnc=:0 -redir tcp:2222::22 \ | ||
-net nic,model=e1000 -net user,name=mynet0 \ | ||
-m 16384 -display vnc=:0 \ | ||
-net nic,model=e1000,macaddr=DE:AD:1E:00:01:01 \ | ||
-net tap,ifname=tapm,script=no,downscript=no \ | ||
-net nic,model=e1000,macaddr=DE:AD:1E:00:00:01 \ | ||
-net tap,ifname=tap01,script=no,downscript=no \ | ||
-net nic,model=e1000,macaddr=DE:AD:1E:00:00:02 \ | ||
-net tap,ifname=tap02,script=no,downscript=no | ||
``` | ||
|
||
**NOTE:** you can either start a VNC session to your local host, or do | ||
<code>ssh -p 2222 warp17@localhost</code> to connect to the VM. | ||
Connect through VNC to the VM in order to configure a static management IP: | ||
|
||
``` | ||
vncviewer :0 | ||
``` | ||
|
||
In the VM change the configuration for interface `eth0` in | ||
`/etc/network/interfaces` to: | ||
|
||
``` | ||
auto eth0 | ||
iface eth0 inet static | ||
address 42.42.42.2 | ||
netmask 255.255.255.0 | ||
gateway 42.42.42.1 | ||
``` | ||
|
||
Restart the networking service in the VM: | ||
|
||
``` | ||
warp17@warp17:~$ sudo service networking restart | ||
``` | ||
|
||
**NOTE:** From now on you can either start a VNC session to your local host, or | ||
do <code>ssh [email protected]</code> to connect to the VM. | ||
|
||
|
||
Now we need to setup the two interfaces eth1 and eth2 to be used by DPDK: | ||
|
||
``` | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk_nic_bind.py --status | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk-devbind.py --status | ||
Network devices using DPDK-compatible driver | ||
============================================ | ||
|
@@ -178,12 +219,12 @@ Other network devices | |
``` | ||
|
||
``` | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk_nic_bind.py -b igb_uio 00:04.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk_nic_bind.py -b igb_uio 00:05.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk-devbind.py -b igb_uio 00:04.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk-devbind.py -b igb_uio 00:05.0 | ||
``` | ||
|
||
``` | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk_nic_bind.py --status | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk-devbind.py --status | ||
Network devices using DPDK-compatible driver | ||
|
@@ -242,10 +283,13 @@ qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -hda WARP17-disk1.qcow2 -m 16384 | |
-device pci-assign,romfile=,host=82:00.0 | ||
``` | ||
|
||
**NOTE:** From now on you can either start a VNC session to your local host, or | ||
do <code>ssh -p 2222 warp17@localhost</code> to connect to the VM. | ||
|
||
Now we need to setup the two PCI interfaces to be used by DPDK: | ||
|
||
``` | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk_nic_bind.py --status | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk-devbind.py --status | ||
Network devices using DPDK-compatible driver | ||
============================================ | ||
|
@@ -263,12 +307,12 @@ Other network devices | |
``` | ||
|
||
``` | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk_nic_bind.py -b igb_uio 00:04.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk_nic_bind.py -b igb_uio 00:05.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk-devbind.py -b igb_uio 00:04.0 | ||
warp17@warp17:~$ sudo $RTE_SDK/tools/dpdk-devbind.py -b igb_uio 00:05.0 | ||
``` | ||
|
||
``` | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk_nic_bind.py --status | ||
warp17@warp17:~$ $RTE_SDK/tools/dpdk-devbind.py --status | ||
Network devices using DPDK-compatible driver | ||
============================================ | ||
|