[dpdk-dev] [PATCH] [VIRTIO] Support multiple queues feature in DPDK based virtio-net frontend.

2014-05-16 Thread Ouyang Changchun
queues can serve that; To utilize this featrue, the backend also need support mulitiple queues feature and enable it. Signed-off-by: Ouyang Changchun --- lib/librte_pmd_virtio/virtio_ethdev.c | 326 -- lib/librte_pmd_virtio/virtio_ethdev.h | 10 +- lib

[dpdk-dev] [PATCH 0/3] [PMD] [VHOST] *** Support zero copy RX/TX in user space vhost ***

2014-05-19 Thread Ouyang Changchun
, it removes packets copying between host and guest in RX/TX; Ouyang Changchun (3): 1. It contains the following 2 parts: a) Add API to support queue start and stop functionality for RX/TX, and implement them in IXGBE PMD; b) Enable hardware loopback functionality in VMDQ mode; 2

[dpdk-dev] [PATCH 3/3] [PMD] [VHOST] Support zero copy RX/TX in user space vhost

2014-05-19 Thread Ouyang Changchun
transmitted from guest and translates them to host space addresses, then attaches them to mbufs and puts them to TX queues. After TX finishes, it pulls mbufs out from mempool, detaches them and puts them back into the extra ring. Signed-off-by: Ouyang Changchun --- examples/vhost/main.c

[dpdk-dev] [PATCH 2/3] [PMD] [VHOST] Support zero copy RX/TX in user space vhost

2014-05-19 Thread Ouyang Changchun
Implement mbuf metadata macros to facilitate refering to space in mbuf headroom; Signed-off-by: Ouyang Changchun --- lib/librte_mbuf/rte_mbuf.h | 17 + 1 file changed, 17 insertions(+) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index edffc2c..baf3ca4

[dpdk-dev] [PATCH 1/3] [PMD] [VHOST] Support zero copy RX/TX in user space vhost

2014-05-19 Thread Ouyang Changchun
1. Add API to support queue start and stop functionality for RX/TX, and implement them in IXGBE PMD; 2. Enable hardware loopback functionality in VMDQ mode; Signed-off-by: Ouyang Changchun --- lib/librte_eal/linuxapp/eal/eal_memory.c | 2 +- lib/librte_ether/rte_ethdev.c| 104

[dpdk-dev] [PATCH] [PMD] [VHOST] Revert unnecessary definition and fix wrong referring in user space vhost zero copy patches

2014-05-19 Thread Ouyang Changchun
1. Revert the change of metadata macro definition for referring to headroom space in mbuf; 2. Fix wrongly referring to RX queues number in TX queues start/stop function. Signed-off-by: Ouyang Changchun --- examples/vhost/main.c | 15 +-- lib/librte_ether/rte_ethdev.c | 8

[dpdk-dev] [PATCH] [PMD] [VHOST] Revert unnecessary definition and fix wrong referring in user space vhost zero copy patches

2014-05-20 Thread Ouyang, Changchun
ilto:thomas.monja...@6wind.com] Sent: Tuesday, May 20, 2014 12:00 AM To: Ouyang, Changchun Cc: dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH] [PMD] [VHOST] Revert unnecessary definition and fix wrong referring in user space vhost zero copy patches Hi Changchun, 2014-05-19 23:09, Ouyang Changc

[dpdk-dev] [PATCH v2 0/3] Support zero copy RX/TX in user space vhost

2014-05-20 Thread Ouyang Changchun
functionality in IXGBE PMD; and enable hardware loopback for VMDQ mode in IXGBE PMD. Ouyang Changchun (3): Add API to support queue start and stop functionality for RX/TX. Implement queue start and stop functionality in IXGBE PMD; Enable hardware loopback for VMDQ mode in IXGBE PMD. Support

[dpdk-dev] [PATCH v2 1/3] ethdev: Add API to support queue start and stop functionality for RX/TX.

2014-05-20 Thread Ouyang Changchun
This patch adds API to support queue start and stop functionality for RX/TX. It allows RX and TX queue is started or stopped one by one, instead of starting and stopping all of them at the same time. Signed-off-by: Ouyang Changchun --- lib/librte_eal/linuxapp/eal/eal_memory.c | 2 +- lib

[dpdk-dev] [PATCH v2 3/3] examples/vhost: Support user space vhost zero copy

2014-05-20 Thread Ouyang Changchun
be transmitted from guest and translates them to host space addresses, then attaches them to mbufs and puts them to TX queues. After TX finishes, it pulls mbufs out from mempool, detaches them and puts them back into the extra ring. Signed-off-by: Ouyang Changchun --- examples/vhost/main.c

[dpdk-dev] [PATCH v2 2/3] ixgbe: Implement queue start and stop functionality in IXGBE PMD

2014-05-20 Thread Ouyang Changchun
This patch implements queue start and stop functionality in IXGBE PMD; it also enables hardware loopback for VMDQ mode in IXGBE PMD. Signed-off-by: Ouyang Changchun --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 4 + lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 8 ++ lib/librte_pmd_ixgbe/ixgbe_rxtx.c

