[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 <diproiet...@vmware.com> --- 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

[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 <diproiet...@vmware.com> --- lib/dpif-netdev.

[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 <diproiet...@vmware.com> --- 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

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

2016-04-22 Thread Daniele Di Proietto
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 <dipro

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

2016-04-22 Thread Daniele Di Proietto
tion 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 'port_mutex' in dp_netdev_free(). dpif-netdev: Remove unused 'index

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

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 <diproiet...@vmware.com> On 20/04/2016 16:07, "Joe Stringer" <j...@ovn.org> wrote: >Signed-off-by: Joe Stringer <j...@ovn.org> >--- > tests/system-common-macros.at | 4

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 <diproiet...@vmware.com> On 21/04/2016 13:29, "Joe Stringer" <j...@ovn.org> wrote: >On 20 April 2016 at 16:07, Joe Stringer <j...@ovn.org> wrote: >> Signed-off-by: Joe Stringer <j...@ovn.org> >> --- > > >&

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 <diproiet...@vmware.com> On 21/04/2016 14:10, "Joe Stringer" <j...@ovn.org> wrote: >This was missed before somehow, which would cause the test to fail >(rather than being skipped) if iproute2 didn't suppor

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" <b...@ovn.org> wrote: >On Thu, Apr 21, 2016 at 09:41:03PM +, Daniele Di Proietto wrote: >> >> >> On 21/04/2016 11:28, "Ben Pfaff" <b...@ovn.org> wrote: >> >> >On Tue, Apr 19, 2016 at 0

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" <b...@ovn.org> 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 <diproiet...@vmware.com> >

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" <i.maxim...@samsung.com> 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 reclamat

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

2016-04-19 Thread Daniele Di Proietto
ailed 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:13, Daniele D

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

2016-04-19 Thread Daniele Di Proietto
to the proper NUMA socket. Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- lib/dpif-netdev.c | 69 +- lib/netdev-bsd.c | 2 +- lib/netdev-dpdk.c | 195 ++ lib/netdev-dummy.c| 2 +- lib/netdev-l

[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 <diproiet...@vmware.com> Tested-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Ilya Maxim

[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 <diproiet...@vmware.com> --- 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 8

[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 <diproiet...@vmware.com> Tested-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Mark Kavanagh <mark.b.kavan...@intel.com> --- lib/netdev-bsd.c |

[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 <dipro

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

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

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

2016-04-19 Thread Daniele Di Proietto
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 <diproiet...@vmware.

[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 <diproiet...@vmware.com> --- lib/cfm.c| 5 ++--- lib/hmap.h | 4 lib/id-pool.c| 5 ++--- lib/learning-switch.c| 5 ++--- lib/

[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 <diproiet...@vmware.com> --- lib/hmap.c | 26 -- lib/hmap.h | 7 ++- lib/sset.c | 12 +--- lib/sset.h | 7 ++- o

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

2016-04-19 Thread Daniele Di Proietto
eds 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 <diproiet...@vmware.com> --- lib/dpif-netdev.c | 249 +++--- 1 file cha

[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 <diproiet...@vmware.com> --- lib/dpif-netdev.c | 58 +-- 1 file chang

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

2016-04-19 Thread Daniele Di Proietto
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 <dipro

[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 <diproiet...@vmware.com> --- lib/dpif-netdev.

[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 <diproiet...@vmware.com> --- lib/dpif-netdev.c | 77 --- 1 file chang

[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 <diproiet...@vmware.com> --- 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

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

2016-04-19 Thread Daniele Di Proietto
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: Factor out port_create() from do_add_port(). dpif-netdev: Add functions to modify rx

[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 <diproiet...@vmware.com> --- 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

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

2016-04-18 Thread Daniele Di Proietto
On 18/04/2016 14:26, "Ben Pfaff" <b...@ovn.org> 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 fe

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" <i.maxim...@samsung.com> wrote: >On 08.04.2016 06:13, Daniele Di Proietto wrote: >> Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> >> --- >> lib/dpif-netdev.c | 243 >>

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

2016-04-18 Thread Daniele Di Proietto
vs_fatal(0, "batch_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

[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 <diproiet...@vmware.com> --- utilities/checkpatch.py | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a

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

2016-04-15 Thread Daniele Di Proietto
of 'unsigned' for 'len', since the value can be negative. CC: Sairam Venugopal <vsai...@vmware.com> Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- I tested a similar fix on the userspace connection tracker, but I didn't compile this for the windows datapath. --- datapath-wi

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

2016-04-15 Thread Daniele Di Proietto
-by: Daniele Di Proietto <diproiet...@vmware.com> --- tests/system-kmod-macros.at | 28 +++ tests/system-traffic.at | 49 ++-- tests/system-userspace-macros.at | 45 +--- 3 files changed, 107 inse

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

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

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

2016-04-15 Thread Daniele Di Proietto
around. Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- 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

[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 <dipro

[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 <diproiet...@vmware.com> --- lib/conntrack-private.h | 3 ++ lib/conntrack-tcp.c | 34 + lib/conntrack.c | 125 lib/conntrack.h | 16 +++ 4 files changed, 178 inse

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

2016-04-15 Thread Daniele Di Proietto
-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- 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

[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 <diproiet...@vmware.com> --- tests/system-traffic.at | 20 1 file changed, 20 insertions(+) diff --git a/tests/system-traffi

[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: Daniele Di

[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 <dipro

[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 <diproiet...@vmware.com> --- 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 +3

[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: Daniele Di

[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 <diproiet...@vmware.com> --- 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/li

[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 <diproiet...@vmware.com> --- lib/flow.c | 140 ++--- lib/flow.h | 3 ++ 2 files changed, 81 insertions(+), 62 deletions(-) diff --git a/lib/flow.c b/lib/

[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 <diproiet...@vmware.com> --- lib/flow.c | 14 -- lib/flow.h | 1 + 2 files changed, 13 insertions

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

2016-04-15 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- 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/connt

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

2016-04-15 Thread Daniele Di Proietto
egy 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. Daniele Di Proie

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

2016-04-15 Thread Daniele Di Proietto
d call reconfigure(). >> >>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 de

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

2016-04-15 Thread Daniele Di Proietto
gt; You're right, 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_qui

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" <mark.b.kavan...@intel.com> wrote: >Hi Daniele, > >One minor comment inline. > >Cheers, >Mark > >> >>The interface will be more similar to the cmap. >> >>Signed-off-by: Dan

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

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

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" <b...@ovn.org> wrote: >On Fri, Apr 08, 2016 at 03:12:59AM +, Daniele Di Proietto wrote: >> >> >> On 01/04/2016 09:52, "Jarno Rajahalme" <ja...@ovn.org> wrote: >> >> > >> >&g

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 ;

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

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" >> > >

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

2016-04-07 Thread Daniele Di Proietto
to the proper NUMA socket. Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- lib/dpif-netdev.c | 69 +- lib/netdev-dpdk.c | 195 ++ lib/netdev-provider.h | 23 +++--- lib/netdev.c | 34 +++-

[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 <diproiet...@vmware.com> --- 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 f

[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 <diproiet...@vmware.com> --- lib/cfm.c| 5 ++--- lib/hmap.h | 4 lib/id-pool.c| 5 ++--- lib/learning-switch.c| 5 ++--- lib/

[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 <diproiet...@vmware.com> --- lib/dpif-netdev.

[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 <diproiet...@vmware.com> Tested-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Mark Kavanagh <mark.b.kavan...@intel.com> --- lib/netdev-bsd.c |

[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 <diproiet...@vmware.com> Tested-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Ilya Maxim

[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 <dipro

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

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

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

2016-04-07 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- lib/dpif-netdev.c | 243 +++--- 1 file changed, 175 insertions(+), 68 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 8c5893d..5d1cc43 100644 --- a/li

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

2016-04-07 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- lib/dpif-netdev.c | 93 --- 1 file changed, 55 insertions(+), 38 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 5d1cc43..fba6592 100644 --- a/li

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

2016-04-07 Thread Daniele Di Proietto
The interface will be more similar to the cmap. Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- lib/hmap.c | 26 -- lib/hmap.h | 7 ++- lib/sset.c | 12 +--- lib/sset.h | 7 ++- o

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

2016-04-07 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 <diproiet...@vmware.com> --- lib/dpif-netdev.c | 77 --- 1 file chang

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

2016-04-07 Thread Daniele Di Proietto
Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- 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 7959342..78e4e35 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -431,8

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

2016-04-07 Thread Daniele Di Proietto
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: Factor out port_create() from do_add_port(). dpif-netdev: Add functions to modify rx

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

2016-04-07 Thread Daniele Di Proietto
Found by inspection. Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> --- lib/dpif-netdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 2870951..7959342 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -987,6

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

2016-04-07 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 <diproiet...@vmware.com> --- lib/dpif-netdev.c | 58 +-- 1 file chang

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

2016-04-07 Thread Daniele Di Proietto
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 <dipro

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

2016-04-07 Thread Daniele Di Proietto
On 01/04/2016 09:52, "Jarno Rajahalme" <ja...@ovn.org> wrote: > >> On Mar 30, 2016, at 8:08 PM, Daniele Di Proietto >><diproiet...@vmware.com> wrote: >> >> >> On 30/03/2016 16:01, "Ben Pfaff" <b...@ovn.org> wrote: >>

Re: [ovs-dev] [PATCH] system-traffic: Fix packet-in format for tests.

2016-04-06 Thread Daniele Di Proietto
Thanks for fixing this! Acked-by: Daniele Di Proietto <diproiet...@vmware.com> On 06/04/2016 15:07, "Joe Stringer" <j...@ovn.org> wrote: >Since continuations were introduced, the system-traffic tests which use >OpenFlow monitors to check the results of datapath

Re: [ovs-dev] [PATCH v2] dp-packet: Fix use of uninitialised value at emc_lookup.

2016-04-06 Thread Daniele Di Proietto
Thanks for the fix! I've applied this to master and branch-2.5 2016-04-06 16:28 GMT-07:00 William Tu : > Valgrind reports "Conditional jump or move depends on uninitialised value" > and "Use of uninitialised value" at case 2016 ovn -- 3 HVs, 1 LS, 3 > lports/HV. It is caused

Re: [ovs-dev] [PATCH] dp-packet: Fix use of uninitialised value at emc_lookup.

2016-04-06 Thread Daniele Di Proietto
2016-04-06 10:09 GMT-07:00 Darrell Ball : > On Wed, Apr 6, 2016 at 9:37 AM, William Tu wrote: > >> Valgrind reports "Conditional jump or move depends on uninitialised value" >> and "Use of uninitialised value" at case 2016 ovn -- 3 HVs, 1 LS, 3 >> lports/HV.

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

2016-04-01 Thread Daniele Di Proietto
On 01/04/2016 09:52, "Jarno Rajahalme" <ja...@ovn.org> wrote: > >> On Mar 30, 2016, at 8:08 PM, Daniele Di Proietto >><diproiet...@vmware.com> wrote: >> >> >> On 30/03/2016 16:01, "Ben Pfaff" <b...@ovn.org> wrote: >>

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

2016-03-30 Thread Daniele Di Proietto
On 30/03/2016 16:01, "Ben Pfaff" <b...@ovn.org> wrote: >(I'm taking a look at this patch specifically because Daniele asked me; >I'm not planning to review the whole series.) > >On Mon, Mar 28, 2016 at 12:41:40PM -0700, Daniele Di Proietto wrote: >> The dpif-net

Re: [ovs-dev] [PATCH] dpif-netdev: Remove PMD latency on seq_mutex

2016-03-29 Thread Daniele Di Proietto
On 29/03/2016 06:44, "Karl Rister" <kris...@redhat.com> wrote: >On 03/29/2016 08:08 AM, Flavio Leitner wrote: >> On Tue, Mar 29, 2016 at 02:13:18AM +, Daniele Di Proietto wrote: >>> Hi Flavio and Karl, >>> >>> thanks for the patch! I

Re: [ovs-dev] [PATCH] dpif-netdev: Remove PMD latency on seq_mutex

2016-03-29 Thread Daniele Di Proietto
On 29/03/2016 06:08, "Flavio Leitner" <f...@redhat.com> wrote: >On Tue, Mar 29, 2016 at 02:13:18AM +, Daniele Di Proietto wrote: >> Hi Flavio and Karl, >> >> thanks for the patch! I have a couple of comments: >> >> Can you point out a c

Re: [ovs-dev] [PATCH v3] netdev-dpdk: vhost: Fix txq enabling in the absence of notifications.

2016-03-29 Thread Daniele Di Proietto
Thanks! I applied this to master and branch-2.5 On 28/03/2016 23:20, "Ilya Maximets" wrote: >According to QEMU documentation (docs/specs/vhost-user.txt) one queue >should be enabled initially. More queues are enabled dynamically, by >sending message

Re: [ovs-dev] [PATCH] dpif-netdev: Remove PMD latency on seq_mutex

2016-03-28 Thread Daniele Di Proietto
Hi Flavio and Karl, thanks for the patch! I have a couple of comments: Can you point out a configuration where this is the bottleneck? I'm interested in reproducing this. I think the implementation would look simpler if we could avoid explicitly taking the mutex in dpif-netdev and instead

Re: [ovs-dev] [PATCH v2] netdev-dpdk: vhost: Fix txq enabling in the absence of notifications.

2016-03-28 Thread Daniele Di Proietto
Thanks for the patch, Ilya In __netdev_dpdk_vhost_send() we have qid = vhost_dev->tx_q[qid % vhost_dev->real_n_txq].map; if (OVS_UNLIKELY(!is_vhost_running(virtio_dev) || qid == -1)) { Should we change -1 to OVS_VHOST_QUEUE_MAP_UNKNOWN and handle also OVS_VHOST_QUEUE_DISABLED? On

Re: [ovs-dev] [PATCH v10 5/6] netdev-dpdk: Check dpdk-extra when reading db

2016-03-28 Thread Daniele Di Proietto
On 09/03/2016 09:38, "Aaron Conole" wrote: >A previous patch introduced the ability to pass arbitrary EAL command >line options via the dpdk_extras database entry. This commit enhances >that by warning the user when such a configuration is detected and >prefering the value

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

2016-03-28 Thread Daniele Di Proietto
I still have some comment: dpdk-mem-channels: This is not required by DPDK anymore, so I still think that's not necessary and could be removed. If someone want I think we shouldn't abort if we fail something during the initialization. I know that rte_eal_init() can still abort, but I want to

Re: [ovs-dev] [PATCH v10 1/6] netdev-dpdk: Restore thread affinity after DPDK init

2016-03-28 Thread Daniele Di Proietto
I'm ok with the idea and the implementation and I'm willing to apply this patch despite the issue depicted below. I just want to mention that with just this patch applied I experience a lower throughput for the single flow phy test on my system (~14 Mpps instead of 14.88 Mpps). I thought that

Re: [ovs-dev] [PATCH v10 4/6] netdev-dpdk: Allow arbitrary eal arguments

2016-03-28 Thread Daniele Di Proietto
On 09/03/2016 10:38, "Aaron Conole" wrote: >A previous change moved some commonly used arguments from commandline to >the database, and with it the ability to pass arbitrary arguments to >EAL. This change allows arbitrary eal arguments to be provided >via a new db entry

Re: [ovs-dev] [PATCH v10 3/6] netdev-dpdk: Autofill lcore coremask if absent

2016-03-28 Thread Daniele Di Proietto
On 09/03/2016 09:38, "Aaron Conole" wrote: >The user has control over the DPDK internal lcore coremask, but this >parameter can be autofilled with a bit more intelligence. If the user >does not fill this parameter in, we use the lowest set bit in the >current task CPU

Re: [ovs-dev] [PATCH v10 0/6] Convert DPDK configuration from command line to DB based

2016-03-28 Thread Daniele Di Proietto
Hi Aaron, apologies for the delay. I'm finally convinced that this is the best way for OVS to initialize DPDK. I've put some comments on the patches, mostly minor fixes, other than those I think this is ready to be merged Thanks for all your work, Daniele >> Aaron Conole

[ovs-dev] [PATCH v6 10/12] dpif-netdev: Fix reconfigure_pmd_threads().

2016-03-28 Thread Daniele Di Proietto
of returning prematurely from the function without restarting the pmd threads). Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> Tested-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Ilya Maximets <i.maxim...@samsung.com> --- lib/

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

2016-03-28 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 <diproiet...@vmware.com> Tested-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Ilya Maxim

[ovs-dev] [PATCH v6 09/12] dpif-netdev: Document locking discipline for non_pmd_mutex.

2016-03-28 Thread Daniele Di Proietto
This just documents what the current code already assumes. Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> Tested-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Ilya Maximets <i.maxim...@samsung.com> --- lib/dpif-netdev.c | 1 + 1 file changed, 1 insertion(+)

[ovs-dev] [PATCH v6 11/12] netdev: Add reconfigure request mechanism.

2016-03-28 Thread Daniele Di Proietto
rx and tx queues in netdev-dpdk. Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> Tested-by: Ilya Maximets <i.maxim...@samsung.com> Acked-by: Ilya Maximets <i.maxim...@samsung.com> --- lib/netdev-bsd.c | 1 + lib/netdev-dpdk.c | 1 + lib/netdev-dummy.c

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

2016-03-28 Thread Daniele Di Proietto
Hi Mark, thanks for your comment, I replied inline On 24/03/2016 10:17, "Kavanagh, Mark B" <mark.b.kavan...@intel.com> wrote: >Hi Daniele, > >One comment inline. > >Cheers, >Mark > >>-----Original Message- >>From: Daniele Di Proietto [mailto

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

2016-03-28 Thread Daniele Di Proietto
RCU is more in line with other cmap users. * We might want to allow port removal and queue reconfiguration without stopping completely all the pmd threads. Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com> Acked-by: Ilya Maximets <i.maxim...@samsung.com> --- lib/dpif-ne

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