Re: [ovs-dev] [PATCH v12 2/6] netdev-dpdk: Convert initialization from cmdline to db

2016-04-28 Thread Daniele Di Proietto
Hi Aaron, thanks (again!) for this patch. Few comments: * As I mentioned on my previous round of review, I don't think it's necessary to pass the whole Open_vSwitch table to dpdk_init(). I.e., instead of doing dpdk_init(&cfg); I'd prefer if (cfg) { dpdk_init(&cfg->other_config);

Re: [ovs-dev] [PATCH] datapath-windows: Fix bug in OvsTcpGetWscale().

2016-04-27 Thread Daniele Di Proietto
Thanks, pushed this to master! On 20/04/2016 21:06, "Sairam Venugopal" wrote: >Acked-by: Sairam Venugopal > > >On 4/15/16, 5:04 PM, "Daniele Di Proietto" wrote: > >>The userspace conntrack had a bug in tcp_wscale_get(), where the length >>of

Re: [ovs-dev] [PATCH v2 13/15] system-tests: Disable offloads in userspace tests.

2016-04-26 Thread Daniele Di Proietto
On 26/04/2016 16:38, "Flavio Leitner" wrote: >On Fri, Apr 15, 2016 at 05:02:45PM -0700, Daniele Di Proietto wrote: >> The system userspace testsuite uses the userspace datapath with >> netdev-linux devices, connected to veth pairs with the AF_PACKET socket: >&

Re: [ovs-dev] [PATCH v9 06/15] hmap: Add HMAP_FOR_EACH_POP.

2016-04-26 Thread Daniele Di Proietto
On 26/04/2016 08:24, "Ben Pfaff" wrote: >On Fri, Apr 22, 2016 at 06:02:58PM -0700, Daniele Di Proietto wrote: >> Makes popping each member of the hmap a bit easier. >> >> Signed-off-by: Daniele Di Proietto > >Much better, thank you! > >Acked-by:

Re: [ovs-dev] [PATCH v2 14/15] system-tests: Add tcp simple test.

2016-04-26 Thread Daniele Di Proietto
On 26/04/2016 16:38, "Flavio Leitner" wrote: >On Fri, Apr 15, 2016 at 05:02:46PM -0700, Daniele Di Proietto wrote: >> Useful to test the datapath ability to forward tcp packets without the >> complexity of connection tracking. >> >> Signed-off-by: Daniele

Re: [ovs-dev] [PATCH v2 09/15] dpif-netdev: Execute conntrack action.

2016-04-26 Thread Daniele Di Proietto
On 26/04/2016 16:37, "Flavio Leitner" wrote: >On Fri, Apr 15, 2016 at 05:02:41PM -0700, Daniele Di Proietto wrote: >> This commit implements the OVS_ACTION_ATTR_CT action in dpif-netdev. >> >> To allow ofproto-dpif to detect the conntrack feature, flow_put wi

Re: [ovs-dev] [PATCH v2 00/15] Userspace (DPDK) connection tracker

2016-04-26 Thread Daniele Di Proietto
---+ > > > >ALWAYS_INLINE >= >I've also checked what we already discussed with the patch set v1. >I applied patches one by one and measured the performance, it seems >that ALWAYS_INLINE in parse_vlan() and parse_ethertype() has fixed >the performance

Re: [ovs-dev] [PATCH v2 04/15] conntrack: New userspace connection tracker.

2016-04-26 Thread Daniele Di Proietto
Thank you for your comments, Flavio! On 26/04/2016 16:35, "Flavio Leitner" wrote: >On Fri, Apr 15, 2016 at 05:02:36PM -0700, Daniele Di Proietto wrote: >> This commit adds the conntrack module. >> >> It is a connection tracker that resides entirely in userspac

Re: [ovs-dev] [PATCH v2 11/15] dpif-netdev: Implement conntrack flush interface.

2016-04-26 Thread Daniele Di Proietto
On 26/04/2016 16:38, "Flavio Leitner" wrote: >On Fri, Apr 15, 2016 at 05:02:43PM -0700, Daniele Di Proietto wrote: >> Signed-off-by: Daniele Di Proietto > >This could be squashed with "[07/15] conntrack: Implement flush >function" > >Just a sugge

Re: [ovs-dev] [PATCH v2 05/15] tests: Add very simple conntrack benchmark.

2016-04-26 Thread Daniele Di Proietto
On 26/04/2016 16:36, "Flavio Leitner" wrote: >On Fri, Apr 15, 2016 at 05:02:37PM -0700, Daniele Di Proietto wrote: >> This introduces a very limited but simple benchmark for >> conntrack_execute(). It just sends repeatedly the same batch of packets >> thr

Re: [ovs-dev] [PATCH v2 04/15] conntrack: New userspace connection tracker.

2016-04-26 Thread Daniele Di Proietto
7;s BSD licensed. It has been slightly altered to >> match the OVS coding style and to allow the pickup of already >> established connections. >> >> Signed-off-by: Daniele Di Proietto >> --- >> COPYING | 1 + >> debian/copyright.in

Re: [ovs-dev] [PATCH v2 04/15] conntrack: New userspace connection tracker.

2016-04-26 Thread Daniele Di Proietto
Thanks for the detailed review Joe, replies inline On 19/04/2016 14:36, "Joe Stringer" wrote: >On 15 April 2016 at 17:02, Daniele Di Proietto wrote: >> This commit adds the conntrack module. >> >> It is a connection tracker that resides entirely in userspace.

