Comment 9 for bug 573631

Revision history for this message
Daniel Bültmann (daniel.bueltmann) wrote : Re: [openWNS-bugsquad] [Bug 573631] Re: Incorrect behaviour of Segmentation/Reassembly mechanism after dropped PDU

Jan,

your welcome. So behaviour is correct I suppose ;)

Regards,
  Daniel

Jan wrote:
> Daniel,
>
> thanks for the explanation regarding the queue sizes and headers. Now it
> all makes sense :-)
>
> Let's have a look at our example:
>
> We add 4 PDUs A (80 bits), B (80 bits), C (80 bits), D (50 bits) to the
> queue and set the fixed header size to 16 and the extension header size
> to 8 bits.
>
> What the queue shows is the "brutto" bits and they are computed taking
> one full header and 3 extension headers: (16 + 80) + (8 + 80) + (8 + 80)
> + (8 + 50) = 330 bits
>
> So far so good.
>
> When we take segments out, the first SDU is supposed to have a 16bit
> header and subsequent SDUs (fragments) in the same segment take an
> additional 8 bits.
>
> Now we ask for the first 126 bits so we get (16 + 80) + (8 + 22) = 126 which
> is the complete 80 bits of PDU A and 22 bits of PDU B with a fixed header and an extension header.
>
> Now we ask for the next 126 bits and get (16 + 58) + (8 + 44) = 126
> which is the remaining 58 bits of PDU B and the first 44 bits of PDU C again with a fixed header and an extension header.
>
> Now we ask for the next 126 bits and get (16 + 36) + (8 + 50) = 110 bits
> which is the rest of PDU C and the complete PDU D of only 50 bits again with a fixed header and an extension header.
>
> Thanks
> Jan
>
>