[dpdk-dev] [PATCH 2/3] ixgbe: Implement the functionality of administrative link up and down in IXGBE PMD

2014-05-22 Thread Ouyang Changchun
This patch implements the functionality of administrative link up and down in IXGBE PMD. Signed-off-by: Ouyang Changchun --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 58 + 1 file changed, 58 insertions(+) diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c b/lib

[dpdk-dev] [PATCH 0/3] Support administrative link up and link down

2014-05-22 Thread Ouyang Changchun
This patch series contain the following 3 items: 1. Add API to support administrative link up and down. 2. Implement the functionality of administrative link up and down in IXGBE PMD. 3. Add command in testpmd to test the functionality of administrative link up and down of PMD. Ouyang Changchun

[dpdk-dev] [PATCH 1/3] ether: Add API to support administrative link up and down

2014-05-22 Thread Ouyang Changchun
This patch addes API to support administrative link up and down. Signed-off-by: Ouyang Changchun --- lib/librte_ether/rte_ethdev.c | 38 ++ lib/librte_ether/rte_ethdev.h | 34 ++ 2 files changed, 72 insertions(+) diff --git a

[dpdk-dev] [PATCH 3/3] testpmd: Add commands to test administrative link up and down of PMD

2014-05-22 Thread Ouyang Changchun
This patch adds commands to test the functionality of administrative link up and down of PMD in testpmd. Signed-off-by: Ouyang Changchun --- app/test-pmd/cmdline.c | 78 ++ app/test-pmd/testpmd.c | 14 + app/test-pmd/testpmd.h | 2 ++ 3

[dpdk-dev] [PATCH 0/3] Support administrative link up and link down

2014-05-22 Thread Ouyang, Changchun
Original Message- From: Ivan Boule [mailto:ivan.bo...@6wind.com] Sent: Thursday, May 22, 2014 9:17 PM To: Ouyang, Changchun; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH 0/3] Support administrative link up and link down On 05/22/2014 08:11 AM, Ouyang Changchun wrote: > This patch ser

[dpdk-dev] [PATCH] [PMD] [VHOST] Revert unnecessary definition and fix wrong referring in user space vhost zero copy patches

2014-05-22 Thread Ouyang, Changchun
Hi, Thomas Thanks very much for your guiding! Best regards, Changchun -Original Message- From: Thomas Monjalon [mailto:thomas.monja...@6wind.com] Sent: Thursday, May 22, 2014 11:29 PM To: Ouyang, Changchun Cc: dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH] [PMD] [VHOST] Revert

[dpdk-dev] [PATCH 0/3] Support setting TX rate for queue and VF

2014-05-22 Thread Ouyang Changchun
This patch series contains the 3 items: 1. Add API to support setting TX rate for a queue or a VF. 2. Implement the functionality of setting TX rate for queue or VF in IXGBE PMD. 3. Add commands in testpmd to test the functionality of setting TX rate for queue or VF. Ouyang Changchun (3): Add

[dpdk-dev] [PATCH 2/3] ixgbe: Implement the functionality of setting TX rate for queue or VF in IXGBE PMD

2014-05-22 Thread Ouyang Changchun
This patch implements the functionality of setting TX rate for queue or VF in IXGBE PMD. Signed-off-by: Ouyang Changchun --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 110 lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 10 +++- 2 files changed, 119 insertions(+), 1

[dpdk-dev] [PATCH 1/3] ether: Add API to support setting TX rate for queue and VF

2014-05-22 Thread Ouyang Changchun
This patch adds API to support setting TX rate for a queue and a VF. Signed-off-by: Ouyang Changchun --- lib/librte_ether/rte_ethdev.c | 63 +++ lib/librte_ether/rte_ethdev.h | 51 +++ 2 files changed, 114 insertions

[dpdk-dev] [PATCH 3/3] testpmd: Add commands to test the functionality of setting TX rate for queue or VF

2014-05-22 Thread Ouyang Changchun
This patch adds commands in testpmd to test the functionality of setting TX rate for queue or VF. Signed-off-by: Ouyang Changchun --- app/test-pmd/cmdline.c | 153 + app/test-pmd/config.c | 44 ++ app/test-pmd/testpmd.h | 2 + 3

[dpdk-dev] [PATCH 0/3] Support administrative link up and link down

2014-05-23 Thread Ouyang, Changchun
al Message- From: Ivan Boule [mailto:ivan.bo...@6wind.com] Sent: Thursday, May 22, 2014 11:31 PM To: Ouyang, Changchun; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH 0/3] Support administrative link up and link down Hi Changchun, On 05/22/2014 04:44 PM, Ouyang, Changchun wrote: > Hi Ivan &

[dpdk-dev] [PATCH v2] virtio: Support multiple queues feature in DPDK based virtio-net frontend

2014-05-23 Thread Ouyang Changchun
queues which serve RX/TX; To utilize this feature, the backend also need support multiple queues feature and enable it. It also fixes some patch style issues. Signed-off-by: Ouyang Changchun --- lib/librte_pmd_virtio/virtio_ethdev.c | 326 -- lib/librte_pmd_virtio

