DPDK patches and discussions
 help / color / mirror / Atom feed
* [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).