On Sat, Dec 5, 2015 at 12:55 PM, Konstantin Shemyak <konstan...@shemyak.com> wrote: > The DF bit on IPv4 GRE tunnels with fixed TTL is enforced in order > to prevent networking loops. This was the original behavior of GRE > tunnels, lost in the refactoring. > > Signed-off-by: Konstantin Shemyak <konstan...@shemyak.com> > --- > net/ipv4/ip_gre.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c > index 6145214..485bf27 100644 > --- a/net/ipv4/ip_gre.c > +++ b/net/ipv4/ip_gre.c > @@ -679,6 +679,10 @@ static int ipgre_tunnel_ioctl(struct net_device *dev, > ((p.i_flags|p.o_flags)&(GRE_VERSION|GRE_ROUTING))) > return -EINVAL; > } > + > + if (p.iph.ttl) > + p.iph.frag_off |= htons(IP_DF); > +
Same code already exist in ip_tunnel_ioctl() which is common function for IP based tunnel modules. Why does that not work? > p.i_flags = gre_flags_to_tnl_flags(p.i_flags); > p.o_flags = gre_flags_to_tnl_flags(p.o_flags); > > -- > 1.9.1 > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html