[dpdk-dev] [PATCH v2 1/3] ether: Add API to support setting TX rate for queue and VF

2014-05-26 Thread Ouyang Changchun
This patch adds API to support setting TX rate for a queue and a VF. Signed-off-by: Ouyang Changchun --- lib/librte_ether/rte_ethdev.c | 71 +++ lib/librte_ether/rte_ethdev.h | 51 +++ 2 files changed, 122 insertions(+) diff

[dpdk-dev] [PATCH v2 2/3] ixgbe: Implement the functionality of setting TX rate for queue or VF in IXGBE PMD

2014-05-26 Thread Ouyang Changchun
This patch implements the functionality of setting TX rate for queue or VF in IXGBE PMD. Signed-off-by: Ouyang Changchun --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 122 lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 13 +++- 2 files changed, 132 insertions(+), 3

[dpdk-dev] [PATCH v2 3/3] testpmd: Add commands to test the functionality of setting TX rate for queue or VF

2014-05-26 Thread Ouyang Changchun
This patch adds commands in testpmd to test the functionality of setting TX rate for queue or VF. Signed-off-by: Ouyang Changchun --- app/test-pmd/cmdline.c | 159 - app/test-pmd/config.c | 47 +++ app/test-pmd/testpmd.h | 3 + 3

[dpdk-dev] [PATCH v2 0/3] Support setting TX rate for queue and VF

2014-05-26 Thread Ouyang Changchun
functionality of setting TX rate for queue or VF. Ouyang Changchun (3): Add API to support set TX rate for a queue and VF. Implement the functionality of setting TX rate for queue or VF in IXGBE PMD. Add commands in testpmd to test the functionality of setting TX rate for queue or VF

[dpdk-dev] [PATCH v3] virtio: Support multiple queues feature in DPDK based virtio-net frontend.

2014-05-26 Thread Ouyang Changchun
backend; When receiving and transmitting packets, it negotiates multiple virtio-net queues which serve RX/TX; To utilize this feature, the backend also need support multiple queues feature and enable it. Signed-off-by: Ouyang Changchun --- lib/librte_pmd_virtio/virtio_ethdev.c | 377

[dpdk-dev] [PATCH v2 0/3] Support zero copy RX/TX in user space vhost

2014-05-28 Thread Ouyang, Changchun
Yes I will send out a patch v3 to replace the patch v2. Thanks Changchun -Original Message- From: Thomas Monjalon [mailto:thomas.monja...@6wind.com] Sent: Wednesday, May 28, 2014 7:02 AM To: Ouyang, Changchun Cc: dev at dpdk.org Subject: Re: [PATCH v2 0/3] Support zero copy RX/TX in user

[dpdk-dev] [PATCH 0/3] Support administrative link up and link down

2014-05-28 Thread Ouyang, Changchun
: Friday, May 23, 2014 5:25 PM To: Ouyang, Changchun; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH 0/3] Support administrative link up and link down On 05/23/2014 04:08 AM, Ouyang, Changchun wrote: > Hi Ivan > > To some extent, I also agree with you. > But customer hope DPDK can provide

[dpdk-dev] [PATCH v2 2/3] ixgbe: Implement the functionality of setting link up and down in IXGBE PMD

2014-05-28 Thread Ouyang Changchun
Please ignore the previous v1 patch, just apply this v2 patch. This patch implements the functionality of setting link up and down in IXGBE PMD. It is implemented by enabling or disabling TX laser. Signed-off-by: Ouyang Changchun --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 63

[dpdk-dev] [PATCH v2 3/3] testpmd: Add commands to test link up and down of PMD

2014-05-28 Thread Ouyang Changchun
Please ignore previous patch v1, and just apply this patch v2. This patch adds commands to test the functionality of setting link up and down of PMD in testpmd. Signed-off-by: Ouyang Changchun --- app/test-pmd/cmdline.c | 81 ++ app/test-pmd

[dpdk-dev] [PATCH v2 0/3] Support setting link up and link down

2014-05-28 Thread Ouyang Changchun
edly stop and restart RX/TX of a port without re-allocating resources for the port and re-configuring the port. 2. Implement the functionality of setting link up and down in IXGBE PMD. 3. Add command in testpmd to test the functionality of setting link up and down of PMD. Ouyang Changchun (3):

[dpdk-dev] [PATCH v2 1/3] ether: Add API to support set link up and link down

2014-05-28 Thread Ouyang Changchun
Please ignore previous v1 patch, just use this v2 patch. This patch adds API to support the functionality of setting link up and down. It can be used to repeatedly stop and restart RX/TX of a port without re-allocating resources for the port and re-configuring the port. Signed-off-by: Ouyang

[dpdk-dev] [PATCH v3 2/3] ixgbe: Implement queue start and stop functionality in IXGBE PMD

2014-05-28 Thread Ouyang Changchun
Please ignore previous patch v1 and v2, only need this patch v3 for the queue start and stop functionality. This patch implements queue start and stop functionality in IXGBE PMD; it also enable hardware loopback for VMDQ mode in IXGBE PMD. Signed-off-by: Ouyang Changchun Tested-by: Waterman

