Message ID | 20141125040838.13612.54674.stgit@ahduyck-workstation.home |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, Nov 24, 2014 at 8:08 PM, <alexander.duyck@gmail.com> wrote: > From: Alexander Duyck <alexander.h.duyck@redhat.com> > > In "vxlan: Call udp_sock_create" there was a logic error that resulted in > the default for IPv6 VXLAN tunnels going from using checksums to not using > checksums. Since there is currently no support in iproute2 for setting > these values it means that a kernel after the change cannot talk over a IPv6 > VXLAN tunnel to a kernel prior the change. > > Fixes: 3ee64f3 ("vxlan: Call udp_sock_create") > > Cc: Tom Herbert <therbert@google.com> > Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com> > --- > drivers/net/vxlan.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c > index e1e335c..be4649a 100644 > --- a/drivers/net/vxlan.c > +++ b/drivers/net/vxlan.c > @@ -2306,9 +2306,9 @@ static struct socket *vxlan_create_sock(struct net *net, bool ipv6, > if (ipv6) { > udp_conf.family = AF_INET6; > udp_conf.use_udp6_tx_checksums = > - !!(flags & VXLAN_F_UDP_ZERO_CSUM6_TX); > + !(flags & VXLAN_F_UDP_ZERO_CSUM6_TX); > udp_conf.use_udp6_rx_checksums = > - !!(flags & VXLAN_F_UDP_ZERO_CSUM6_RX); > + !(flags & VXLAN_F_UDP_ZERO_CSUM6_RX); > } else { > udp_conf.family = AF_INET; > udp_conf.local_ip.s_addr = INADDR_ANY; > Acked-by: Tom Herbert <therbert@google.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index e1e335c..be4649a 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -2306,9 +2306,9 @@ static struct socket *vxlan_create_sock(struct net *net, bool ipv6, if (ipv6) { udp_conf.family = AF_INET6; udp_conf.use_udp6_tx_checksums = - !!(flags & VXLAN_F_UDP_ZERO_CSUM6_TX); + !(flags & VXLAN_F_UDP_ZERO_CSUM6_TX); udp_conf.use_udp6_rx_checksums = - !!(flags & VXLAN_F_UDP_ZERO_CSUM6_RX); + !(flags & VXLAN_F_UDP_ZERO_CSUM6_RX); } else { udp_conf.family = AF_INET; udp_conf.local_ip.s_addr = INADDR_ANY;