If an MPLS packet requires segmentation then use mpls_features
to determine if the software implementation should be used.
As no driver advertises MPLS GSO segmentation this will always be
the case.
I had not noticed that this was necessary before as software MPLS GSO
segmentation was already bei
The dpif flow dump API guarantees that keys it returns are not deleted
unless dpif_flow_dump_next_may_destroy_keys() warns that they might
be. When dpif_linux_flow_dump_next() needed extra memory for a
datapath flow's actions, it would use a special temporary buffer.
Unfortunately, it also used me
On Fri, May 23, 2014 at 06:31:14PM -0700, Ethan Jackson wrote:
> The dpif flow dump API guarantees that keys it returns are not deleted
> unless dpif_flow_dump_next_may_destroy_keys() warns that they might
> be. When dpif_linux_flow_dump_next() needed extra memory for a
> datapath flow's actions,
The dpif flow dump API guarantees that keys it returns are not deleted
unless dpif_flow_dump_next_may_destroy_keys() warns that they might
be. When dpif_linux_flow_dump_next() needed extra memory for a
datapath flow's actions, it would use a special temporary buffer.
Unfortunately, it also used me
On Tue, May 20, 2014 at 04:33:45PM -0700, Ben Pfaff wrote:
> On Tue, May 20, 2014 at 04:32:48PM -0700, Ben Pfaff wrote:
> > On Fri, Apr 11, 2014 at 06:34:23PM -0300, Flavio Leitner wrote:
> > > Acked-by: Thomas Graf
> > > Acked-by: Daniel Borkmann
> > > Signed-off-by: Flavio Leitner
> >
> > Tha
On Tue, May 20, 2014 at 03:55:50PM -0700, Ben Pfaff wrote:
> On Tue, May 20, 2014 at 03:53:26PM -0700, Ben Pfaff wrote:
> > I suspect that unconditionally taking the write-lock in
> > update_mcast_snooping_table() is going to serialize flow translation,
> > in practice. That's why update_learning_
On Tue, May 20, 2014 at 03:41:55PM -0700, Ben Pfaff wrote:
> On Fri, Apr 11, 2014 at 06:34:19PM -0300, Flavio Leitner wrote:
> > This patch adds the functions needed for multicast snooping
> > in order to send the packets to the correct ports.
> >
> > They are marked as OVS_UNUSED for now.
> >
>
On Tue, May 20, 2014 at 03:36:06PM -0700, Ben Pfaff wrote:
> On Fri, Apr 11, 2014 at 06:34:18PM -0300, Flavio Leitner wrote:
> > Acked-by: Thomas Graf
> > Signed-off-by: Flavio Leitner
>
> I think that the 'enabled' member of struct
> ofproto_mcast_snooping_settings is unnecessary, because if sn
On Tue, May 20, 2014 at 03:21:09PM -0700, Ben Pfaff wrote:
> On Fri, Apr 11, 2014 at 06:34:12PM -0300, Flavio Leitner wrote:
> > Add a switch to enable or disable multicast snooping on
> > the bridge. This feature is disabled by default.
> >
> > Acked-by: Thomas Graf
> > Acked-by: Daniel Borkmann
On May 23, 2014, at 1:35 PM, Pravin Shelar wrote:
>
>>
>> +/* Sends 'c' 'buffers' on 'netdev'. If 'netdev' supports batching, uses
>> + * send_batch(), otherwise iterates through 'buffers' and uses send().
>> + * Returns 0 if successful, otherwise a positive errno value.
>> + *
>> + * To retai
On May 23, 2014, at 11:37 AM, Ethan Jackson wrote:
> I don't totally get why we changed the prototype for
> dp_netdev_flow_used() and dp_netdev_count_packets(). All the callers
> seem to use the old semantics.
You’re right, but next commits use the new semantics. I’ll merge the commits,
if y
On Fri, May 23, 2014 at 4:12 PM, Daniele Di Proietto
wrote:
> Signed-off-by: Daniele Di Proietto
Looks good.
Acked-by: Pravin B Shelar
> ---
> lib/netdev-dpdk.c | 7 ---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> index 0798a18
Signed-off-by: Daniele Di Proietto
---
lib/netdev-dpdk.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 0798a18..b0047bf 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -369,7 +369,8 @@ dpdk_eth_dev_init(struct netd
Sounds good. I won't merge any of this series till you've had a
chance to look it over.
Ethan
On Fri, May 23, 2014 at 2:16 PM, Pravin Shelar wrote:
> On Fri, May 23, 2014 at 11:37 AM, Ethan Jackson wrote:
>> I don't totally get why we changed the prototype for
>> dp_netdev_flow_used() and dp_n
On Fri, May 23, 2014 at 11:37 AM, Ethan Jackson wrote:
> I don't totally get why we changed the prototype for
> dp_netdev_flow_used() and dp_netdev_count_packets(). All the callers
> seem to use the old semantics.
>
> I'd replace the variable "int c" with "int cnt" to be consistent with
> netdev_
On Fri, May 23, 2014 at 11:04 AM, Daniele Di Proietto
wrote:
> The netdev_send_batch function allows netdevs to send packets
> more efficiently. This will be useful for netdev-dpdk.
> If a netdev does not implement send_batch, netdev_send_batch
> calls send repeatedly.
>
>
> +/* Sends 'c' 'b
On Fri, May 23, 2014 at 11:46 AM, David Miller wrote:
> From: Pravin B Shelar
> Date: Tue, 20 May 2014 01:59:38 -0700
>
>> A set of OVS changes for net-next/3.16.
>>
>> Most of change are related to improving performance of flow setup by
>> minimizing critical sections.
>
> Pulled, thanks Pravin.
From: Pravin B Shelar
Date: Tue, 20 May 2014 01:59:38 -0700
> A set of OVS changes for net-next/3.16.
>
> Most of change are related to improving performance of flow setup by
> minimizing critical sections.
Pulled, thanks Pravin.
In the future please make your postings so that they have the cu
In netdev_send_batch(), I'd change 'c' to a size_t and rename it
"buffers_len". That way it's a bit clearer what it is.
Acked-by: Ethan Jackson
On Fri, May 23, 2014 at 11:04 AM, Daniele Di Proietto
wrote:
> Signed-off-by: Daniele Di Proietto
> ---
> lib/dpif-netdev.c| 13 +++
I don't totally get why we changed the prototype for
dp_netdev_flow_used() and dp_netdev_count_packets(). All the callers
seem to use the old semantics.
I'd replace the variable "int c" with "int cnt" to be consistent with
netdev_rxq_recv(). I also think it's a bit easier to tell what it is.
Ot
On Fri, May 23, 2014 at 11:16:35AM -0700, Ethan Jackson wrote:
> Found by inspection.
>
> Signed-off-by: Ethan Jackson
Acked-by: Ben Pfaff
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
Found by inspection.
Signed-off-by: Ethan Jackson
---
ofproto/ofproto.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 63f65c3..356fcb1 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -7054,6 +7054,8 @@ ofproto_get_vlan_usage(struct of
The netdev_send_batch function allows netdevs to send packets
more efficiently. This will be useful for netdev-dpdk.
If a netdev does not implement send_batch, netdev_send_batch
calls send repeatedly.
Signed-off-by: Daniele Di Proietto
---
lib/netdev-bsd.c | 1 +
lib/netdev-dpdk.c | 1
Great, I've merged it. Thanks for reporting it.
Ethan
On Thu, May 22, 2014 at 10:19 PM, Murphy McCauley
wrote:
> On May 22, 2014, at 1:39 PM, Ben Pfaff wrote:
>
>> On Thu, May 22, 2014 at 10:57:19AM -0700, Ethan Jackson wrote:
>>> As a result of commit a0bab87 (ofproto: Remove per-flow miss ha
This change in dpif-netdev allows faster packet receiving for devices
like netdev-dpdk which implement batch receiving.
Signed-off-by: Daniele Di Proietto
---
This patchset allows dpif-netdev to process packets in batches.
It boosts the performance of OVS with DPDK (forwarding a single unicast fl
Signed-off-by: Daniele Di Proietto
---
lib/netdev-dpdk.c | 139 +++---
1 file changed, 80 insertions(+), 59 deletions(-)
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index ee811eb..0798a18 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.
Signed-off-by: Daniele Di Proietto
---
lib/dpif-netdev.c| 13 ---
lib/dpif.c | 12 ++
lib/odp-execute.c| 54 ++--
lib/odp-execute.h| 8 +++
ofproto/ofproto-dpif-xlate.c | 3 ++-
5 f
Signed-off-by: Daniele Di Proietto
---
lib/dpif-netdev.c | 238 +++---
1 file changed, 157 insertions(+), 81 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 43bfc20..f1f8b54 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev
Doh, I'll resend it.
Ethan
On Fri, May 23, 2014 at 8:16 AM, Ben Pfaff wrote:
> I agree that this fixes a bug but the commit message is wrong.
>
> On Thu, May 22, 2014 at 06:59:41PM -0700, Ethan Jackson wrote:
>> Found by inspection.
>>
>> Signed-off-by: Ethan Jackson
>> ---
>> ofproto/ofproto.
Signed-off-by: Gurucharan Shetty
---
lib/automake.mk|1 +
lib/socket-util-unix.c | 400
lib/socket-util.c | 377 -
lib/socket-util.h | 44 +++---
4 files changed, 420 insertions(
On Thu, May 22, 2014 at 05:37:41PM -0700, Jarno Rajahalme wrote:
> Add cmap_replace() and cmap_first(), as well as CMAP_FOR_EACH_SAFE and
> CMAP_FOR_EACH_CONTINUE to make porting existing hmap using code a bit
> easier.
>
> CMAP_FOR_EACH_SAFE is useful in RCU postponed destructors, when it is
> kn
On Thu, May 22, 2014 at 05:37:40PM -0700, Jarno Rajahalme wrote:
> lib/ovs-rcu.h had some of the comments duplicated.
>
> Add ovsrcu_init() that can be used like ovsrcu_set() when the RCU
> protected pointer is not yet visible any readers.
>
> Use OVS_CONSTRUCTOR to initialize the ovs-rcu module.
From: Jarno Rajahalme
Reduce and clarify locking requirements for ovs_flow_cmd_alloc_info(),
ovs_flow_cmd_fill_info() and ovs_flow_cmd_build_info().
A datapath pointer is available only when holding a lock. Change
ovs_flow_cmd_fill_info() and ovs_flow_cmd_build_info() to take a
dp_ifindex direc
From: Jarno Rajahalme
Incorrect struct name was confusing, even though otherwise
inconsequental.
Signed-off-by: Jarno Rajahalme
Signed-off-by: Pravin B Shelar
---
net/openvswitch/flow_table.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/openvswitch/flow_table.c b/ne
From: Jarno Rajahalme
Following patch will be easier to reason about with separate
ovs_flow_cmd_new() and ovs_flow_cmd_set() functions.
Signed-off-by: Jarno Rajahalme
Signed-off-by: Pravin B Shelar
---
net/openvswitch/datapath.c | 160 -
1 file chan
From: Jarno Rajahalme
Move most memory allocations away from the ovs_mutex critical
sections. vport allocations still happen while the lock is taken, as
changing that would require major refactoring. Also, vports are
created very rarely so it should not matter.
Change ovs_dp_cmd_get() now only
From: Jarno Rajahalme
For ovs_flow_stats_get() using ovsl_dereference() was wrong, since
flow dumps call this with RCU read lock.
ovs_flow_stats_clear() is always called with ovs_mutex, so can use
ovsl_dereference().
Also, make the ovs_flow_stats_get() 'flow' argument const to make
later patche
From: Jarno Rajahalme
ovs_flow_cmd_del() now allocates reply (if needed) after the flow has
already been removed from the flow table. If the reply allocation
fails, a netlink error is signaled with netlink_set_err(), as is
already done in ovs_flow_cmd_new_or_set() in the similar situation.
Sign
From: Jarno Rajahalme
Signed-off-by: Jarno Rajahalme
Signed-off-by: Pravin B Shelar
---
net/openvswitch/datapath.c | 192 +++--
1 file changed, 116 insertions(+), 76 deletions(-)
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
index
Following patch get rid of struct genl_family_and_ops which is
redundant due to changes to struct genl_family.
Signed-off-by: Kyle Mestery
Acked-by: Kyle Mestery
Signed-off-by: Pravin B Shelar
---
net/openvswitch/datapath.c | 185 ++---
1 file changed, 9
From: Jarno Rajahalme
Masks are inserted when flows are inserted to the table, so it is
logical to correspondingly remove masks when flows are removed from
the table, in ovs_flow_table_remove().
This allows ovs_flow_free() to be called without locking, which will
be used by later patches.
Signe
From: Jarno Rajahalme
Use netlink_has_listeners() and NLM_F_ECHO flag to determine if a
reply is needed or not for OVS_FLOW_CMD_NEW, OVS_FLOW_CMD_SET, or
OVS_FLOW_CMD_DEL. Currently, OVS userspace does not request a reply
for OVS_FLOW_CMD_NEW, but usually does for OVS_FLOW_CMD_DEL, as stats
may
From: Jarno Rajahalme
Remove unnecessary locking from functions that are always called with
appropriate locking.
Signed-off-by: Jarno Rajahalme
Signed-off-by: Thomas Graf
Signed-off-by: Pravin B Shelar
---
net/openvswitch/datapath.c | 13 +++--
net/openvswitch/flow.c | 3 ++-
2
From: Jarno Rajahalme
Minimize padding in sw_flow_key and move 'tp' top the main struct.
These changes simplify code when accessing the transport port numbers
and the tcp flags, and makes the sw_flow_key 8 bytes smaller on 64-bit
systems (128->120 bytes). These changes also make the keys for IPv
A set of OVS changes for net-next/3.16.
Most of change are related to improving performance of flow setup by
minimizing critical sections.
The following changes since commit 091b64868b43ed84334c6623ea6a08497529d4ff:
Merge branch 'mlx4-next' (2014-05-22 17:17:34 -0400)
are available in the git
From: Jarno Rajahalme
Flow SET can accept an empty set of actions, with the intended
semantics of leaving existing actions unmodified. This seems to have
been brokin after OVS 1.7, as we have assigned the flow's actions
pointer to NULL in this case, but we never check for the NULL pointer
later
On Thu, May 22, 2014 at 05:37:39PM -0700, Jarno Rajahalme wrote:
> C99 declarations within code are allowed now. Change the
> FLOW_FOR_EACH_IN_MAP to use loop variable within the for statement.
> This makes this macro more generally useful.
>
> The loop variable name is suffixed with two undersco
On Thu, May 22, 2014 at 05:37:38PM -0700, Jarno Rajahalme wrote:
> As even the MSVC 2013 now supports the C99 mixing of declarations and
> code, we can now allow them in OVS code.
>
> GCC (at least some versions of it) require the -std=c99 option to not
> issue warnings, and since we rely in GCC e
On Fri, May 23, 2014 at 12:23:16AM +0100, Thomas Graf wrote:
> On 05/23/14 at 01:15am, Thomas Graf wrote:
> > Test: * Avg pps as reported by pktgen for a single pktgen thread
> > * qemu, vcpu=2, mem=2GB, megaflows disabled
> >
> > Orig [0] ZC [1]mmap [2] shared-ofpbuf
On Fri, May 23, 2014 at 01:16:01AM +0200, Thomas Graf wrote:
> If the message was received via a shared memory ring the frame
> is usable as ofpbuf base directly without copying the buffer
> unnecessarily. A new destructor() callback is introduced which
> allows marking the frame unused after the o
On Fri, May 23, 2014 at 9:15 AM, Ben Pfaff wrote:
> On Fri, May 23, 2014 at 09:03:35AM -0700, Jesse Gross wrote:
>> We shouldn't restrict printf specifiers in kernel or third party
>> code.
>>
>> Signed-off-by: Jesse Gross
>
> Acked-by: Ben Pfaff
Thanks, applied.
___
On Fri, May 23, 2014 at 09:03:35AM -0700, Jesse Gross wrote:
> We shouldn't restrict printf specifiers in kernel or third party
> code.
>
> Signed-off-by: Jesse Gross
Acked-by: Ben Pfaff
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/
We shouldn't restrict printf specifiers in kernel or third party
code.
Signed-off-by: Jesse Gross
---
Makefile.am | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 0b59280..a98541f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -209,7 +209,8 @@
On Fri, May 23, 2014 at 01:16:00AM +0200, Thomas Graf wrote:
> ---
> lib/dpif-linux.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c
> index 42a3f72..09f02b3 100644
> --- a/lib/dpif-linux.c
> +++ b/lib/dpif-linux.c
> @@ -298,7 +298
On Fri, May 23, 2014 at 01:15:58AM +0200, Thomas Graf wrote:
> Signed-off-by: Thomas Graf
"sparse" found a bug:
../lib/netlink-socket.c:566:49: warning: cast truncates bits from
constant value (8 becomes 0)
In other words, MSG_DONTWAIT is being provided as a "bool" argument
value.
_
On Fri, May 23, 2014 at 01:15:59AM +0200, Thomas Graf wrote:
> Signed-off-by: Thomas Graf
Acked-by: Ben Pfaff
___
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
On Fri, May 23, 2014 at 09:03:54AM +0100, Thomas Graf wrote:
> On 05/22/14 at 05:20pm, Ben Pfaff wrote:
> > On Fri, May 23, 2014 at 01:15:58AM +0200, Thomas Graf wrote:
> > > Signed-off-by: Thomas Graf
> > I guess that the double cast in mmap_frame() is due to the issue that
> > we usually documen
On Fri, May 23, 2014 at 01:15:58AM +0200, Thomas Graf wrote:
> Signed-off-by: Thomas Graf
nl_sock_recv__() compares its 'events' member against EPOLLERR with ==,
but EPOLL* are bitmasks so should it use & to test for a single bit?
Actually I'm not sure what the 'events' argument means. The comme
On Fri, May 23, 2014 at 11:54:11AM +0900, YAMAMOTO Takashi wrote:
> > According to _Unix Network Programming_, only the umask controls the
> > permissions of a Unix domain socket created by bind(). This makes it
> > difficult to correctly control permissions on sockets in a
> > multithreaded proce
I agree that this fixes a bug but the commit message is wrong.
On Thu, May 22, 2014 at 06:59:41PM -0700, Ethan Jackson wrote:
> Found by inspection.
>
> Signed-off-by: Ethan Jackson
> ---
> ofproto/ofproto.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/ofproto/ofproto.c b/ofproto
On 5/23/14, 2:07 AM, Jesse Gross wrote:
On Tue, May 20, 2014 at 9:27 PM, Lori Jakab wrote:
On 5/21/14, 4:10 AM, Jesse Gross wrote:
On Tue, May 13, 2014 at 7:02 AM, Lorand Jakab wrote:
Implementation of the pop_eth and push_eth actions in the kernel, and
layer 3 flow support.
Signed-off-by:
On 5/23/14, 12:22 AM, Ben Pfaff wrote:
On Tue, May 13, 2014 at 05:02:16PM +0300, Lorand Jakab wrote:
Implementation of the pop_eth and push_eth actions in the kernel, and
layer 3 flow support.
Signed-off-by: Lorand Jakab
"sparse" complains thus:
/home/blp/ovs/_build/datapath/linux/flow_
On 5/23/14, 12:19 AM, Ben Pfaff wrote:
On Tue, May 13, 2014 at 05:02:15PM +0300, Lorand Jakab wrote:
This commit relaxes the assumption that all packets have an Ethernet
header, and adds support for layer 3 flows. For each packet received on
the Linux kernel datapath the l2 and l3 members of st
On 05/22/14 at 05:20pm, Ben Pfaff wrote:
> On Fri, May 23, 2014 at 01:15:58AM +0200, Thomas Graf wrote:
> > Signed-off-by: Thomas Graf
>
> Thanks for the patches.
Thanks for the prompt review.
>
> Definitions in netlink-protocol.h have to be written from the
> perspective that we might be on a
Hi Jesse,
I need to play around with ovs source code, please give me some pointers or
share some doc regarding same.
I want to know when I compile the ovs source code, exe will be generated in
which folder? I want to attach the gdb with ovs exe, please suggest me so that
I will kick start it.
65 matches
Mail list logo