Set l4 pointer properly in buffers that contain IP options.
authorBen Pfaff <blp@nicira.com>
Fri, 28 Mar 2008 00:34:05 +0000 (17:34 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 28 Mar 2008 00:50:33 +0000 (17:50 -0700)
commit18f6c89fb07488ae331bc69f523d07b368dfff4d
tree6c0281bbb779001ef79c34d75e2e529a91525579
parent98d149406a08e19ffe191e1289af4ad6412e33ef
Set l4 pointer properly in buffers that contain IP options.

The important part of this change is handling of IP options.  The
rest is intended to ensure that packet->l3 and packet->l4 never
point outside the valid range of a packet in the presence of a
minimum-length Ethernet frame.  Other code (particularly in forward.c)
assumes that if the IP protocol is TCP or UDP, then packet->l4 points
to a tcp_header or udp_header.  Whether this is a good idea is
debatable--it probably warrants clean-up, at least--but that what's
there now.
lib/flow.c