fatal route to network, even if it were you who configured
fatal static route: you are innocent. :-)
-
+ XXX: Forcing the DF flag on was done only when setting up tunnels via the
+ ioctl interface and not Netlink. Since it prevents some operations
+ and isn't very transparent I removed it. It seems nobody really
+ cared about it anyways.
+ Moral: don't create loops.
3. Really, ipv4/ipip.c, ipv4/ip_gre.c and ipv6/sit.c contain
practically identical code. It would be good to glue them
add_tunnel = (cmd == SIOCADDTUNNEL || cmd == SIOCADDGRETAP);
gretap = (cmd == SIOCADDGRETAP || cmd == SIOCCHGGRETAP);
- if (p.iph.ttl)
- p.iph.frag_off |= htons(IP_DF);
-
if (!(p.i_flags&GRE_KEY))
p.i_key = 0;
if (!(p.o_flags&GRE_KEY))
nl_msg_put_u32(&request, IFLA_GRE_LOCAL, config->local_ip);
nl_msg_put_u32(&request, IFLA_GRE_REMOTE, config->remote_ip);
nl_msg_put_u8(&request, IFLA_GRE_PMTUDISC, pmtudisc);
- nl_msg_put_u8(&request, IFLA_GRE_TTL, 0);
+ nl_msg_put_u8(&request, IFLA_GRE_TTL, IPDEFTTL);
nl_msg_put_u8(&request, IFLA_GRE_TOS, 0);
info_data_hdr->nla_len = (char *)ofpbuf_tail(&request)
p.iph.protocol = IPPROTO_GRE;
p.iph.saddr = config->local_ip;
p.iph.daddr = config->remote_ip;
+ p.iph.ttl = IPDEFTTL;
if (config->have_in_key) {
p.i_flags |= GRE_KEY;