|
@@ -748,10 +748,12 @@ int ip_tunnel_ioctl(struct net_device *dev, struct ip_tunnel_parm *p, int cmd)
|
|
|
goto done;
|
|
goto done;
|
|
|
if (p->iph.ttl)
|
|
if (p->iph.ttl)
|
|
|
p->iph.frag_off |= htons(IP_DF);
|
|
p->iph.frag_off |= htons(IP_DF);
|
|
|
- if (!(p->i_flags&TUNNEL_KEY))
|
|
|
|
|
- p->i_key = 0;
|
|
|
|
|
- if (!(p->o_flags&TUNNEL_KEY))
|
|
|
|
|
- p->o_key = 0;
|
|
|
|
|
|
|
+ if (!(p->i_flags & VTI_ISVTI)) {
|
|
|
|
|
+ if (!(p->i_flags & TUNNEL_KEY))
|
|
|
|
|
+ p->i_key = 0;
|
|
|
|
|
+ if (!(p->o_flags & TUNNEL_KEY))
|
|
|
|
|
+ p->o_key = 0;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
t = ip_tunnel_find(itn, p, itn->fb_tunnel_dev->type);
|
|
t = ip_tunnel_find(itn, p, itn->fb_tunnel_dev->type);
|
|
|
|
|
|