gtp: inconditionally set don't fragment flag

Don't use the inner header frag_off, this breaks GTP with fragments.
Instead, inconditionally set the DF flag, this should force us to
fragment the GTP traffic and I think this should also help with wrong
network topologies that result in network loops (that may
encapsulated GTP traffic over and over again).

Other tunnel implementation allows you to configure this.
This commit is contained in:
Pablo Neira Ayuso 2014-02-19 15:41:48 +01:00
parent 943da964ec
commit b2309afc4d
1 changed files with 1 additions and 1 deletions

2
gtp.c
View File

@ -612,7 +612,7 @@ gtp_push_ip4hdr(struct sk_buff *skb, struct gtp_pktinfo *pktinfo)
iph->version = 4;
iph->ihl = sizeof(struct iphdr) >> 2;
iph->frag_off = pktinfo->iph->frag_off;
iph->frag_off = htons(IP_DF);
iph->protocol = IPPROTO_UDP;
iph->tos = pktinfo->iph->tos;
iph->daddr = pktinfo->fl4.daddr;