Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jan 2005 17:06:16 +0100 (CET)
From:      Harti Brandt <hartmut.brandt@dlr.de>
To:        Jose M Rodriguez <josemi@freebsd.jazztel.es>
Cc:        freebsd-net@freebsd.org
Subject:   Re: [OT] aal5 pdu CRC
Message-ID:  <20050127170022.A55581@beagle.kn.op.dlr.de>
In-Reply-To: <200501271632.37457.josemi@freebsd.jazztel.es>
References:  <200501271600.42408.josemi@freebsd.jazztel.es> <200501271632.37457.josemi@freebsd.jazztel.es>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050127170022.A55581>