[ovs-dev] IPv6 first/later fragments

Jesse Gross jesse at nicira.com
Wed Oct 26 22:53:49 UTC 2011


On Wed, Oct 26, 2011 at 3:36 PM, Ben Pfaff <blp at nicira.com> wrote:
> On Wed, Oct 26, 2011 at 03:34:10PM -0700, Jesse Gross wrote:
>> On Wed, Oct 26, 2011 at 2:59 PM, Ben Pfaff <blp at nicira.com> wrote:
>> > Navindra Yadav pointed out in a discussion over on an ONF issue tracker
>> > that first/later fragment isn't as useful with IPv6: the TCP/UDP port
>> > numbers aren't necessarily in the first fragment, because other
>> > intermediate extension headers can follow the fragment header.
>> >
>> > Any idea what we should do about this?
>>
>> This is always true, even for IPv4.  You could have a fragment that is
>> split very quickly after the IP header or simply a truncated packet.
>
> I don't understand yet.  An IP fragment is always at least 8 bytes long.
> The TCP and UDP port numbers are in the first 8 bytes of the TCP and UDP
> headers, respectively.  So won't the first IP fragment of a complete TCP
> or UDP packet always contain the TCP and UDP port numbers?

I suppose that's true but the way that we parse headers unless you
have the entire L4 header we won't read any of it.  Also, clearly a
packet can be truncated at any point.

Regardless, I think my main point stands which is that we're simply
reporting what is there and it's up to the controller to make a
decision on what to do with a first fragment with no L4 header.  We
will report it as EtherType=IPv6, frag=first, nexthdr=NEXTDR_NONE so
all of the information is there.



More information about the dev mailing list