Intel IXP1200 manual Sram Buffer Descriptors and Dram Data Buffers, 2 3 4 5 6 7 8

Page 38

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

Figure 25. IP Route Table Entry - ATM Destination

0 1 2 3 4 5 6 7 8 9

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

3

3

Bytes ->

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

ATM Bit +

Queue

MTU

Index

 

 

ATM

Header

IP Dest

IP Mask

IP

Gateway

LLC High LLC Low

Entry

Description

 

 

ATM bit + MTU

0x80000000 MTU

 

 

Queue Index

queue index (16 bits)

 

 

ATM Header

ATM header for this VC, sans PTI bits

 

 

IP Dest

IP destination address (32 bits)

 

 

IP mask

IP subnet mask (32 bits)

 

 

IP Gateway

IP next hop gateway (32 bits)

 

 

LLC High

upper 32 bits of LLC/SNAP header

 

 

LLC Low

lower 32 bits of LLC/SNAP header

 

 

Figure 26. IP Route Table Entry - Ethernet Destination

0 1 2 3 4 5 6 7 8 9

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

3

3

Bytes ->

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

ITF

MAC DA

(0-3)

0

MAC DA (4,5)

IP Dest

IP Mask

IP

Gateway

MAC SA (0-3)

MAC SA (4,5)

MTU

Entry

Description

 

 

ITF

Output interface (32 bits).

 

 

MAC DA 0-3

Upper 32 bits of the destination MAC address.

 

 

MAC DA 4-5

Lower 16 bits of the destination MAC address.

 

 

IP Dest

IP destination address (32 bits).

 

 

IP Mask

IP subnet mask (32 bits)

 

 

IP Gateway

IP next hop gateway (32 bits).

 

 

MAC SA 0-3

Upper 16 bits of this gateway’s source MAC address.

 

 

MAC SA (4,5)

Lower 32 bits of this gateway’s source MAC address.

 

 

MTU

Maximum packet size.

 

 

4.4SRAM Buffer Descriptors and DRAM Data Buffers

SRAM Buffer Descriptors and DRAM Data Buffers are a fundamental component of this design. Each descriptor occupies 16 bytes of SRAM, and is used as a handle to describe and manage the buffer. Each data buffer occupies 2K bytes of DRAM and holds the PDU payloads.

38

Application Note

Modified on: 3/20/02,

Image 38
Contents IXP1200 Network Processor Family Application Note Contents Virtual Circuit Lookup Table Cache Limitations Figures Scope of Example Design IntroductionPurpose of ATM Example Design Supported / Not Implemented Functions Configuration DescriptionBackground Ethernet, IP and AAL5 Protocol ProcessingFrame and PDU Length vs. IP Packet Length SARExpected Ethernet Transmit Bandwidth Frame and PDU Length vs. IP Packet LengthExecution Environment SoftwareDeveloper’s Workbench ATM Data Stream Dialog Box Hardware System OverviewSystem Programming Model StrongARM Core Software System Programming ModelSoftware Partitioning ATM TXLookup Tables VC Lookup Data FlowATM to Ethernet Data Flow IP Lookup Table ATM to Ethernet Processing StepsStrongARM Core Initialization Ethernet to ATM Data FlowATM Receive Microengine Microengine Functional BlocksMicroengine Initialization StructureHigh Level Algorithm OC-12 Port OC-3 PortsATM Transmit Microengine ATM Transmit High Level AlgorithmIP-Router Microengine Ethernet Receive MicroengineEthernet Receive High Level Algorithm Ethernet Transmit MicroengineEthernet Receive Structure CRC-32 Hardware Checking on Receive CRC-32 Calculations using IXP1240/1250 HardwareEthernet Transmit Structure Bytes Big Endian Diagram First Cell of a PDU in Rfifo and in DramCRC-32 Hardware Generation on Transmit Transmit AlignmentCRC-32 Checker and Generator Microengines Soft-CRC Functional Differences between Checker and GeneratorCRC-32 Checker and Generator High Level Algorithm Software Subsystems & Data StructuresVirtual Circuit Lookup Table atmvctable.uc CRC-32 ComputationVctablehashed Structure Vctablelinear Structure Primary VC TableVC Table Management API atmutils.c VC Table EntryCell data11 Entry Description Entry DescriptionBuffer Offset Buffer Index Virtual Circuit Lookup Table Cache VC Cache Function 1.1 OC-12 Configuration1.2 OC-3 Configuration VC Cache StructureIP Table Function IP Lookup TableVC Cache API IP Table StructureMtuchange IP Table Management APIRoutetableinit AtmrouteaddRoutedelete EnetrouteaddRtentinfo RthelpSram Buffer Descriptors and Dram Data Buffers 2 3 4 5 6 7 8ATM Header Entry Description Sram Buffer Descriptor FormatNext BD Last Quad Queue Index 2 3 4 Dram Data Buffer Format2 3 4 5 6 7 8 Bytes Enet SrcAdrSequencehandle Usage Sequence Numbers sequence.ucSystem Limit on Packet Buffers API Call DescriptionExample Message Queues msgq.ucUsage Model Step Sequence Operation Bakery Line AnalogyMsgqinitregs Msgqhandle ParametersMsgqinitqueue MsgqsendMsgqreceive RamoptionBuffer Descriptor Queues bdq.uc 1.1 FeaturesFeature Description BDQ Management MacrosCounters CountCounter Base Address Global ParametersUse of the Counter Subsystem Counter Index#define Statement Description Global Counter Enable and FlagsCounter Flags Counter Group DescriptionPortcounterinc Counters.uc CounterresetCounterinc Portcounterinc Algorithm IntotaldiscardsCounters.c Countersinit CountersprintGlobal $transfer Register Name Manager xfer.uc AtmtxcrcbadbdMutexvectorenter Mutex VectorsMutexvectorinit MutexvectorexitProjectconfig.h Project Configuration / Modifying the Example DesignInter-Thread Signalling Switching Between Hardware Configurations Testing EnvironmentsSystemconfig.h Extending the Example Design Simulation Support Scripts, etcLimitations Byte Document ConventionsAcronyms & Definitions 10 11 12 13 14 15 16 ... BytesRelated Documents Title Description