On Thu, Aug 11, 2022 at 4:03 PM Richard Sharpe
<realrichardsharpe@xxxxxxxxx> wrote:
>
> Hi folks,
>
> I need to handle both of the above. Element fragmentation was
> introduced in 802.11ai and and is discussed in 10.28.11 of Draft
> P802.11REVmd_D5.0 at least. 802.11be also introduces sub-elements and
> sub-element fragmentation.
>
> Has anyone added support for such? If not I will start adding such support.
No one has responded, so here is how I am planning on handling it.
As per the specs I mentioned, fragmented elements cannot span MMPDUs.
This simplifies life quite a bit.
The rules are simple. If the element contains 255 octets (Element or
element extension), and was fragmented from something larger than 255
bytes, the following elements must be fragment elements and can
contain up to 255 bytes. No fragment element is allowed to follow a
fragment element with less than 255 octets or a non-fragment element
with less than 255 bytes (element extensions with 254 bytes of real
data count, but their length will be 255) and fragment elements with 0
bytes are not allowed.
I plan on using Composite TVBs. Each fragment will be appended after
creating a new composite with tvb_new_composite. When we get to a
non-fragment element, I will finalize the composite, run it through
the standard dissection routines for elements and then free the TVB.
This way all the existing element dissectors should continue to work
since they all expect a TVB. I don't think any element dissectors
limited lengths to 255 chars or less, but if they did we can find them
...
Sub-element dissectors will likely be similar but more painful :-(
--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)(传说杜康是酒的发明者)