[dpdk-dev] [PATCH v3 3/3] examples/vhost: Support user space vhost zero copy

2014-05-28 Thread Ouyang Changchun
back into the extra ring. Signed-off-by: Ouyang Changchun Tested-by: Waterman Cao This patch passed L2 Forward , L3 Forward testing base on commit: 57f0ba5f8b8588dfa6ffcd001447ef6337afa6cd. See test environment information as the following: Fedora 19 , Linux Kernel 3.9.0, GCC 4.8.2 X68_64

[dpdk-dev] [PATCH v3 1/3] ethdev: Add API to support queue start and stop functionality for RX/TX.

2014-05-28 Thread Ouyang Changchun
. Signed-off-by: Ouyang Changchun Tested-by: Waterman Cao This patch passed L2 Forward , L3 Forward testing base on commit: 57f0ba5f8b8588dfa6ffcd001447ef6337afa6cd. See test environment information as the following: Fedora 19 , Linux Kernel 3.9.0, GCC 4.8.2 X68_64, Intel Xeon processor E5-2600

[dpdk-dev] [PATCH v3 0/3] Support zero copy RX/TX in user space vhost

2014-05-28 Thread Ouyang Changchun
mbufs and puts them to TX queues. After TX finishes, it pulls mbufs out from mempool, detaches them and puts them back into the extra ring. This patch series also implement queue start and stop functionality in IXGBE PMD; and enable hardware loopback for VMDQ mode in IXGBE PMD. Ouyang Changchun (3

[dpdk-dev] [PATCH v4 1/2] virtio: Cleanup the existing codes in virtio-net PMD

2014-05-29 Thread Ouyang Changchun
This patch cleanups some coding style issue, and fixes some errors and warnings reported by checkpatch.pl. Signed-off-by: Ouyang Changchun Tested-by: Waterman Cao This patch passed Testpmd testing base on commit: 57f0ba5f8b8588dfa6ffcd001447ef6337afa6cd. See test environment information as

[dpdk-dev] [PATCH v4 2/2] virtio: Support multiple queues feature in DPDK based virtio-net frontend

2014-05-29 Thread Ouyang Changchun
queues which serve RX/TX; To utilize this feature, the backend also need support multiple queues feature and enable it. Signed-off-by: Ouyang Changchun Tested-by: Waterman Cao This patch passed Testpmd testing base on commit: 57f0ba5f8b8588dfa6ffcd001447ef6337afa6cd. See test environment

[dpdk-dev] [PATCH v4 0/2] Support multiple queues feature in DPDK based virtio-net frontend

2014-05-29 Thread Ouyang Changchun
and transmitting packets, it negotiates multiple virtio-net queues which serve RX/TX; To utilize this feature, the backend also need support multiple queues feature and enable it. Ouyang Changchun (2): Cleanup the existing codes in virtio-net PMD. Support multiple queues feature in DPDK based

[dpdk-dev] [PATCH] librte_vhost: Fix the path test issue

2014-11-03 Thread Ouyang Changchun
Commit aec8283d47d4e4366b6 fixes the compilation issue, but it leads to one runtime issue: early exit wrongly. In some case, 'path' is NULL, but 'resolved_path' has effective path, it should continue going ahead rather than exit. Signed-off-by: Changchun Ouyang --- lib/librte_vhost/virtio-net

[dpdk-dev] [PATCH v3 0/2] Fix packet length issue

2014-11-04 Thread Ouyang Changchun
This patch set fix packet length issue in vhost app, and enhance code by extracting a function to replace duplicated codes in one copy and zero copy TX function. -v3 change: Extract a function to replace duplicated codes in one copy and zero copy TX function -v2 change: Update data length by p

[dpdk-dev] [PATCH v3 2/2] vhost: Remove duplicated codes

2014-11-04 Thread Ouyang Changchun
Extract a function to replace duplicated codes in one copy and zero copy TX function. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c | 139 +- 1 file changed, 58 insertions(+), 81 deletions(-) diff --git a/examples/vhost/main.c b/examp

[dpdk-dev] [PATCH v3 1/2] vhost: Fix packet length issue

2014-11-04 Thread Ouyang Changchun
As HW vlan strip will reduce the packet length by minus length of vlan tag, so it need restore the packet length by plus it. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/vhost/main.c b/example

[dpdk-dev] [PATCH v4 1/3] vhost: Fix packet length issue

2014-11-05 Thread Ouyang Changchun
As HW vlan strip will reduce the packet length by minus length of vlan tag, so it need restore the packet length by plus it. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/vhost/main.c b/example

[dpdk-dev] [PATCH v4 0/3] Fix packet length issue

2014-11-05 Thread Ouyang Changchun
This patch set fix packet length issue in vhost app, and enhance code by extracting a function to replace duplicated codes in one copy and zero copy TX function. -v4 chang: Check offset value and extra bytes inside packet buffer cross page boundary. -v3 change: Extract a function to replace dup

[dpdk-dev] [PATCH v4 2/3] vhost: Remove duplicated codes

2014-11-05 Thread Ouyang Changchun
Extract a function to replace duplicated codes in one copy and zero copy TX function. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c | 139 +- 1 file changed, 58 insertions(+), 81 deletions(-) diff --git a/examples/vhost/main.c b/examp

[dpdk-dev] [PATCH v4 3/3] vhost: Check offset value

2014-11-05 Thread Ouyang Changchun
This patch checks the packet length offset value, and checks if the extra bytes inside buffer cross page boundary. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/vhost/main.c b/examples/vhost/main.c i

[dpdk-dev] [PATCH v4 3/3] vhost: Check offset value

2014-11-06 Thread Ouyang, Changchun
ei > Cc: dev at dpdk.org; Ouyang, Changchun > Subject: Re: [dpdk-dev] [PATCH v4 3/3] vhost: Check offset value > > 2014-11-05 16:52, Xie, Huawei: > > Why don't we merge 1,2,3 patches? > > Because it's simpler to understand small patches with a dedicated > expl

[dpdk-dev] [PATCH] librte_vhost: Fix the path test issue

2014-11-06 Thread Ouyang, Changchun
Hi Huawei, Thanks for the comments, And my response as follows. > -Original Message- > From: Xie, Huawei > Sent: Thursday, November 6, 2014 10:39 AM > To: Ouyang, Changchun; dev at dpdk.org > Subject: RE: [dpdk-dev] [PATCH] librte_vhost: Fix the path test issue > &g

[dpdk-dev] [PATCH v4 0/5] Support virtio multicast feature

2014-11-08 Thread Ouyang Changchun
-V1 change: This patch series support multicast feature in virtio and vhost. The vhost backend enables the promiscuous mode and config ETH_VMDQ_ACCEPT_BROADCAST and ETH_VMDQ_ACCEPT_MULTICAST in VMDQ offload register to receive the multicast and broadcast packets. The virtio frontend provides the

[dpdk-dev] [PATCH v4 1/5] ethdev: Add vmdq rx mode

2014-11-08 Thread Ouyang Changchun
Add vmdq rx mode field into rx config struct, it is flag from ETH_VMDQ_ACCEPT_*. Signed-off-by: Changchun Ouyang --- lib/librte_ether/rte_ethdev.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 7e4c998..c29525b 100644 --- a

[dpdk-dev] [PATCH v4 2/5] igb: Config VM offload register

2014-11-08 Thread Ouyang Changchun
Config VM offload register in igb PMD to enable it receive broadcast and multicast packets. Signed-off-by: Changchun Ouyang --- lib/librte_pmd_e1000/igb_rxtx.c | 20 1 file changed, 20 insertions(+) diff --git a/lib/librte_pmd_e1000/igb_rxtx.c b/lib/librte_pmd_e1000/igb_rx

[dpdk-dev] [PATCH v4 3/5] ixgbe: Configure Rx mode for VMDQ

2014-11-08 Thread Ouyang Changchun
Config PFVML2FLT register in ixgbe PMD to enable it receive broadcast and multicast packets; also factorize the common logic with ixgbe_set_pool_rx_mode. Signed-off-by: Changchun Ouyang --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 31 +-- lib/librte_pmd_ixgbe/ixgbe_ethd

[dpdk-dev] [PATCH v4 5/5] vhost: Enable promisc mode and multicast

2014-11-08 Thread Ouyang Changchun
This is to enable user space vhost receiving and forwarding broadcast and multicast packets: Use new option in command line to enable promisc mode; Enable 2 bits in VMDQ RX mode: ETH_VMDQ_ACCEPT_BROADCAST and ETH_VMDQ_ACCEPT_MULTICAST. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c

[dpdk-dev] [PATCH v4 4/5] virtio: Support promiscuous and allmulticast

2014-11-08 Thread Ouyang Changchun
Add codes for supporting promiscuous and allmulticast enable and disable. Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 90 ++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c b/lib

[dpdk-dev] [PATCH v3 1/5] ethdev: add vmdq rx mode

2014-11-08 Thread Ouyang, Changchun
Hi Thomas, > -Original Message- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Thursday, November 6, 2014 9:56 PM > To: Ouyang, Changchun > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v3 1/5] ethdev: add vmdq rx mode > > 2014-10-31