Re: [ovs-dev] [PATCH v2 13/15] system-tests: Disable offloads in userspace tests.

2016-04-26 Thread Daniele Di Proietto
On 19/04/2016 15:15, "Joe Stringer" wrote: >On 15 April 2016 at 17:02, Daniele Di Proietto wrote: >> The system userspace testsuite uses the userspace datapath with >> netdev-linux devices, connected to veth pairs with the AF_PACKET socket: >> >>

Re: [ovs-dev] [PATCH v2 15/15] system-tests: Run conntrack tests with userspace

2016-04-26 Thread Daniele Di Proietto
On 19/04/2016 17:24, "Joe Stringer" wrote: >On 19 April 2016 at 16:53, Joe Stringer wrote: >> On 15 April 2016 at 17:02, Daniele Di Proietto >> wrote: >>> The userspace connection tracker doesn't support ALGs, frag reassembly >>> or NAT ye

Re: [ovs-dev] [PATCH v2 03/15] flow: Introduce parse_dl_type().

2016-04-26 Thread Daniele Di Proietto
On 26/04/2016 16:35, "Flavio Leitner" wrote: >On Fri, Apr 15, 2016 at 05:02:35PM -0700, Daniele Di Proietto wrote: >> The function simply returns the ethernet type of the packet (after >> eventually discarding the VLAN tag). It will be used by a following >&g

Re: [ovs-dev] [PATCH v2 02/15] flow: Export parse_ipv6_ext_hdrs().

2016-04-26 Thread Daniele Di Proietto
On 19/04/2016 13:03, "Joe Stringer" wrote: >On 15 April 2016 at 17:02, Daniele Di Proietto wrote: >> This will be used by a future commit. >> >> Signed-off-by: Daniele Di Proietto >> --- >> lib/flow.c | 140 >> +++

Re: [ovs-dev] [PATCH v2 09/15] dpif-netdev: Execute conntrack action.

2016-04-26 Thread Daniele Di Proietto
On 19/04/2016 14:52, "Joe Stringer" wrote: >On 15 April 2016 at 17:02, Daniele Di Proietto wrote: >> This commit implements the OVS_ACTION_ATTR_CT action in dpif-netdev. >> >> To allow ofproto-dpif to detect the conntrack feature, flow_put will not >> d

Re: [ovs-dev] [PATCH v2 10/15] dpif-netdev: Implement conntrack dump functions.

2016-04-26 Thread Daniele Di Proietto
On 19/04/2016 14:54, "Joe Stringer" wrote: >On 15 April 2016 at 17:02, Daniele Di Proietto wrote: >> Signed-off-by: Daniele Di Proietto > >Could be combined with the earlier patch that provides the actual >implementation? Done, thanks! ___

Re: [ovs-dev] [PATCH v2 08/15] conntrack: Implement dumping to ct_entry.

