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)
committerJesse Gross <jesse@nicira.com>
Thu, 30 Jun 2011 20:30:59 +0000 (13:30 -0700)
commitfeb83d8aae83a549e660380820df40ee2490b1d9
tree302495d02def42bebbef62b561d153f6198793c7
parent38f2e36072c9065cae3d4fbab4a70e4f502706cd
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