[dpdk-dev] [PATCH v4 0/5] Support virtio multicast feature

2014-11-12 Thread Ouyang, Changchun
Hi Thomas, Thanks very much for applying this patch! > -Original Message- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Wednesday, November 12, 2014 7:17 AM > To: Ouyang, Changchun > Cc: dev at dpdk.org; Xie, Huawei > Subject: Re: [dpdk-dev] [PAT

[dpdk-dev] One pkt in mbuf chain - virtio pmd driver

2014-08-07 Thread Ouyang, Changchun
It is one feature in developing, scatter and mergeable RX will be support in virtio subsequent patch. Thanks Changchun > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Xie, Huawei > Sent: Thursday, August 7, 2014 3:07 PM > To: Czaus, Tomasz; dev at dpdk.org

[dpdk-dev] [PATCH v3] virtio: Support mergeable buffer in virtio pmd

2014-08-14 Thread Ouyang Changchun
v3 change: - Investigate the comments from Huawei and fix one potential issue of wrong offset to the number of descriptor in buffer; also fix other tiny comments. v2 change: - Resolve conflicts with the tip code; - And resolve 2 issues: -- fix mbuf leak when discard an uncompleted packet.

[dpdk-dev] [PATCH] examples/vhost: Support jumbo frame in user space vhost

2014-08-15 Thread Ouyang Changchun
This patch support mergeable RX feature and thus support jumbo frame RX and TX in user space vhost(as virtio backend). On RX, it secures enough room from vring to accommodate one complete scattered packet which is received by PMD from physical port, and then copy data from mbuf to vring buffer, po

[dpdk-dev] [PATCH v3] virtio: Support mergeable buffer in virtio pmd

2014-08-21 Thread Ouyang, Changchun
Hi all, Any comments for this patch? And what's the status for merging it into mainline? Thanks in advance Changchun > -Original Message- > From: Ouyang, Changchun > Sent: Thursday, August 14, 2014 4:55 PM > To: dev at dpdk.org > Cc: Cao, Waterman; Ouyang, Changchun

[dpdk-dev] [PATCH] examples/vhost: Support jumbo frame in user space vhost

2014-08-21 Thread Ouyang, Changchun
Hi all, Any comments for this patch? And what's the status for merging it into mainline? Thanks in advance Changchun > -Original Message- > From: Ouyang, Changchun > Sent: Friday, August 15, 2014 12:58 PM > To: dev at dpdk.org > Cc: Cao, Waterman; Ouyang, Changch

[dpdk-dev] [PATCH 0/5] Support virtio multicast feature

2014-08-25 Thread Ouyang Changchun
functionality of enabling and disabling the multicast and promiscuous mode. Changchun Ouyang (2): Set VM offload register according to VMDQ config for IGB PMD to support broadcast and multicast packets. Add new API in virtio for supporting promiscuous and allmulticast enable and disable. Ouyang

[dpdk-dev] [PATCH 2/5] e1000: config VMDQ offload register to receive multicast packet

2014-08-25 Thread Ouyang Changchun
This patch set VM offload register according to VMDQ config for e1000 PMD to support multicast and broadcast packets. Signed-off-by: Changchun Ouyang Acked-by: Huawei Xie Acked-by: Cunming Liang --- lib/librte_pmd_e1000/igb_rxtx.c | 20 1 file changed, 20 insertions(+) d

[dpdk-dev] [PATCH 3/5] examples/vhost: enable promisc mode and config VMDQ offload register for multicast feature

2014-08-25 Thread Ouyang Changchun
This patch is to let vhost receive and forward multicast and broadcast packets, add promiscuous option into command line; and set VMDQ RX mode as: ETH_VMDQ_ACCEPT_BROADCAST|ETH_VMDQ_ACCEPT_MULTICAST if promisc mode is on. Signed-off-by: Changchun Ouyang Acked-by: Huawei Xie Acked-by: Cunming Lia

[dpdk-dev] [PATCH 5/5] examples/vmdq: set default value to rx mode

2014-08-25 Thread Ouyang Changchun
This patch specifies rx_mode as 0 for 2 samples: vmdq and vhost-xen because the multicast feature is not available currently for both samples. Signed-off-by: Changchun Ouyang Acked-by: Huawei Xie Acked-by: Cunming Liang --- examples/vhost_xen/main.c | 1 + examples/vmdq/main.c | 1 + 2 f

[dpdk-dev] [PATCH 4/5] virtio: New API to enable/disable multicast and promisc mode

2014-08-25 Thread Ouyang Changchun
This patch adds new API in virtio for supporting promiscuous and allmulticast enabling and disabling. Signed-off-by: Changchun Ouyang Acked-by: Huawei Xie Acked-by: Cunming Liang --- lib/librte_pmd_virtio/virtio_ethdev.c | 98 ++- 1 file changed, 97 insertions

[dpdk-dev] [PATCH 1/5] ethdev: Add new config field to config VMDQ offload register

2014-08-25 Thread Ouyang Changchun
This patch adds new field of rx mode in VMDQ config; and set the register PFVML2FLT for IXGBE PMD, this makes VMDQ receive multicast and broadcast packets. Signed-off-by: Changchun Ouyang Acked-by: Huawei Xie Acked-by: Cunming Liang --- lib/librte_ether/rte_ethdev.h | 1 + lib/librte_pm

[dpdk-dev] [PATCH 4/5] virtio: New API to enable/disable multicast and promisc mode

2014-08-26 Thread Ouyang, Changchun
Hi Stephen, My response below. Thanks Changchun > -Original Message- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Tuesday, August 26, 2014 8:13 AM > To: Ouyang, Changchun > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 4/5] virtio:

[dpdk-dev] [RFC 07/10] virtio: remove unnecessary adapter structure

2014-08-26 Thread Ouyang, Changchun
Acked-by: Changchun Ouyang > -Original Message- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Tuesday, August 26, 2014 10:08 AM > To: Ouyang, Changchun > Cc: dev at dpdk.org > Subject: [RFC 07/10] virtio: remove unnecessary adapter stru

[dpdk-dev] [RFC 10/10] virtio: add support for promiscious and multicast

2014-08-26 Thread Ouyang, Changchun
: Tuesday, August 26, 2014 10:08 AM > To: Ouyang, Changchun > Cc: dev at dpdk.org; Stephen Hemminger > Subject: [RFC 10/10] virtio: add support for promiscious and multicast > > Implement standard virtio controls for enabling and disabling promiscious > and multicast. > >

[dpdk-dev] [RFC 01/10] virtio: rearrange resource initialization

2014-08-26 Thread Ouyang, Changchun
Acked-by: Changchun Ouyang > -Original Message- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Tuesday, August 26, 2014 10:08 AM > To: Ouyang, Changchun > Cc: dev at dpdk.org > Subject: [RFC 01/10] virtio: rearrange resource initialization >

[dpdk-dev] [RFC 06/10] virtio: use software vlan stripping

