Subject: [ipwave] Fragmentation operation of the Ethernet Adaptation Layer

From: Alexandre Petrescu <[email-masked]>
Date: Mon, 12 Feb 2018 12:49:23 +0100

Tony,

>>>> This Adaptation Layer has direct impact on how fragmentation  >>>> is performed: the field "Sequence number" of the 802.11 Data >>>> 
header is increased when the IP MTU is overcome. This behavior >>>> does 
not exist in Ethernet. >>> But this does not affect the way IPv6 works, 
does it? This is >>> something taken care by the IEEE 802.11 data 
header, no? >> >> At sending, the IP stack decides whether it fragments 
and then >> tells the MAC layer to increase its seqno. At reception, >> 
vice-versa. >> >> IPv6 Fragment Header also has an Identification field. 
 >> >> The two fields (Id field in IPv6 header and seqno in 802.11 MAC 
 >> header) are correlated. > > > Please note that that’s your opinion.
I think yes, the last phrase is my oppinion.

But the first two phrases are not just my oppinion.

> One might also point out that fragmentation is just a bad idea to  > begin with and should not ever happen. Therefore, what happens after 
 > you make the mistake of fragmenting is irrelevant. :-) > > Tying the 
L2 header to the L3 fragmentation process is, IMHO, another > mistake.
Well, it depends.  If it is a mistake, then it is a mistake widely 
implemented that we just document here.

But we can discuss the details of  this 'tying'.

I am not sure whether the id field in the IPv6 frag header has a precise 
relationship to the seqno field in the 802.11 header.

But I am sure that when the IP packet is too large compared to the MTU 
then both 802.11 and IP fragmentation happen.
This is what all 802.11 including OCB implementations do.

> It increases complexity, is a layering violation, and things  > would operate just fine even if we did nothing special. If and when 
 > L3 decides to fragment, the resulting fragments are simply separate > 
packets. L2 doesn’t need to know that they have an L3 relationship.
That's a principle enunciated well, but the implementations dont act 
that way.

When IP decides to fragment the MAC layer also tells this is a fragment.

Alex