[ovs-dev] IPv6 first/later fragments

Ben Pfaff blp at nicira.com
Wed Oct 26 15:57:36 PDT 2011

On Wed, Oct 26, 2011 at 03:53:49PM -0700, Jesse Gross wrote:
> 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.

Fair enough.

More information about the dev mailing list