2014-08-26 Thread Ouyang, Changchun
tephen at networkplumber.org] > Sent: Tuesday, August 26, 2014 10:08 AM > To: Ouyang, Changchun > Cc: dev at dpdk.org; Stephen Hemminger > Subject: [RFC 06/10] virtio: use software vlan stripping > > Implement VLAN stripping in software. This allows application to be device > i

[dpdk-dev] [RFC 08/10] virtio: remove redundant vq_alignment

2014-08-26 Thread Ouyang, Changchun
Acked by: Changchun Ouyang > -Original Message- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Tuesday, August 26, 2014 10:08 AM > To: Ouyang, Changchun > Cc: dev at dpdk.org; Stephen Hemminger > Subject: [RFC 08/10] virtio: remove redu

[dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library

2014-08-27 Thread Ouyang, Changchun
Do we have performance comparison between both implementation? Thanks Changchun -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Xie, Huawei Sent: Tuesday, August 26, 2014 7:06 PM To: dev at dpdk.org Subject: Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user su

[dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library

2014-08-27 Thread Ouyang, Changchun
; From: Tetsuya.Mukawa [mailto:mukawa at igel.co.jp] > Sent: Wednesday, August 27, 2014 12:39 PM > To: Ouyang, Changchun; dev at dpdk.org > Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro at lab.ntt.co.jp; > Hitoshi Masutani > Subject: Re: [dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-use

[dpdk-dev] [RFC 06/10] virtio: use software vlan stripping

2014-08-27 Thread Ouyang, Changchun
> -Original Message- > From: Stephen Hemminger [mailto:stephen at networkplumber.org] > Sent: Wednesday, August 27, 2014 12:24 AM > To: Ouyang, Changchun > Cc: dev at dpdk.org > Subject: Re: [RFC 06/10] virtio: use software vlan stripping > > On Tue, 26 Aug 2014

[dpdk-dev] [RFC] lib/librte_vhost: qemu vhost-user support into DPDK vhost library

2014-08-27 Thread Ouyang, Changchun
> -Original Message- > From: Tetsuya.Mukawa [mailto:mukawa at igel.co.jp] > Sent: Wednesday, August 27, 2014 1:28 PM > To: Ouyang, Changchun; dev at dpdk.org > Cc: Xie, Huawei; Katsuya MATSUBARA; nakajima.yoshihiro at lab.ntt.co.jp; > Hitoshi Masutani > Subject: Re:

[dpdk-dev] virtio merging - no UIO

2014-12-02 Thread Ouyang, Changchun
Hi Vincent, Thanks for your highlighting. Will consider how to resolve it. regards Changchun > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vincent JARDIN > Sent: Tuesday, December 2, 2014 4:23 PM > To: dev at dpdk.org > Subject: [dpdk-dev] virtio merging

[dpdk-dev] [RFC PATCH 01/17] virtio: Rearrange resource initialization

2014-12-08 Thread Ouyang Changchun
For clarity make the setup of PCI resources for Linux into a function rather than block of code #ifdef'd in middle of dev_init. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 76 --- 1 file changed, 43

[dpdk-dev] [RFC PATCH 05/17] ether: Add soft vlan encap/decap functions

2014-12-08 Thread Ouyang Changchun
It is helpful to allow device drivers that don't support hardware VLAN stripping to emulate this in software. This allows application to be device independent. Avoid discarding shared mbufs. Make a copy in rte_vlan_insert() of any packet to be tagged that has a reference count > 1. Signed-off-by:

[dpdk-dev] [RFC PATCH 07/17] virtio: Remove unnecessary adapter structure

2014-12-08 Thread Ouyang Changchun
Cleanup virtio code by eliminating unnecessary nesting of virtio hardware structure inside adapter structure. Also allows removing unneeded macro, making code clearer. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 43 ---

[dpdk-dev] [RFC PATCH 02/17] virtio: Use weaker barriers

2014-12-08 Thread Ouyang Changchun
The DPDK driver only has to deal with the case of running on PCI and with SMP. In this case, the code can use the weaker barriers instead of using hard (fence) barriers. This will help performance. The rationale is explained in Linux kernel virtio_ring.h. To make it clearer that this is a virtio t

[dpdk-dev] [RFC PATCH 04/17] virtio: Add support for Link State interrupt

2014-12-08 Thread Ouyang Changchun
Virtio has link state interrupt which can be used. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 78 +++ lib/librte_pmd_virtio/virtio_pci.c| 22 ++ lib/librte_pmd_virtio/virtio_pci.h|

[dpdk-dev] [RFC PATCH 06/17] virtio: Use software vlan stripping

2014-12-08 Thread Ouyang Changchun
Implement VLAN stripping in software. This allows application to be device independent. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_ether/rte_ethdev.h | 3 +++ lib/librte_pmd_virtio/virtio_ethdev.c | 2 ++ lib/librte_pmd_virtio/virtio_pci.h| 1

[dpdk-dev] [RFC PATCH 10/17] virtio: Make vtpci_get_status local

2014-12-08 Thread Ouyang Changchun
Make vtpci_get_status a local function as it is used in one file. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_pci.c | 4 +++- lib/librte_pmd_virtio/virtio_pci.h | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/librt

[dpdk-dev] [RFC PATCH 09/17] virtio: Fix how states are handled during initialization

2014-12-08 Thread Ouyang Changchun
Change order of initialiazation to match Linux kernel. Don't blow away control queue by doing reset when stopped. Calling dev_stop then dev_start would not work. Dev_stop was calling virtio reset and that would clear all queues and clear all feature negotiation. Resolved by only doing reset on dev

[dpdk-dev] [RFC PATCH 08/17] virtio: Remove redundant vq_alignment

2014-12-08 Thread Ouyang Changchun
Since vq_alignment is constant (always 4K), it does not need to be part of the vring struct. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 1 - lib/librte_pmd_virtio/virtio_rxtx.c | 2 +- lib/librte_pmd_virtio/virtqueue.h | 3

[dpdk-dev] [RFC PATCH 12/17] virtio: Move allocation before initialization

2014-12-08 Thread Ouyang Changchun
If allocation fails, don't want to leave virtio device stuck in middle of initialization sequence. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/li

[dpdk-dev] [RFC PATCH 03/17] virtio: Allow starting with link down

2014-12-08 Thread Ouyang Changchun
Starting driver with link down should be ok, it is with every other driver. So just allow it. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/librte_pmd_virti

[dpdk-dev] [RFC PATCH 11/17] virtio: Check for packet headroom at compile time

2014-12-08 Thread Ouyang Changchun
Better to check at compile time than fail at runtime. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c b/lib/librte_pmd_virti

[dpdk-dev] [RFC PATCH 13/17] virtio: Add support for vlan filtering

2014-12-08 Thread Ouyang Changchun
Virtio supports vlan filtering. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 31 +-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c b/lib/librte_pmd

[dpdk-dev] [RFC PATCH 15/17] virtio: Add ability to set MAC address

2014-12-08 Thread Ouyang Changchun
Need to have do special things to set default mac address. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_ether/rte_ethdev.h | 5 + lib/librte_pmd_virtio/virtio_ethdev.c | 24 2 files changed, 29 insertions(+) diff --git a/

[dpdk-dev] [RFC PATCH 00/17] Single virtio implementation

2014-12-08 Thread Ouyang Changchun
This is RFC patch for single virtio implementation. Why we need single virtio? As we know currently there are at least 3 virtio PMD driver implementations: A) lib/librte_pmd_virtio(refer as virtio A); B) virtio_net_pmd by 6wind(refer as virtio B); C) virtio by Brocade/