2016-04-26 Thread Daniele Di Proietto
On 19/04/2016 14:49, "Joe Stringer" wrote: >On 15 April 2016 at 17:02, Daniele Di Proietto wrote: >> Signed-off-by: Daniele Di Proietto > > > >> +static void >> +conn_key_to_tuple(const struct conn_key *key, struct ct_dpif_tuple *tuple) >> +{

Re: [ovs-dev] [PATCH v2 07/15] conntrack: Implement flush function.

2016-04-26 Thread Daniele Di Proietto
Good idea, I'll combine them Thanks for the review! On 19/04/2016 14:40, "Joe Stringer" wrote: >On 15 April 2016 at 17:02, Daniele Di Proietto wrote: >> Signed-off-by: Daniele Di Proietto > >Looks like this can be combined with patch #11 (to plumb it up thr

[ovs-dev] [PATCH v9 15/15] netdev-dpdk: Use ->reconfigure() call to change rx/tx queues.

2016-04-22 Thread Daniele Di Proietto
proper NUMA socket. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 69 +- lib/netdev-bsd.c | 2 +- lib/netdev-dpdk.c | 195 ++ lib/netdev-dummy.c| 2 +- lib/netdev-linux.c| 2 +- lib/netdev

Re: [ovs-dev] [PATCH v8 08/16] dpif-netdev: Add pmd thread local port cache for transmission.

2016-04-22 Thread Daniele Di Proietto
ev_add_port_to_pmds__(dp, port, &to_reload); > } > > HMAPX_FOR_EACH (node, &to_reload) { >---------- > >Best regards, Ilya Maximets. > >On 20.04.2016 01:28, diproiettod at vmware.com (Daniele Di Proietto) >wrote: >> A futur

[ovs-dev] [PATCH v9 07/15] dpif-netdev: Add pmd thread local port cache for transmission.

2016-04-22 Thread Daniele Di Proietto
now needs to synchronize with every pmd thread. Among the advantages, keeping a per thread port mapping could allow greater control over the txq assigment. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 348 ++ 1 file changed, 244 inser

[ovs-dev] [PATCH v9 09/15] dpif-netdev: Use hmap for ports.

2016-04-22 Thread Daniele Di Proietto
, due to the RCU model we use in userspace. This commit changes the port container from cmap to hmap. 'port_mutex' must be held by readers and writers. This shouldn't have performace impact, as readers in the fast path use a thread local cache. Signed-off-by: Daniele Di Proietto --

[ovs-dev] [PATCH v9 11/15] ofproto-dpif: Call dpif_poll_threads_set() before dpif_run().

2016-04-22 Thread Daniele Di Proietto
An upcoming commit will make dpif_poll_threads_set() record the requested configuration and dpif_run() apply it, so it makes sense to change the order. Signed-off-by: Daniele Di Proietto Tested-by: Ilya Maximets Acked-by: Ilya Maximets Acked-by: Mark Kavanagh --- ofproto/ofproto-dpif.c | 4

[ovs-dev] [PATCH v9 10/15] ovs-thread: Do not quiesce in ovs_mutex_cond_wait().

2016-04-22 Thread Daniele Di Proietto
quiescent state, so explicit calls to ovsrcu_quiesce_start() and ovsrcu_quiesce_end() are added there. Signed-off-by: Daniele Di Proietto --- lib/ovs-rcu.h | 3 +-- lib/ovs-thread.c| 2 -- vswitchd/system-stats.c | 6 ++ 3 files changed, 7 insertions(+), 4 deletions(-) diff -

[ovs-dev] [PATCH v9 12/15] dpif-netdev: Change pmd thread configuration in dpif_netdev_run().

2016-04-22 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 144 ++-- lib/dpif-provider.h | 3 +- 2 files changed, 84 insertions(+), 63 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 5c4d6f2..e5a0433 100644 --- a/lib/dpif

[ovs-dev] [PATCH v9 04/15] dpif-netdev: Add functions to modify rxq without reloading pmd threads.

2016-04-22 Thread Daniele Di Proietto
This commit introduces some functions to add/remove rxqs from pmd threads without reloading them. They will be used by next commits. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 77 --- 1 file changed, 56 insertions(+), 21

[ovs-dev] [PATCH v9 13/15] dpif-netdev: Handle errors in reconfigure_pmd_threads().

2016-04-22 Thread Daniele Di Proietto
Errors returned by netdev_set_multiq() and netdev_rxq_open() weren't handled properly in reconfigure_pmd_threads(). In case of error now we remove the port from the datapath. Also, part of the code is moved in a new function, port_reconfigure(). Signed-off-by: Daniele Di Proietto --- lib

[ovs-dev] [PATCH v9 06/15] hmap: Add HMAP_FOR_EACH_POP.

2016-04-22 Thread Daniele Di Proietto
Makes popping each member of the hmap a bit easier. Signed-off-by: Daniele Di Proietto --- lib/cfm.c| 5 ++--- lib/hmap.h | 20 lib/id-pool.c| 5 ++--- lib/learning-switch.c| 5 ++--- lib/netdev-linux.c

[ovs-dev] [PATCH v9 14/15] netdev: Add reconfigure request mechanism.

2016-04-22 Thread Daniele Di Proietto
rx and tx queues in netdev-dpdk. Signed-off-by: Daniele Di Proietto Tested-by: Ilya Maximets Acked-by: Ilya Maximets Acked-by: Mark Kavanagh --- lib/netdev-bsd.c | 1 + lib/netdev-dpdk.c | 1 + lib/netdev-dummy.c| 1 + lib/netdev-linux.c| 1 + lib/netdev-provider.h | 27

[ovs-dev] [PATCH v9 08/15] hmap: Use struct for hmap_at_position().

2016-04-22 Thread Daniele Di Proietto
The interface will be more similar to the cmap. Signed-off-by: Daniele Di Proietto --- lib/hmap.c | 26 -- lib/hmap.h | 7 ++- lib/sset.c | 12 +--- lib/sset.h | 7 ++- ofproto/ofproto-dpif.c | 8

[ovs-dev] [PATCH v9 02/15] dpif-netdev: Remove unused 'index' in dp_netdev_pmd_thread.

2016-04-22 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 14 +- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 24717cc..060f5e0 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -430,8 +430,6 @@ struct

[ovs-dev] [PATCH v9 03/15] dpif-netdev: Factor out port_create() from do_add_port().

2016-04-22 Thread Daniele Di Proietto
Instead of performing every operation inside do_port_add() it seems clearer to introduce port_create(), since we already have port_destroy(). No functional change. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 69 ++- 1 file

[ovs-dev] [PATCH v9 01/15] dpif-netdev: Destroy 'port_mutex' in dp_netdev_free().

2016-04-22 Thread Daniele Di Proietto
Found by inspection. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 1e8a37c..24717cc 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -986,6 +986,7 @@ dp_netdev_free(struct

[ovs-dev] [PATCH v9 05/15] dpif-netdev: Fix race condition in pmd thread initialization.

2016-04-22 Thread Daniele Di Proietto
s the problem by removing the first signal() from the pmd thread. This is hardly a problem on current master, because the main thread will call the first wait() a long time after the creation of a pmd thread. It becomes a problem with the next commits. Signed-off-by: Daniele Di Proietto --- lib

[ovs-dev] [PATCH v9 00/15] Reconfigure netdev at runtime

2016-04-22 Thread Daniele Di Proietto
e(). Since it is now equal to netdev_dpdk_set_multiq(), the two function have been merged. * Fixed netdev_dpdk_set_config(): dev->requested_n_rxq is now accessed while holding the appropriate mutex. * Fixed some outdated comments about rx queue configuration. Daniele Di Proietto (15): dpif-netdev: Destroy

Re: [ovs-dev] [PATCH] FAQ: Add entry for OVS/DPDK version dependencies.

2016-04-21 Thread Daniele Di Proietto
Thanks for writing this up, applied to master! 2016-04-19 3:35 GMT-07:00 Kevin Traynor : > For a given release this is listed in the INSTALL.DPDK.md > but it gets asked quite a bit on the mailing list, so create > a table in the FAQ. > > Signed-off-by: Kevin Traynor > --- > FAQ.md | 13 ++

Re: [ovs-dev] [PATCH 2/2] system-traffic: Add basic geneve tunnel sanity test.

2016-04-21 Thread Daniele Di Proietto
Thanks for adding this tests! Acked-by: Daniele Di Proietto On 20/04/2016 16:07, "Joe Stringer" wrote: >Signed-off-by: Joe Stringer >--- > tests/system-common-macros.at | 4 > tests/system-traffic.at | 41 >+ > 2

Re: [ovs-dev] [PATCH 1/2] system-traffic: Add basic gre tunnel sanity test.

2016-04-21 Thread Daniele Di Proietto
Acked-by: Daniele Di Proietto On 21/04/2016 13:29, "Joe Stringer" wrote: >On 20 April 2016 at 16:07, Joe Stringer wrote: >> Signed-off-by: Joe Stringer >> --- > > >> +dnl Set up tunnel endpoints on OVS outside the namespace and with a >>nativ

Re: [ovs-dev] [PATCH] system-traffic: Fix IPv6 frag vxlan check.

2016-04-21 Thread Daniele Di Proietto
Thanks for fixing this Acked-by: Daniele Di Proietto On 21/04/2016 14:10, "Joe Stringer" wrote: >This was missed before somehow, which would cause the test to fail >(rather than being skipped) if iproute2 didn't support setting the >vxlan dstport on the kernel tunnel

Re: [ovs-dev] [PATCH v8 07/16] hmap: Add HMAP_FOR_EACH_POP.

2016-04-21 Thread Daniele Di Proietto
On 21/04/2016 14:54, "Ben Pfaff" wrote: >On Thu, Apr 21, 2016 at 09:41:03PM +0000, Daniele Di Proietto wrote: >> >> >> On 21/04/2016 11:28, "Ben Pfaff" wrote: >> >> >On Tue, Apr 19, 2016 at 03:28:39PM -0700, Daniele Di Proietto

Re: [ovs-dev] [PATCH v8 07/16] hmap: Add HMAP_FOR_EACH_POP.

2016-04-21 Thread Daniele Di Proietto
On 21/04/2016 11:28, "Ben Pfaff" wrote: >On Tue, Apr 19, 2016 at 03:28:39PM -0700, Daniele Di Proietto wrote: >> Makes popping each member of the hmap a bit easier. >> >> Signed-off-by: Daniele Di Proietto > >It's unfortunately quite expensive, th

Re: [ovs-dev] [PATCH v8 10/16] dpif-netdev: Use hmap for ports.

2016-04-20 Thread Daniele Di Proietto
On 20/04/2016 07:21, "Ilya Maximets" wrote: >On 20.04.2016 01:28, diproiettod at vmware.com (Daniele Di Proietto) >wrote: >> netdev objects are hard to use with RCU, because it's not possible to >> split removal and reclamation. Postponing the removal means th

Re: [ovs-dev] [PATCH v7 05/16] dpif-netdev: Fix race condition in pmd thread initialization.

2016-04-19 Thread Daniele Di Proietto
thanks for the detailed analysis and the suggested fix. I applied the suggested incremental, but kept emc_cache_uninit() where it is right now. I sent an updated version here: http://openvswitch.org/pipermail/dev/2016-April/069835.html Thanks, Daniele > > >> On 08.04.2016 06:

[ovs-dev] [PATCH v8 16/16] netdev-dpdk: Use ->reconfigure() call to change rx/tx queues.

2016-04-19 Thread Daniele Di Proietto
proper NUMA socket. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 69 +- lib/netdev-bsd.c | 2 +- lib/netdev-dpdk.c | 195 ++ lib/netdev-dummy.c| 2 +- lib/netdev-linux.c| 2 +- lib/netdev

[ovs-dev] [PATCH v8 12/16] ofproto-dpif: Call dpif_poll_threads_set() before dpif_run().

2016-04-19 Thread Daniele Di Proietto
An upcoming commit will make dpif_poll_threads_set() record the requested configuration and dpif_run() apply it, so it makes sense to change the order. Signed-off-by: Daniele Di Proietto Tested-by: Ilya Maximets Acked-by: Ilya Maximets Acked-by: Mark Kavanagh --- ofproto/ofproto-dpif.c | 4

[ovs-dev] [PATCH v8 13/16] dpif-netdev: Change pmd thread configuration in dpif_netdev_run().

2016-04-19 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 144 ++-- lib/dpif-provider.h | 3 +- 2 files changed, 84 insertions(+), 63 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 8cc37e2..c905d1d 100644 --- a/lib/dpif

[ovs-dev] [PATCH v8 15/16] netdev: Add reconfigure request mechanism.

2016-04-19 Thread Daniele Di Proietto
rx and tx queues in netdev-dpdk. Signed-off-by: Daniele Di Proietto Tested-by: Ilya Maximets Acked-by: Ilya Maximets Acked-by: Mark Kavanagh --- lib/netdev-bsd.c | 1 + lib/netdev-dpdk.c | 1 + lib/netdev-dummy.c| 1 + lib/netdev-linux.c| 1 + lib/netdev-provider.h | 27

[ovs-dev] [PATCH v8 14/16] dpif-netdev: Handle errors in reconfigure_pmd_threads().

2016-04-19 Thread Daniele Di Proietto
Errors returned by netdev_set_multiq() and netdev_rxq_open() weren't handled properly in reconfigure_pmd_threads(). In case of error now we remove the port from the datapath. Also, part of the code is moved in a new function, port_reconfigure(). Signed-off-by: Daniele Di Proietto --- lib

[ovs-dev] [PATCH v8 11/16] ovs-thread: Do not quiesce in ovs_mutex_cond_wait().

2016-04-19 Thread Daniele Di Proietto
quiescent state, so explicit calls to ovsrcu_quiesce_start() and ovsrcu_quiesce_end() are added there. Signed-off-by: Daniele Di Proietto --- lib/ovs-rcu.h | 3 +-- lib/ovs-thread.c| 2 -- vswitchd/system-stats.c | 6 ++ 3 files changed, 7 insertions(+), 4 deletions(-) diff -

[ovs-dev] [PATCH v8 10/16] dpif-netdev: Use hmap for ports.

2016-04-19 Thread Daniele Di Proietto
, due to the RCU model we use in userspace. This commit changes the port container from cmap to hmap. 'port_mutex' must be held by readers and writers. This shouldn't have performace impact, as readers in the fast path use a thread local cache. Signed-off-by: Daniele Di Proietto --

[ovs-dev] [PATCH v8 07/16] hmap: Add HMAP_FOR_EACH_POP.

2016-04-19 Thread Daniele Di Proietto
Makes popping each member of the hmap a bit easier. Signed-off-by: Daniele Di Proietto --- lib/cfm.c| 5 ++--- lib/hmap.h | 4 lib/id-pool.c| 5 ++--- lib/learning-switch.c| 5 ++--- lib/netdev-linux.c | 5

[ovs-dev] [PATCH v8 09/16] hmap: Use struct for hmap_at_position().

2016-04-19 Thread Daniele Di Proietto
The interface will be more similar to the cmap. Signed-off-by: Daniele Di Proietto --- lib/hmap.c | 26 -- lib/hmap.h | 7 ++- lib/sset.c | 12 +--- lib/sset.h | 7 ++- ofproto/ofproto-dpif.c | 8

[ovs-dev] [PATCH v8 08/16] dpif-netdev: Add pmd thread local port cache for transmission.

2016-04-19 Thread Daniele Di Proietto
now needs to synchronize with every pmd thread. Among the advantages, keeping a per thread port mapping could allow greater control over the txq assigment. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 249 +++--- 1 file changed, 179 inse

[ovs-dev] [PATCH v8 05/16] dpif-netdev: Fix race condition in pmd thread initialization.

2016-04-19 Thread Daniele Di Proietto
s the problem by removing the first signal() from the pmd thread. This is hardly a problem on current master, because the main thread will call the first wait() a long time after the creation of a pmd thread. It becomes a problem with the next commits. Signed-off-by: Daniele Di Proietto --- lib

[ovs-dev] [PATCH v8 06/16] dpif-netdev: Remove duplicate code in dp_netdev_set_pmds_on_numa().

2016-04-19 Thread Daniele Di Proietto
Instead of duplicating code to add ports in dp_netdev_set_pmds_on_numa(), we can always use dp_netdev_add_port_to_pmds__(). Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 58 +-- 1 file changed, 22 insertions(+), 36 deletions

[ovs-dev] [PATCH v8 03/16] dpif-netdev: Factor out port_create() from do_add_port().

2016-04-19 Thread Daniele Di Proietto
Instead of performing every operation inside do_port_add() it seems clearer to introduce port_create(), since we already have port_destroy(). No functional change. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 69 ++- 1 file

[ovs-dev] [PATCH v8 04/16] dpif-netdev: Add functions to modify rxq without reloading pmd threads.

2016-04-19 Thread Daniele Di Proietto
This commit introduces some functions to add/remove rxqs from pmd threads without reloading them. They will be used by next commits. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 77 --- 1 file changed, 56 insertions(+), 21

[ovs-dev] [PATCH v8 01/16] dpif-netdev: Destroy 'port_mutex' in dp_netdev_free().

2016-04-19 Thread Daniele Di Proietto
Found by inspection. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 1e8a37c..24717cc 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -986,6 +986,7 @@ dp_netdev_free(struct

[ovs-dev] [PATCH v8 00/16] Reconfigure netdev at runtime

2016-04-19 Thread Daniele Di Proietto
now accessed while holding the appropriate mutex. * Fixed some outdated comments about rx queue configuration. Daniele Di Proietto (16): dpif-netdev: Destroy 'port_mutex' in dp_netdev_free(). dpif-netdev: Remove unused 'index' in dp_netdev_pmd_thread. dpif-netdev: F

[ovs-dev] [PATCH v8 02/16] dpif-netdev: Remove unused 'index' in dp_netdev_pmd_thread.

2016-04-19 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 14 +- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 24717cc..060f5e0 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -430,8 +430,6 @@ struct

Re: [ovs-dev] [PATCH] checkpatch: Accept form feeds.

2016-04-18 Thread Daniele Di Proietto
On 18/04/2016 14:26, "Ben Pfaff" wrote: >On Mon, Apr 18, 2016 at 02:02:37PM -0700, Daniele Di Proietto wrote: >> CodingStyle.md says: >> >> "Use form feeds (control+L) to divide long source files into logical >> pieces. A form feed sho

Re: [ovs-dev] [PATCH v7 08/16] dpif-netdev: Add pmd thread local port cache for transmission.

2016-04-18 Thread Daniele Di Proietto
On 18/04/2016 07:50, "Ilya Maximets" wrote: >On 08.04.2016 06:13, Daniele Di Proietto wrote: >> Signed-off-by: Daniele Di Proietto >> --- >> lib/dpif-netdev.c | 243 >>+++--- >> 1 file changed, 175

Re: [ovs-dev] [PATCH v2 00/15] Userspace (DPDK) connection tracker

2016-04-18 Thread Daniele Di Proietto
ch_size must be between 1 and >NETDEV_MAX_BURST(%u)", You're right there are several genuine errors reported by checkpatch.py. I'll fix them. > >patches 7/15 and 8/15, 10/15, 11/15 - as there's no comment into the >patch, maybe >they just need an empty line bef

[ovs-dev] [PATCH] checkpatch: Accept form feeds.

2016-04-18 Thread Daniele Di Proietto
W(199): Line has trailing whitespace + This commit suppresses the two warnings for lines with form feeds as the only character. Signed-off-by: Daniele Di Proietto --- utilities/checkpatch.py | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/utilities/checkpatch.py b/uti

[ovs-dev] [PATCH] datapath-windows: Fix bug in OvsTcpGetWscale().

2016-04-15 Thread Daniele Di Proietto
instead of 'unsigned' for 'len', since the value can be negative. CC: Sairam Venugopal Signed-off-by: Daniele Di Proietto --- I tested a similar fix on the userspace connection tracker, but I didn't compile this for the windows datapath. --- datapath-windows/ovsext/Conntrack-

[ovs-dev] [PATCH v2 15/15] system-tests: Run conntrack tests with userspace

2016-04-15 Thread Daniele Di Proietto
ff-by: Daniele Di Proietto --- tests/system-kmod-macros.at | 28 +++ tests/system-traffic.at | 49 ++-- tests/system-userspace-macros.at | 45 +--- 3 files changed, 107 insertions(+), 15 deletions(-)

[ovs-dev] [PATCH v2 04/15] conntrack: New userspace connection tracker.

2016-04-15 Thread Daniele Di Proietto
ding style and to allow the pickup of already established connections. Signed-off-by: Daniele Di Proietto --- COPYING | 1 + debian/copyright.in | 4 + lib/automake.mk | 5 + lib/conntrack-other.c | 91 ++ lib/conntrack-private.h | 77 + lib/connt

[ovs-dev] [PATCH v2 13/15] system-tests: Disable offloads in userspace tests.

2016-04-15 Thread Daniele Di Proietto
a workaround. Signed-off-by: Daniele Di Proietto --- tests/system-common-macros.at| 1 + tests/system-kmod-macros.at | 7 +++ tests/system-userspace-macros.at | 18 ++ 3 files changed, 26 insertions(+) diff --git a/tests/system-common-macros.at b/tests/system-c

[ovs-dev] [PATCH v2 12/15] tests: Add conntrack ofproto-dpif tests.

2016-04-15 Thread Daniele Di Proietto
While the system testsuite already has connection tracking tests, it will be still useful to add some to the standard testsuite because: * They're run more often by developers. * Some of them are more interesting for the userspace datapath. Signed-off-by: Daniele Di Proietto --- tests/of

[ovs-dev] [PATCH v2 08/15] conntrack: Implement dumping to ct_entry.

2016-04-15 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/conntrack-private.h | 3 ++ lib/conntrack-tcp.c | 34 + lib/conntrack.c | 125 lib/conntrack.h | 16 +++ 4 files changed, 178 insertions(+) diff --git a/lib

[ovs-dev] [PATCH v2 06/15] tests: Add test-conntrack pcap test.

2016-04-15 Thread Daniele Di Proietto
g. Signed-off-by: Daniele Di Proietto --- tests/test-conntrack.c | 65 ++ 1 file changed, 65 insertions(+) diff --git a/tests/test-conntrack.c b/tests/test-conntrack.c index 414d7dc..5292320 100644 --- a/tests/test-conntrack.c +++ b/tests/test-c

[ovs-dev] [PATCH v2 14/15] system-tests: Add tcp simple test.

2016-04-15 Thread Daniele Di Proietto
Useful to test the datapath ability to forward tcp packets without the complexity of connection tracking. Signed-off-by: Daniele Di Proietto --- tests/system-traffic.at | 20 1 file changed, 20 insertions(+) diff --git a/tests/system-traffic.at b/tests/system-traffic.at

[ovs-dev] [PATCH v2 09/15] dpif-netdev: Execute conntrack action.

2016-04-15 Thread Daniele Di Proietto
This commit implements the OVS_ACTION_ATTR_CT action in dpif-netdev. To allow ofproto-dpif to detect the conntrack feature, flow_put will not discard anymore flows with ct_* fields set. We still shouldn't allow flows with NAT bits set, since there is no support for NAT. Signed-off-by: Danie

[ovs-dev] [PATCH v2 05/15] tests: Add very simple conntrack benchmark.

2016-04-15 Thread Daniele Di Proietto
different batching and locking strategies. E.g. the line: `./test/ovstest test-conntrack benchmark 1 1488 32` starts 1 thread that will send 1488 packets to the connection tracker, 32 at a time. It will print the time taken to process them. Signed-off-by: Daniele Di Proietto --- tests

[ovs-dev] [PATCH v2 11/15] dpif-netdev: Implement conntrack flush interface.

2016-04-15 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 5ac2bf3..995cbc0 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -3991,6 +3991,14

[ovs-dev] [PATCH v2 01/15] packets: Define ICMP types.

2016-04-15 Thread Daniele Di Proietto
Linux and FreeBSD have slightly different names for these constants. Windows doesn't define them. It is simpler to redefine them from scratch for OVS. The new names are different than those used in Linux and FreeBSD. These definitions will be used by a future commit. Signed-off-by: Danie

[ovs-dev] [PATCH v2 10/15] dpif-netdev: Implement conntrack dump functions.

2016-04-15 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 60 --- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 436359a..5ac2bf3 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif

[ovs-dev] [PATCH v2 02/15] flow: Export parse_ipv6_ext_hdrs().

2016-04-15 Thread Daniele Di Proietto
This will be used by a future commit. Signed-off-by: Daniele Di Proietto --- lib/flow.c | 140 ++--- lib/flow.h | 3 ++ 2 files changed, 81 insertions(+), 62 deletions(-) diff --git a/lib/flow.c b/lib/flow.c index 560a90f..972a996

[ovs-dev] [PATCH v2 03/15] flow: Introduce parse_dl_type().

2016-04-15 Thread Daniele Di Proietto
The function simply returns the ethernet type of the packet (after eventually discarding the VLAN tag). It will be used by a following commit. Signed-off-by: Daniele Di Proietto --- lib/flow.c | 14 -- lib/flow.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git

[ovs-dev] [PATCH v2 07/15] conntrack: Implement flush function.

2016-04-15 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/conntrack.c | 21 + lib/conntrack.h | 2 ++ 2 files changed, 23 insertions(+) diff --git a/lib/conntrack.c b/lib/conntrack.c index 840335b..7913e76 100644 --- a/lib/conntrack.c +++ b/lib/conntrack.c @@ -849,3 +849,24 @@ delete_conn

[ovs-dev] [PATCH v2 00/15] Userspace (DPDK) connection tracker

2016-04-15 Thread Daniele Di Proietto
hing strategy in conntrack_execute() to allow a newly created connection to be picked up by packets in the same batch. * Added an ovs-test module to throw pcap files at the connection tracker. * Added a workaround for the userspace testsuite on new kernels and a tcp non-conntrack test. Daniel

Re: [ovs-dev] [PATCH v7 16/16] netdev-dpdk: Use ->reconfigure() call to change rx/tx queues.

2016-04-15 Thread Daniele Di Proietto
;This mechanism can also be used to: >>* Automatically match the number of rxq with the one provided by qemu >> via the new_device callback. >>* Provide a way to change the MTU of dpdk devices at runtime. >>* Move a DPDK vhost device to the proper NUMA socket.

Re: [ovs-dev] [PATCH v7 11/16] ovs-thread: Do not quiesce in ovs_mutex_cond_wait().

2016-04-15 Thread Daniele Di Proietto
t, I removed the reference to ovs_mutex_cond_wait() there. Thanks for noticing this! > >> >>In system_stats_thread_func() the code relied on ovs_mutex_cond_wait() >>to introduce a quiescent state, so explicit calls to >>ovsrcu_quiesce_start() and ovsrcu_quiesce_end() a

Re: [ovs-dev] [PATCH v7 09/16] hmap: Use struct for hmap_at_position().

2016-04-15 Thread Daniele Di Proietto
Hi Mark, On 14/04/2016 05:36, "Kavanagh, Mark B" wrote: >Hi Daniele, > >One minor comment inline. > >Cheers, >Mark > >> >>The interface will be more similar to the cmap. >> >>Signed-off-by: Daniele Di Proietto >>--- >> l

Re: [ovs-dev] [PATCH v3] Update relevant artifacts to add support for DPDK 16.04.

2016-04-15 Thread Daniele Di Proietto
Thanks for the patch! I pushed this to master 2016-04-14 9:40 GMT-07:00 mweglicx : > Following changes are applied: > - INSTALL.DPDK.md: CONFIG_RTE_BUILD_COMBINE_LIBS step has been >removed because it is no longer present in DPDK configuration >(combined library is created by default), >

Re: [ovs-dev] [PATCH v5] acinclude: Autodetect DPDK location when configuring OVS

2016-04-15 Thread Daniele Di Proietto
On 14/04/2016 14:51, "Ben Pfaff" wrote: >On Tue, Apr 12, 2016 at 11:44:15AM +0100, Bhanuprakash Bodireddy wrote: >> When using DPDK datapath, the OVS configure script requires the DPDK >> build directory passed on --with-dpdk. This can be avoided if DPDK >> library, headers are in standard comp

Re: [ovs-dev] [PATCH v6 06/12] dpif-netdev: Wait an RCU grace period before freeing ports.

2016-04-13 Thread Daniele Di Proietto
On 10/04/2016 12:23, "Ben Pfaff" wrote: >On Fri, Apr 08, 2016 at 03:12:59AM +0000, Daniele Di Proietto wrote: >> >> >> On 01/04/2016 09:52, "Jarno Rajahalme" wrote: >> >> > >> >> On Mar 30, 2016, at 8:08 PM, Daniele Di

Re: [ovs-dev] [PATCH] Update relevant artifacts to add support for DPDK 16.04.

2016-04-13 Thread Daniele Di Proietto
2016-04-13 9:21 GMT-07:00 Traynor, Kevin : > > -Original Message- > > From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Panu > Matilainen > > Sent: Wednesday, April 13, 2016 8:50 AM > > To: Weglicki, MichalX ; dev@openvswitch.org > > Subject: Re: [ovs-dev] [PATCH] Update relevant

Re: [ovs-dev] [PATCH v2] Update relevant artifacts to add support for DPDK 16.04.

2016-04-13 Thread Daniele Di Proietto
Thanks for the patch, I have a couple of comments: DPDK 16.04 enables by default checksum offloads and TSO for vhostuser device. While this seem to work ok, there seem to be a few problems with this: * OVS in userspace assumes that a packet is stored using a single mbuf (it is not aware of the

Re: [ovs-dev] [PATCH RFC 1/1] netdev-dpdk.c: Add ingress-policing functionality.

2016-04-07 Thread Daniele Di Proietto
Hi Ian, On 07/04/2016 06:00, "Stokes, Ian" wrote: >> > >71034a0..faf3583 100644 >> > >--- a/lib/netdev-dpdk.c >> > >+++ b/lib/netdev-dpdk.c >> > >@@ -53,6 +53,7 @@ >> > > >> > > #include "rte_config.h" >> > > #include "rte_mbuf.h" >> > >+#include "rte_meter.h" >> > > #include "rte_virtio_net.h"

[ovs-dev] [PATCH v7 16/16] netdev-dpdk: Use ->reconfigure() call to change rx/tx queues.

2016-04-07 Thread Daniele Di Proietto
proper NUMA socket. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 69 +- lib/netdev-dpdk.c | 195 ++ lib/netdev-provider.h | 23 +++--- lib/netdev.c | 34 +++-- lib/netdev.h | 3 +- 5

[ovs-dev] [PATCH v7 13/16] dpif-netdev: Change pmd thread configuration in dpif_netdev_run().

2016-04-07 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 144 ++-- lib/dpif-provider.h | 3 +- 2 files changed, 84 insertions(+), 63 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index fba6592..bf04867 100644 --- a/lib/dpif

[ovs-dev] [PATCH v7 07/16] hmap: Add HMAP_FOR_EACH_POP.

2016-04-07 Thread Daniele Di Proietto
Makes popping each member of the hmap a bit easier. Signed-off-by: Daniele Di Proietto --- lib/cfm.c| 5 ++--- lib/hmap.h | 4 lib/id-pool.c| 5 ++--- lib/learning-switch.c| 5 ++--- lib/netdev-linux.c | 5

[ovs-dev] [PATCH v7 03/16] dpif-netdev: Factor out port_create() from do_add_port().

2016-04-07 Thread Daniele Di Proietto
Instead of performing every operation inside do_port_add() it seems clearer to introduce port_create(), since we already have port_destroy(). No functional change. Signed-off-by: Daniele Di Proietto --- lib/dpif-netdev.c | 69 ++- 1 file

[ovs-dev] [PATCH v7 15/16] netdev: Add reconfigure request mechanism.

2016-04-07 Thread Daniele Di Proietto
rx and tx queues in netdev-dpdk. Signed-off-by: Daniele Di Proietto Tested-by: Ilya Maximets Acked-by: Ilya Maximets Acked-by: Mark Kavanagh --- lib/netdev-bsd.c | 1 + lib/netdev-dpdk.c | 1 + lib/netdev-dummy.c| 1 + lib/netdev-linux.c| 1 + lib/netdev-provider.h | 27

[ovs-dev] [PATCH v7 12/16] ofproto-dpif: Call dpif_poll_threads_set() before dpif_run()

2016-04-07 Thread Daniele Di Proietto
An upcoming commit will make dpif_poll_threads_set() record the requested configuration and dpif_run() apply it, so it makes sense to change the order. Signed-off-by: Daniele Di Proietto Tested-by: Ilya Maximets Acked-by: Ilya Maximets Acked-by: Mark Kavanagh --- ofproto/ofproto-dpif.c | 4

[ovs-dev] [PATCH v7 14/16] dpif-netdev: Handle errors in reconfigure_pmd_threads().

2016-04-07 Thread Daniele Di Proietto
Errors returned by netdev_set_multiq() and netdev_rxq_open() weren't handled properly in reconfigure_pmd_threads(). In case of error now we remove the port from the datapath. Also, part of the code is moved in a new function, port_reconfigure(). Signed-off-by: Daniele Di Proietto --- lib

[ovs-dev] [PATCH v7 11/16] ovs-thread: Do not quiesce in ovs_mutex_cond_wait().

2016-04-07 Thread Daniele Di Proietto
quiescent state, so explicit calls to ovsrcu_quiesce_start() and ovsrcu_quiesce_end() are added there. Signed-off-by: Daniele Di Proietto --- lib/ovs-thread.c| 2 -- vswitchd/system-stats.c | 6 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/ovs-thread.c b/lib/ov

<    1   2   3   4   5   6   7   8   9   10   >