[PATCH net v2] lwt: fix rx checksum setting for lwt devices tunneling over ipv6

Subsystems: networking drivers, networking [general], openvswitch, the rest

STALE3823d

6 messages, 4 authors, 2016-02-19 · open the first message on its own page

[PATCH net v2] lwt: fix rx checksum setting for lwt devices tunneling over ipv6

From: Paolo Abeni <pabeni@redhat.com>
Date: 2016-02-17 18:30:15

the commit 35e2d1152b22 ("tunnels: Allow IPv6 UDP checksums to be
correctly controlled.") changed the default xmit checksum setting
for lwt vxlan/geneve ipv6 tunnels, so that now the checksum is not
set into external UDP header.
This commit changes the rx checksum setting for both lwt vxlan/geneve
devices created by openvswitch accordingly, so that lwt over ipv6
tunnel pairs are again able to communicate with default values.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
v2: rebased against current -net
---
 drivers/net/geneve.c          | 3 ++-
 net/openvswitch/vport-vxlan.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
index 028e387..3496d78 100644
--- a/drivers/net/geneve.c
+++ b/drivers/net/geneve.c
@@ -1452,7 +1452,8 @@ struct net_device *geneve_dev_create_fb(struct net *net, const char *name,
 		return dev;
 
 	err = geneve_configure(net, dev, &geneve_remote_unspec,
-			       0, 0, 0, htons(dst_port), true, 0);
+			       0, 0, 0, htons(dst_port), true,
+			       GENEVE_F_UDP_ZERO_CSUM6_RX);
 	if (err)
 		goto err;
 
diff --git a/net/openvswitch/vport-vxlan.c b/net/openvswitch/vport-vxlan.c
index de9cb19..5eb7694 100644
--- a/net/openvswitch/vport-vxlan.c
+++ b/net/openvswitch/vport-vxlan.c
@@ -90,7 +90,7 @@ static struct vport *vxlan_tnl_create(const struct vport_parms *parms)
 	int err;
 	struct vxlan_config conf = {
 		.no_share = true,
-		.flags = VXLAN_F_COLLECT_METADATA,
+		.flags = VXLAN_F_COLLECT_METADATA | VXLAN_F_UDP_ZERO_CSUM6_RX,
 		/* Don't restrict the packets that can be sent by MTU */
 		.mtu = IP_MAX_MTU,
 	};
-- 
1.8.3.1

Re: [PATCH net v2] lwt: fix rx checksum setting for lwt devices tunneling over ipv6

From: Jesse Gross <jesse@kernel.org>
Date: 2016-02-17 19:19:27

On Wed, Feb 17, 2016 at 10:30 AM, Paolo Abeni [off-list ref] wrote:
the commit 35e2d1152b22 ("tunnels: Allow IPv6 UDP checksums to be
correctly controlled.") changed the default xmit checksum setting
for lwt vxlan/geneve ipv6 tunnels, so that now the checksum is not
set into external UDP header.
This commit changes the rx checksum setting for both lwt vxlan/geneve
devices created by openvswitch accordingly, so that lwt over ipv6
tunnel pairs are again able to communicate with default values.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This is compat code that is being changed here. Based on the previous
discussion, shouldn't these be made the default for all users?

Re: [PATCH net v2] lwt: fix rx checksum setting for lwt devices tunneling over ipv6

From: Paolo Abeni <pabeni@redhat.com>
Date: 2016-02-18 09:42:10

On Wed, 2016-02-17 at 11:19 -0800, Jesse Gross wrote:
On Wed, Feb 17, 2016 at 10:30 AM, Paolo Abeni [off-list ref] wrote:
quoted
the commit 35e2d1152b22 ("tunnels: Allow IPv6 UDP checksums to be
correctly controlled.") changed the default xmit checksum setting
for lwt vxlan/geneve ipv6 tunnels, so that now the checksum is not
set into external UDP header.
This commit changes the rx checksum setting for both lwt vxlan/geneve
devices created by openvswitch accordingly, so that lwt over ipv6
tunnel pairs are again able to communicate with default values.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This is compat code that is being changed here. Based on the previous
discussion, shouldn't these be made the default for all users?
This change was initially aimed at a smaller scope: use self consistent
default for ovs lwt devices/tunnel terminations.

If there is agreement, I can post a separate patch changing the default
rx checksum setting for plain vxlan and geneve[1] devices tunneling over
ipv6.

Paolo

[1] according to the ietf draft the geneve devices have the same
checksum requirement than vxlan ones

Re: [PATCH net v2] lwt: fix rx checksum setting for lwt devices tunneling over ipv6

From: Jiri Benc <hidden>
Date: 2016-02-18 09:53:15

On Wed, 17 Feb 2016 19:30:01 +0100, Paolo Abeni wrote:
the commit 35e2d1152b22 ("tunnels: Allow IPv6 UDP checksums to be
correctly controlled.") changed the default xmit checksum setting
for lwt vxlan/geneve ipv6 tunnels, so that now the checksum is not
set into external UDP header.
This commit changes the rx checksum setting for both lwt vxlan/geneve
devices created by openvswitch accordingly, so that lwt over ipv6
tunnel pairs are again able to communicate with default values.
Acked-by: Jiri Benc <redacted>

Re: [PATCH net v2] lwt: fix rx checksum setting for lwt devices tunneling over ipv6

From: Jesse Gross <jesse@kernel.org>
Date: 2016-02-18 15:32:03

On Thu, Feb 18, 2016 at 1:42 AM, Paolo Abeni [off-list ref] wrote:
On Wed, 2016-02-17 at 11:19 -0800, Jesse Gross wrote:
quoted
On Wed, Feb 17, 2016 at 10:30 AM, Paolo Abeni [off-list ref] wrote:
quoted
the commit 35e2d1152b22 ("tunnels: Allow IPv6 UDP checksums to be
correctly controlled.") changed the default xmit checksum setting
for lwt vxlan/geneve ipv6 tunnels, so that now the checksum is not
set into external UDP header.
This commit changes the rx checksum setting for both lwt vxlan/geneve
devices created by openvswitch accordingly, so that lwt over ipv6
tunnel pairs are again able to communicate with default values.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This is compat code that is being changed here. Based on the previous
discussion, shouldn't these be made the default for all users?
This change was initially aimed at a smaller scope: use self consistent
default for ovs lwt devices/tunnel terminations.

If there is agreement, I can post a separate patch changing the default
rx checksum setting for plain vxlan and geneve[1] devices tunneling over
ipv6.
OK. I think it's important to do the followup to keep things
consistent but this is fine to start.

Acked-by: Jesse Gross <jesse@kernel.org>

Re: [PATCH net v2] lwt: fix rx checksum setting for lwt devices tunneling over ipv6

From: David Miller <davem@davemloft.net>
Date: 2016-02-19 20:40:33

From: Paolo Abeni <pabeni@redhat.com>
Date: Wed, 17 Feb 2016 19:30:01 +0100
the commit 35e2d1152b22 ("tunnels: Allow IPv6 UDP checksums to be
correctly controlled.") changed the default xmit checksum setting
for lwt vxlan/geneve ipv6 tunnels, so that now the checksum is not
set into external UDP header.
This commit changes the rx checksum setting for both lwt vxlan/geneve
devices created by openvswitch accordingly, so that lwt over ipv6
tunnel pairs are again able to communicate with default values.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Applied.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help