From: Amerigo Wang Date: Tue, 2 Jul 2013 09:39:28 +0000 (+0800) Subject: iptunnel: check SIT_ISATAP flag only for SIT tunnel X-Git-Tag: v3.10.0~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86c00faae20d0ec60c61a24eed905a0283cf2ac2;p=thirdparty%2Fiproute2.git iptunnel: check SIT_ISATAP flag only for SIT tunnel Without patch, I got: # ./ip/ip tunnel show ip_vti0: ioctl 89f4 failed: Invalid argument ip_vti0: ip/ip remote any local any ttl inherit nopmtudisc key 0 this is due to VTI_ISVTI has the same numeric value with SIT_ISATAP, but only sit tunnel has SIOCGETPRL, therefore it should check for SIT tunnel first. Cc: Stephen Hemminger Signed-off-by: Cong Wang --- diff --git a/ip/iptunnel.c b/ip/iptunnel.c index 4275f2603..43f858556 100644 --- a/ip/iptunnel.c +++ b/ip/iptunnel.c @@ -341,7 +341,7 @@ static void print_tunnel(struct ip_tunnel_parm *p) p->iph.daddr ? format_host(AF_INET, 4, &p->iph.daddr, s1, sizeof(s1)) : "any", p->iph.saddr ? rt_addr_n2a(AF_INET, 4, &p->iph.saddr, s2, sizeof(s2)) : "any"); - if (p->i_flags & SIT_ISATAP) { + if (p->iph.protocol == IPPROTO_IPV6 && (p->i_flags & SIT_ISATAP)) { struct ip_tunnel_prl prl[16]; int i;