tunneling: Force selection of an IP ID with GRE.
authorJesse Gross <jesse@nicira.com>
Thu, 30 Jun 2011 19:49:11 +0000 (12:49 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 28 Jul 2011 18:21:59 +0000 (11:21 -0700)
commitf3399cd5be32fb67364959d75b973a4c23f2b19a
treef5ed5514145f19e8bf55389991c30edd0a62324a
parent465b509c7ce1023af9665ec2553c1c7baee5963e
tunneling: Force selection of an IP ID with GRE.

By default we set the DF bit on tunneled packets because we want to
get path MTU discovery from the underlying network.  In turn this
causes Linux to leave the IP ID as 0 because it believes that
fragmentation can never occur.  However, with GRE fragmentation is
still possible because we may get a large packet to be encapsulated
and let the local IP stack do fragmentation.  As long as packets are
kept in order fragments are not misassociated and everything works fine.
However, if there is reordering in the underlying network then packets
can become corrupted.  This forces selection of an IP ID for GRE packets
to avoid misassociation.

Bug #6128

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/vport-gre.c