* [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue
@ 2014-12-12 4:15 Ouyang Changchun
2014-12-12 6:00 ` Fu, JingguoX
2014-12-16 16:36 ` Thomas Monjalon
0 siblings, 2 replies; 6+ messages in thread
From: Ouyang Changchun @ 2014-12-12 4:15 UTC (permalink / raw)
To: dev
The following commit break vm2vm hard mode test cases:
commit db4014f2b65cb31bf209cadd5bcec778ca137fe2
Author: Huawei Xie <huawei.xie@intel.com>
Date: Thu Nov 13 06:34:07 2014 +0800
examples/vhost: use factorized default Rx/Tx configuration
Investigation show that it needs enabling vlan offload since it is turn off by default,
and Tx need it, especially when vm2vm is in hard mode.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
---
examples/vhost/main.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index 9331910..04f0118 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -390,6 +390,9 @@ port_init(uint8_t port)
txconf = &dev_info.default_txconf;
rxconf->rx_drop_en = 1;
+ /* Enable vlan offload */
+ txconf->txq_flags &= ~ETH_TXQ_FLAGS_NOVLANOFFL;
+
/*
* Zero copy defers queue RX/TX start to the time when guest
* finishes its startup and packet buffers from that guest are
--
1.8.4.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue
2014-12-12 4:15 [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue Ouyang Changchun
@ 2014-12-12 6:00 ` Fu, JingguoX
2014-12-16 16:36 ` Thomas Monjalon
1 sibling, 0 replies; 6+ messages in thread
From: Fu, JingguoX @ 2014-12-12 6:00 UTC (permalink / raw)
To: Ouyang, Changchun, dev
Comments:
This patch fixed all cases related to VM to VM scenario hard switch for virtio.
Basic Information
Patch name: examples/vhost: Fix vlan offload issue
Brief description: Verify all VM to VM scenario cases based hard switch
Test Flag: Tested-by
Tester name: jingguox.fu@intel.com
Test environment:
OS: Fedora20 3.11.10-301.fc20.x86_64
GCC: gcc version 4.8.3 20140911
CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
NIC: 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb]
Commit ID: 4c8b41715168101dc76fd9b264658837ff54ab76
Detailed Testing Information:
DPDK SW Configuration:
open CONFIG_RTE_LIBRTE_VHOST
x86_64-native-linuxapp-gcc configuration
Test Result Summary: Total 6 cases, 6 passed, 0 failed
Test Case - name:
vm to vm by dpdk forward hard switch (virtio one copy suite)
Test Case - Description:
Check vhost switch can forward packets received from the first virtio on VM1 to the second virtio on VM2
Test Case - command / instruction:
Start vhost-switch on host and start testpmd on guests
On host:
taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 0 --zero-copy 0 --vm2vm 2
On guests:
VM1:
./testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00 --eth-peer=0,00:00:00:00:00:0A
Set fwd type tx_first
testpmd>set fwd mac
testpmd>start tx_first
VM2:
testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00
testpmd>set fwd mac
testpmd>start tx_first
Send packets without vlan id: ether|ip|udp packets
Test Case - expected test result:
packet generator can get the packets from the vf on VM2
Test Case - name:
vm to vm by linux forward hard switch (virtio one copy suite)
Test Case - Description:
Check vhost switch can forward packets received from the first virtio on VM1 to the second virtio on VM2
Test Case -test command / instruction:
Start vhost-switch on host, use virtios as Ethernet devices
On host:
taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 0 --zero-copy 0 --vm2vm 2
On guests:
VM1:
ip addr add 192.168.2.2/24 dev eth1
ip neigh add 192.168.2.1 lladdr 00:00:02:00:00:a1 dev eth1
ip link set dev eth1 up
ip addr add 192.168.3.2/24 dev eth0
ip neigh add 192.168.3.1 lladdr 52:00:00:54:00:02 dev eth0
ip link set dev eth0 up
VM2:
ip addr add 192.168.3.2/24 dev eth1
ip neigh add 192.168.3.1 lladdr 00:00:02:00:00:a1 dev eth1
ip link set dev eth1 up
ip addr add 192.168.2.2/24 dev eth0
ip neigh add 192.168.2.1 lladdr 00:00:02:00:00:a1 dev eth0
ip link set dev eth0 up
arp -s 192.168.3.1 00:00:02:0a:0a
Send packets without vlan id: ether|ip|udp packets
Test Case - expected test result:
packet generator can get the packets from the vf on VM2
Test Case - name:
vm to vm by dpdk forward hard switch (virtio one copy jumbo frame suite)
Test Case - Description:
Check vhost switch can forward packets received from the first virtio on VM1 to the second virtio on VM2
Test Case - command / instruction:
Start vhost-switch on host and start testpmd on guests
On host:
taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 1 --zero-copy 0 --vm2vm 2
On guests:
VM1:
./testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00 --max-pkt-len 9000 --eth-peer=0,00:00:00:00:00:0A
Set fwd type tx_first
testpmd>set fwd mac
testpmd>start tx_first
VM2:
testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00 --max-pkt-len 9000
testpmd>set fwd mac
testpmd>start tx_first
Send packets without vlan id: ether|ip|udp packets
Test Case - expected test result:
packet generator can get the packets from the vf on VM2
Test Case - name:
vm to vm by linux forward hard switch (virtio one copy jumbo frame suite)
Test Case - Description:
Check vhost switch can forward packets received from the first virtio on VM1 to the second virtio on VM2
Test Case -test command / instruction:
Start vhost-switch on host, use virtios as Ethernet devices
On host:
taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 1 --zero-copy 0 --vm2vm 2
On guests:
VM1:
ip addr add 192.168.2.2/24 dev eth1
ip neigh add 192.168.2.1 lladdr 00:00:02:00:00:a1 dev eth1
ip link set dev eth1 up
ip link set dev eth1 mtu 9000
ip addr add 192.168.3.2/24 dev eth0
ip neigh add 192.168.3.1 lladdr 52:00:00:54:00:02 dev eth0
ip link set dev eth0 up
ip link set dev eth0 mtu 9000
VM2:
ip addr add 192.168.3.2/24 dev eth1
ip neigh add 192.168.3.1 lladdr 00:00:02:00:00:a1 dev eth1
ip link set dev eth1 up
ip link set dev eth1 mtu 9000
ip addr add 192.168.2.2/24 dev eth0
ip neigh add 192.168.2.1 lladdr 00:00:02:00:00:a1 dev eth0
ip link set dev eth0 up
ip link set dev eth0 mtu 9000
arp -s 192.168.3.1 00:00:02:0a:0a
Send packets without vlan id: ether|ip|udp packets
Test Case - expected test result:
packet generator can get the packets from the vf on VM2
Test Case - name:
vm to vm by dpdk forward hard switch (virtio zero suite)
Test Case - Description:
Check vhost switch can forward packets received from the first virtio on VM1 to the second virtio on VM2
Test Case - command / instruction:
Start vhost-switch on host and start testpmd on guests
On host:
taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 0 --zero-copy 1 --vm2vm 2
On guests:
VM1:
./testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00 --eth-peer=0,00:00:00:00:00:0A
Set fwd type tx_first
testpmd>set fwd mac
testpmd>start tx_first
VM2:
testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00
testpmd>set fwd mac
testpmd>start tx_first
Send packets without vlan id: ether|ip|udp packets
Test Case - expected test result:
packet generator can get the packets from the vf on VM2
Test Case - name:
vm to vm by linux forward hard switch (virtio zero suite)
Test Case - Description:
Check vhost switch can forward packets received from the first virtio on VM1 to the second virtio on VM2
Test Case -test command / instruction:
Start vhost-switch on host, use virtios as Ethernet devices
On host:
taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 0 --zero-copy 1 --vm2vm 2
On guests:
VM1:
ip addr add 192.168.2.2/24 dev eth1
ip neigh add 192.168.2.1 lladdr 00:00:02:00:00:a1 dev eth1
ip link set dev eth1 up
ip addr add 192.168.3.2/24 dev eth0
ip neigh add 192.168.3.1 lladdr 52:00:00:54:00:02 dev eth0
ip link set dev eth0 up
VM2:
ip addr add 192.168.3.2/24 dev eth1
ip neigh add 192.168.3.1 lladdr 00:00:02:00:00:a1 dev eth1
ip link set dev eth1 up
ip addr add 192.168.2.2/24 dev eth0
ip neigh add 192.168.2.1 lladdr 00:00:02:00:00:a1 dev eth0
ip link set dev eth0 up
arp -s 192.168.3.1 00:00:02:0a:0a
Send packets without vlan id: ether|ip|udp packets
Test Case - expected test result:
packet generator can get the packets from the vf on VM2
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ouyang Changchun
Sent: Friday, December 12, 2014 12:15
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue
The following commit break vm2vm hard mode test cases:
commit db4014f2b65cb31bf209cadd5bcec778ca137fe2
Author: Huawei Xie <huawei.xie@intel.com>
Date: Thu Nov 13 06:34:07 2014 +0800
examples/vhost: use factorized default Rx/Tx configuration
Investigation show that it needs enabling vlan offload since it is turn off by default,
and Tx need it, especially when vm2vm is in hard mode.
Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
---
examples/vhost/main.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index 9331910..04f0118 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -390,6 +390,9 @@ port_init(uint8_t port)
txconf = &dev_info.default_txconf;
rxconf->rx_drop_en = 1;
+ /* Enable vlan offload */
+ txconf->txq_flags &= ~ETH_TXQ_FLAGS_NOVLANOFFL;
+
/*
* Zero copy defers queue RX/TX start to the time when guest
* finishes its startup and packet buffers from that guest are
--
1.8.4.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue
2014-12-12 4:15 [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue Ouyang Changchun
2014-12-12 6:00 ` Fu, JingguoX
@ 2014-12-16 16:36 ` Thomas Monjalon
2014-12-17 0:51 ` Ouyang, Changchun
1 sibling, 1 reply; 6+ messages in thread
From: Thomas Monjalon @ 2014-12-16 16:36 UTC (permalink / raw)
To: Ouyang Changchun; +Cc: dev
2014-12-12 12:15, Ouyang Changchun:
> The following commit break vm2vm hard mode test cases:
> commit db4014f2b65cb31bf209cadd5bcec778ca137fe2
> Author: Huawei Xie <huawei.xie@intel.com>
> Date: Thu Nov 13 06:34:07 2014 +0800
> examples/vhost: use factorized default Rx/Tx configuration
>
> Investigation show that it needs enabling vlan offload since it is turn off by default,
> and Tx need it, especially when vm2vm is in hard mode.
I missed something here. Where VLAN offload is disabled by default?
Could you point the code, please?
> --- a/examples/vhost/main.c
> +++ b/examples/vhost/main.c
> @@ -390,6 +390,9 @@ port_init(uint8_t port)
> txconf = &dev_info.default_txconf;
> rxconf->rx_drop_en = 1;
>
> + /* Enable vlan offload */
> + txconf->txq_flags &= ~ETH_TXQ_FLAGS_NOVLANOFFL;
> +
> /*
> * Zero copy defers queue RX/TX start to the time when guest
> * finishes its startup and packet buffers from that guest are
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue
2014-12-16 16:36 ` Thomas Monjalon
@ 2014-12-17 0:51 ` Ouyang, Changchun
2014-12-17 10:04 ` Thomas Monjalon
0 siblings, 1 reply; 6+ messages in thread
From: Ouyang, Changchun @ 2014-12-17 0:51 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev
Hi Thomas,
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> Sent: Wednesday, December 17, 2014 12:37 AM
> To: Ouyang, Changchun
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue
>
> 2014-12-12 12:15, Ouyang Changchun:
> > The following commit break vm2vm hard mode test cases:
> > commit db4014f2b65cb31bf209cadd5bcec778ca137fe2
> > Author: Huawei Xie <huawei.xie@intel.com>
> > Date: Thu Nov 13 06:34:07 2014 +0800
> > examples/vhost: use factorized default Rx/Tx configuration
> >
> > Investigation show that it needs enabling vlan offload since it is
> > turn off by default, and Tx need it, especially when vm2vm is in hard mode.
>
> I missed something here. Where VLAN offload is disabled by default?
> Could you point the code, please?
Inside the function ixgbe_dev_info_get()
The txq_flags is assigned value of "ETH_TXQ_FLAGS_MULTISEGS|ETH_TXQ_FLAGS_NOOFFLOADS",
The ETH_TXQ_FLAGS_NOOFFLOADS contain ETH_TXQ_FLAGS_NOVLANOFFL.
so VLAN offload is disabled.
Do you think any incorrect in my original description?
Thanks and regards,
Changchun
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue
2014-12-17 0:51 ` Ouyang, Changchun
@ 2014-12-17 10:04 ` Thomas Monjalon
2014-12-17 23:47 ` Thomas Monjalon
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Monjalon @ 2014-12-17 10:04 UTC (permalink / raw)
To: Ouyang, Changchun; +Cc: dev
2014-12-17 00:51, Ouyang, Changchun:
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > 2014-12-12 12:15, Ouyang Changchun:
> > > The following commit break vm2vm hard mode test cases:
> > > commit db4014f2b65cb31bf209cadd5bcec778ca137fe2
> > > Author: Huawei Xie <huawei.xie@intel.com>
> > > Date: Thu Nov 13 06:34:07 2014 +0800
> > > examples/vhost: use factorized default Rx/Tx configuration
> > >
> > > Investigation show that it needs enabling vlan offload since it is
> > > turn off by default, and Tx need it, especially when vm2vm is in hard mode.
> >
> > I missed something here. Where VLAN offload is disabled by default?
> > Could you point the code, please?
>
> Inside the function ixgbe_dev_info_get()
> The txq_flags is assigned value of "ETH_TXQ_FLAGS_MULTISEGS|ETH_TXQ_FLAGS_NOOFFLOADS",
> The ETH_TXQ_FLAGS_NOOFFLOADS contain ETH_TXQ_FLAGS_NOVLANOFFL.
> so VLAN offload is disabled.
>
> Do you think any incorrect in my original description?
Yes. You say VLAN offload is turned off by default.
But it's the case only for ixgbe, i40e and vmxnet3.
--
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue
2014-12-17 10:04 ` Thomas Monjalon
@ 2014-12-17 23:47 ` Thomas Monjalon
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2014-12-17 23:47 UTC (permalink / raw)
To: Ouyang, Changchun; +Cc: dev
2014-12-17 11:04, Thomas Monjalon:
> 2014-12-17 00:51, Ouyang, Changchun:
> > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> > > 2014-12-12 12:15, Ouyang Changchun:
> > > > The following commit break vm2vm hard mode test cases:
> > > > commit db4014f2b65cb31bf209cadd5bcec778ca137fe2
> > > > Author: Huawei Xie <huawei.xie@intel.com>
> > > > Date: Thu Nov 13 06:34:07 2014 +0800
> > > > examples/vhost: use factorized default Rx/Tx configuration
> > > >
> > > > Investigation show that it needs enabling vlan offload since it is
> > > > turn off by default, and Tx need it, especially when vm2vm is in hard mode.
> > >
> > > I missed something here. Where VLAN offload is disabled by default?
> > > Could you point the code, please?
> >
> > Inside the function ixgbe_dev_info_get()
> > The txq_flags is assigned value of "ETH_TXQ_FLAGS_MULTISEGS|ETH_TXQ_FLAGS_NOOFFLOADS",
> > The ETH_TXQ_FLAGS_NOOFFLOADS contain ETH_TXQ_FLAGS_NOVLANOFFL.
> > so VLAN offload is disabled.
> >
> > Do you think any incorrect in my original description?
>
> Yes. You say VLAN offload is turned off by default.
> But it's the case only for ixgbe, i40e and vmxnet3.
Applied with this log change "turn off by default in some drivers"
Thanks
--
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-12-17 23:47 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-12 4:15 [dpdk-dev] [PATCH] examples/vhost: Fix vlan offload issue Ouyang Changchun
2014-12-12 6:00 ` Fu, JingguoX
2014-12-16 16:36 ` Thomas Monjalon
2014-12-17 0:51 ` Ouyang, Changchun
2014-12-17 10:04 ` Thomas Monjalon
2014-12-17 23:47 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).