[dpdk-dev] [RFC PATCH 14/17] virtio: Add suport for multiple mac addresses

2014-12-08 Thread Ouyang Changchun
Virtio support multiple MAC addresses. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- lib/librte_pmd_virtio/virtio_ethdev.c | 94 ++- lib/librte_pmd_virtio/virtio_ethdev.h | 3 +- lib/librte_pmd_virtio/virtqueue.h | 34 - 3

[dpdk-dev] [RFC PATCH 17/17] virtio: Use port IO to get PCI resource.

2014-12-08 Thread Ouyang Changchun
Make virtio not require UIO for some security reasons, this is to match 6Wind's virtio-net-pmd. Signed-off-by: Changchun Ouyang --- lib/librte_eal/common/include/rte_pci.h | 2 + lib/librte_eal/linuxapp/eal/eal_pci.c | 3 +- lib/librte_pmd_virtio/virtio_ethdev.c | 75 +

[dpdk-dev] [RFC PATCH 16/17] virtio: Free mbuf's with threshold

2014-12-08 Thread Ouyang Changchun
This makes virtio driver work like ixgbe. Transmit buffers are held until a transmit threshold is reached. The previous behavior was to hold mbuf's until the ring entry was reused which caused more memory usage than needed. Signed-off-by: Changchun Ouyang Signed-off-by: Stephen Hemminger --- li

[dpdk-dev] [RFC PATCH 00/17] Single virtio implementation

2014-12-09 Thread Ouyang, Changchun
Hi Thomas, > -Original Message- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Monday, December 8, 2014 5:31 PM > To: Ouyang, Changchun > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [RFC PATCH 00/17] Single virtio implementation > > Hi Ch

  1   2   3   4   5   6   7   8   >