Cisco ONS 15454 Series Multiservice Provisioning Platforms

CRC-16 and CRC-32 on Packet Over SONET Interfaces

Cisco - CRC-16 and CRC-32 on Packet Over SONET Interfaces


This document discusses the two Cyclic Redundancy Check (CRC) options on Packet Over Synchronous Optical Network (POS) router interfaces.



There are no specific requirements for this document.

Components Used

This document is not restricted to specific software and hardware versions.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.


Refer to Cisco Technical Tips Conventions for more information on document conventions.

Cyclic Redundancy Check

The CRC is a technique used to check errors. The CRC uses a calculated numeric value to detect errors in transmitted data. The sender of a data frame calculates the Frame Check Sequence (FCS). The sender appends the FCS value to outgoing messages. The receiver recalculates the FCS, and compares the value with the FCS from the sender. If a difference exists, the receiver assumes that a transmission error occurred, and sends a request to the sender to re-send the frame. The retention of the true value of a frame is important to ensure that the destination correctly interprets the data that you communicate.

CRC-16 and CRC-32

Request for Comments (RFC) 2615 defines the use of the Point-to-Point Protocol (PPP) over SONET/ Synchronous Digital Hierarchy (SDH). Here is how this RFC specifies when a POS interface can use the 16-bit CRC (CRC-16) and when it can use the 32-bit CRC (CRC-32):

"Regarding the FCS length, with one exception, the 32-bit FCS must be used for all SONET/SDH rates. For Synchronous Transport Signal (STS)-3c- Systems Process Engineering (SPE)/VC-4 only, the 16-bit FCS may be used, although the 32-bit FCS is recommended. The FCS length is set by provisioning and is not negotiated."

RFC 2615 requires (and recommends) the 32-bit CRC. The 32-bit CRC is far superior in the detection of certain types of errors than a 16-bit CRC. The less robust CRC-16 can fail to detect a bit error on links that can transmit Gigabits of data per second.

You can do the actual CRC computation in hardware with no performance implication for either CRC length. Therefore, although the 32-bit CRC adds more overhead, Cisco recommends this length of CRC on Optical Carrier-3 (OC-3) interfaces.

Figure 1 indicates the order of operation on a Cisco POS interface, and when the interface generates the CRC:

Figure 1 – Order of Operation on a Cisco POS Interface


Configure the CRC Length

Ensure that both router ends of a POS link use the same CRC. Mismatched CRC settings are one configuration parameter to check when a POS interface stays up/down. Use the show interface command to confirm your settings. In order to comply with RFC 2615, all Cisco POS interfaces support CRC-32. Higher-rate interfaces use CRC-32 as the default.

Here is the output from a 4xOC12 POS line card for the Gigabit Switch Router (GSR):

RTR12410-2#show interface pos 8/0 
POS8/0 is up, line protocol is up (looped) 
Hardware is Packet over SONET 
MTU 4470 bytes, BW 622000 Kbit, DLY 100 usec, rely 255/255, load 1/255 
Encapsulation HDLC, crc 32, loopback set (internal) 
Keepalive set (10 sec) 
Scramble disabled 
Last input 00:00:00, output 00:00:00, output hang never 
Last clearing of "show interface" counters never 
Queueing strategy: fifo 
Output queue 0/40, 0 drops; input queue 0/75, 0 drops 
5 minute input rate 0 bits/sec, 0 packets/sec 
5 minute output rate 0 bits/sec, 0 packets/sec 
101418 packets input, 7853571 bytes, 0 no buffer 
Received 0 broadcasts, 31 runts, 0 giants, 0 throttles 
0 parity 
213 input errors, 128 CRC, 0 frame, 0 overrun, 54 ignored, 0 abort 
101414 packets output, 7853571 bytes, 0 underruns 
0 output errors, 0 applique, 0 interface resets 
0 output buffer failures, 0 output buffers swapped out 
3 carrier transitions

Use the crc command to configure a non-default value, as shown here:

RTR12410-2(config)#interface pos 8/0
RTR12410-2(config-if)#crc ? 
16 crc word-size
32 crc word-size

Related Information

Updated: May 02, 2005
Document ID: 13565