Released
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Data Sheet
PMC-2000164
ISSUE 3
ENHANCED TT1™ SWITCH FABRIC
1.6.4 Use of CRC Fields
1.6.4.1 Use of CRC-16 Field
Control Packets and LCS protocol segment prepends use the CRC-16 polynomial: x16 + x12 + x5 + 1.
This is the same polynomial used in X.25.
1. Prior to starting the calculation, the remainder is set to 0xffff.
2. In all cases, the CRC-16 is calculated over all bits (80-bits of the CP or 64-bits of the prepend) with
the CRC field set to all zeroes.
3. Transmission of the CRC-16 is done with the most significant bit sent first.
Note that the use of the CRC-16 option in the ETT1 Switch to Linecard LCS protocol segment prepend
requires that the first byte of the CRC-16 be masked when the CRC-16 is checked (see example).
The following are some sample CPs and prepends, showing the CRC-16 generated for each. The CRC-16
field is always the last 16 bits.
LCS Start CP:
0x0280000000000000C566
Request Count CP:
0x01037280240000006FDB
LCS Prepend from Switch to Linecard:
0x8719362C09DCxxC7 1 (subport = 0)
0xE719362C09DCxxC7 1 (subport = 3, MUX masked to 0 for CRC)
0xE719362C09DCxxDF (subport = 3, MUX included in CRC)
The use of the CRC-16 polynomial in an ETT1 system is the same as above, however only the
last eight bits of the 16-bit CRC are valid from the Switch to the Linecard. Therefore, the
receiving linecard should calculate the CRC for the entire prepend with the CRC field set to all
0’s and compare the last eight bits to those of the received CRC as shown here. “xx” means
these eight bits should be masked from the compare.
LCS Prepend from Linecard to Switch:
0x81B9409D00106039 1 (subport = 0)
1. Note the MUX[1:0] field is assumed equal to “00” in these CRC-8 calculations.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
73