IXP1200 Network Processor Family ATM OC-3/12/Ethernet IP Router Example Design

Quadwords 1-5 are transferred by an sdram_crc[r_fifo_rd, 5] instruction. Quadword 6 contains "Data 11" -- the eleventh 32-bit longword of the cell. Data 11 is stored in the VC table entry to be consumed when the next cell in this PDU arrives. When the first cell is also the last cell (for example, for a single-cell-PDU), Data11 contains the CRC-32 of the AAL5 trailer, and it is compared to the one’s complement of the computed CRC syndrome.

Figure 16. First Cell of a PDU in RFIFO and in DRAM

 

0

1

2

 

3

4

5

6

7

Bytes -> (Big Endian Diagram)

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

ATM Header

 

 

 

LLC0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

LLC1

 

 

 

 

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

7

 

7

7

 

7

 

8

8

 

8

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

9

 

9

9

 

9

 

10

10

 

10

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

11

 

11

11

 

11

 

-

-

 

-

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This design can actually skip the first RFIFO->DRAM transfer because LLC0 is constant on the first cell and it is explicitly compared with the LLC0 value in the microengine. After a successful compare, it is stripped from the packet. With the following optimization enabling definition,, the CRC computation begins with LLC1 using the syndrome that would result from CRC over LLC0 (with the initial configuration, it is enabled by default):

#define CRC32_RX_LLC0

The algorithm for transferring the nth cell of a PDU is slightly different than that for moving the first cell - as illustrated in Figure 17.

Figure 17. Two-Cell PDU in DRAM

 

0

1

2

3

4

5

6

7 Bytes -> (Big Endian Diagram)

 

 

 

 

 

 

 

 

 

 

0

ATM Header

 

LLC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

LLC

 

 

 

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

7

7

7

7

8

8

8

8

 

 

 

 

 

 

 

 

 

 

 

5

9

9

9

9

10

10

10

10

 

 

 

 

 

 

 

 

 

 

 

6

11

11

11

11

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

7

1

1

1

1

2

2

2

2

 

 

 

 

 

 

 

 

 

 

 

8

3

3

3

3

4

4

4

4

 

 

 

 

 

 

 

 

 

 

 

9

5

5

5

5

6

6

6

6

 

 

 

 

 

 

 

 

 

 

 

10

7

7

7

7

8

8

8

8

 

 

 

 

 

 

 

 

 

 

 

11

9

9

9

9

AAL5*

 

 

 

 

 

 

 

 

 

 

 

 

 

12

CRC32*

 

 

-

-

-

-

 

 

 

 

 

 

 

 

 

 

 

Looking at the quadword on the row labeled 6:

The four bytes labeled ’11’make up the longword ’data11’from the first cell. The four bytes labeled ’0’make up the longword ’data0’from the second cell.

26

Application Note

Modified on: 3/20/02,

Page 26
Image 26
Intel IXP1200 manual First Cell of a PDU in Rfifo and in Dram, Bytes Big Endian Diagram