From: Serhey Popovych Date: Wed, 27 Dec 2017 11:28:14 +0000 (+0200) Subject: gre,ip6tnl/tunnel: Fix noencap- support X-Git-Tag: v4.15.0~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=147ade01b036aa0b4d6041ea0ef92608a4ded72c;p=thirdparty%2Fiproute2.git gre,ip6tnl/tunnel: Fix noencap- support We must clear bit, not set all but given bit. Fixes: 858dbb208e39 ("ip link: Add support for remote checksum offload to IP tunnels") Fixes: 73516e128a5a ("ip6tnl: Support for fou encapsulation" Signed-off-by: Serhey Popovych --- diff --git a/ip/link_gre.c b/ip/link_gre.c index f55c40c71..896bb19ab 100644 --- a/ip/link_gre.c +++ b/ip/link_gre.c @@ -281,11 +281,11 @@ get_failed: } else if (strcmp(*argv, "encap-udp6-csum") == 0) { encapflags |= TUNNEL_ENCAP_FLAG_CSUM6; } else if (strcmp(*argv, "noencap-udp6-csum") == 0) { - encapflags |= ~TUNNEL_ENCAP_FLAG_CSUM6; + encapflags &= ~TUNNEL_ENCAP_FLAG_CSUM6; } else if (strcmp(*argv, "encap-remcsum") == 0) { encapflags |= TUNNEL_ENCAP_FLAG_REMCSUM; } else if (strcmp(*argv, "noencap-remcsum") == 0) { - encapflags |= ~TUNNEL_ENCAP_FLAG_REMCSUM; + encapflags &= ~TUNNEL_ENCAP_FLAG_REMCSUM; } else if (strcmp(*argv, "external") == 0) { metadata = 1; } else if (strcmp(*argv, "ignore-df") == 0) { diff --git a/ip/link_ip6tnl.c b/ip/link_ip6tnl.c index 0a471c2d9..84205b120 100644 --- a/ip/link_ip6tnl.c +++ b/ip/link_ip6tnl.c @@ -301,7 +301,7 @@ get_failed: } else if (strcmp(*argv, "encap-remcsum") == 0) { encapflags |= TUNNEL_ENCAP_FLAG_REMCSUM; } else if (strcmp(*argv, "noencap-remcsum") == 0) { - encapflags |= ~TUNNEL_ENCAP_FLAG_REMCSUM; + encapflags &= ~TUNNEL_ENCAP_FLAG_REMCSUM; } else if (strcmp(*argv, "external") == 0) { metadata = 1; } else