Re: [PATCH net-next] geneve: always fill CSUM6_RX configuration
From: Eric Garver <hidden>
Date: 2017-05-22 16:50:54
On Sat, May 20, 2017 at 09:56:44PM -0700, Pravin Shelar wrote:
On Sat, May 20, 2017 at 6:35 AM, Eric Garver [off-list ref] wrote:quoted
On Fri, May 19, 2017 at 06:57:46PM -0700, Pravin Shelar wrote:quoted
On Thu, May 18, 2017 at 12:59 PM, Eric Garver [off-list ref] wrote:quoted
CSMU6_RX is relevant for collect_metadata as well. As such leave it outside of the dev's IPv4/IPv6 checks.Can you explain it bit? is this flag used with ipv4 tunnels?It's used with collect_metadata as both ipv4 and ipv6 sockets will be created. openvswitch recently gained support for creating tunnels with rtnetlink. It sets COLLECT_METADATA and CSUM6_RX. After create, it does a get to verify the device got created with all the requested configuration. The verify was failing due to CSUM6_RX not being returned. Since ip_tunnel_info_af() defaults to returning AF_INET, we fall into the IPv4 case and CSUM6_RX is never returned. Other relevant areas that call ip_tunnel_info_af() do so using the info from the skb, not the geneve_dev.ok. I think ip_tunnel_info_af() check is not right. it does not work in case of collect_metadata. Better fix would be check for genene->sock4 and genene->sock6 and build the netlink skb accordingly.
Agreed. That's a better idea. Lets drop this patch. I'll work on one to look at the actual sockets instead. Thanks Pravin.