[OT] aal5 pdu CRC
Harti Brandt
hartmut.brandt at dlr.de
Thu Jan 27 08:02:34 PST 2005
On Thu, 27 Jan 2005, Jose M Rodriguez wrote:
JMR>El Jueves, 27 de Enero de 2005 16:10, Harti Brandt escribi?:
JMR>> On Thu, 27 Jan 2005, Jose M Rodriguez wrote:
JMR>>
JMR>> JMR>Hi,
JMR>> JMR>
JMR>> JMR>get some free time to work in uadsl, but have a problem. Hope someone
JMR>> that JMR>can read ITU I.363 can answer this.
JMR>> JMR>
JMR>> JMR>Every usb adsl modem implementation I see doesn't obey aal5 pdu
JMR>> encoding JMR>standards, which requires that the PDU trailer come at the
JMR>> begin of a fresh JMR>cell.
JMR>>
JMR>> That is not true. The trailer must be on the END of a cell. Before the
JMR>> trailer there will be padding bytes so that this happens. If, for example,
JMR>> you have a one byte PDU the AAL5 PDU will consist of 1 byte information,
JMR>> 39 bytes padding and 8 bytes trailer.
JMR>>
JMR>
JMR>At last, rfc1483 and the received logic side seems to point that this is true.
JMR>Most implementations sync the begin of a new PDU after detect the last cell
JMR>by header test. Also, PDU lenght and crc is decode from a fixed ptr on the
JMR>ENDPDU cell (lenght=cell[2]..cell[3], crc=cell[4]..cell[7]).
Well, you can trust me. The reference is the ITU-T recommendation in any
case. The AAL5 CPCS PDU consists of:
1...65535 information bytes
0...47 PAD bytes
1 UU byte
1 CPI byte
2 length field
4 CRC
with the padding done so that the sum is a multiple of 48 byte. Sure you
can use fixed offsets to access the header. It's always at cell[40] for
the last cell.
JMR>> JMR>
JMR>> JMR>So, I think that the modem must rework this and generate two cells on
JMR>> the JMR>wire. Due how this modems works, I doubt that the modem
JMR>> recalculate PDU CRC JMR>itself, So...
JMR>> JMR>
JMR>> JMR>Can someone confir if the CRC covers the PAD? I'm begin to think that
JMR>> the CRC JMR>only covers the playload and the pdu-trailer.
JMR>>
JMR>> The CRC covers everything but the CRC. The PAD must be filled with zeros
JMR>> though.
JMR>>
JMR>
JMR>This is not so clean. This pad may be take as a cell pad or as a PDU pad. If
JMR>this is take as a cell pad, it may not be part of the CRC (the ENDPDU cell is
JMR>also paded from 8 to 48).
JMR>
JMR>My first guest is that the pad is part of the PDU, but I really doubt that the
JMR>modem may be able to do a full CRC reclaculation.
The CRC is computed from everything except the CRC field. PAD must be zero
as must be CPI. I've written this code several times :-/.
harti
More information about the freebsd-net
mailing list