Intel IXP1200 manual Virtual Circuit Lookup Table Cache

Page 4

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

 

 

3.7.2 CRC-32 Checker and Generator High Level Algorithm

29

 

 

3.7.3

CRC-32 Computation

29

4.0

Software Subsystems & Data Structures

29

 

4.1

Virtual Circuit Lookup Table - atm_vc_table.uc

29

 

 

4.1.1

VC Table Function

29

 

 

4.1.2

VC_TABLE_HASHED Structure

30

 

 

4.1.3

VC_TABLE_LINEAR Structure

31

 

 

4.1.4 VC Table Management API - atm_utils.c

32

 

 

4.1.5

VC Table Entry

32

 

4.2

Virtual Circuit Lookup Table Cache

34

 

 

4.2.1

VC Cache Function

34

 

 

 

4.2.1.1

OC-12 Configuration

34

 

 

 

4.2.1.2

OC-3 Configuration

34

 

 

4.2.2

VC Cache Structure

34

 

 

4.2.3

VC Cache API

35

 

4.3

IP Lookup Table

35

 

 

4.3.1

IP Table Function

35

 

 

4.3.2

IP Table Structure

35

 

 

4.3.3 IP Table Management API

36

 

 

 

4.3.3.1 route_table_init()

36

 

 

 

4.3.3.2 mtu_change()

36

 

 

 

4.3.3.3 atm_route_add()

36

 

 

 

4.3.3.4 enet_route_add()

37

 

 

 

4.3.3.5 rt_ent_info()

37

 

 

 

4.3.3.6

route_delete()

37

 

 

 

4.3.3.7 rt_help ()

37

 

 

4.3.4 IP Route Table Entry37

 

 

4.4

SRAM Buffer Descriptors and DRAM Data Buffers

38

 

 

4.4.1 SRAM Buffer Descriptor Format

39

 

 

4.4.2 DRAM Data Buffer Format

40

 

 

4.4.3 System Limit on Packet Buffers

41

 

4.5

Sequence Numbers - sequence.uc

41

 

 

4.5.1

SEQUENCE_HANDLE Usage

41

 

 

4.5.2

Usage Model

42

 

 

 

4.5.2.1 Example

42

 

4.6

Message Queues - msgq.uc

42

 

 

4.6.1

MSGQ_HANDLE Parameters

43

 

 

4.6.2 msgq_init_queue()

43

 

 

4.6.3 msgq_init_regs()

43

 

 

4.6.4

msgq_send()

43

 

 

4.6.5

msgq_receive()

44

 

 

4.6.6

Example

44

 

4.7

Buffer Descriptor Queues - bdq.uc

45

 

 

4.7.1

BDQ Management Macros

45

 

 

 

4.7.1.1

Features

45

 

 

 

4.7.1.2

Limitations

45

 

4.8

Counters

46

 

 

4.8.1

Global Parameters

47

 

 

4.8.2 Use of the Counter Subsystem

47

 

 

 

4.8.2.1 Counter Base Address

47

iv

Application Note

Image 4
Contents IXP1200 Network Processor Family Application Note Contents Virtual Circuit Lookup Table Cache Limitations Figures Purpose of ATM Example Design IntroductionScope of Example Design Configuration Description BackgroundSupported / Not Implemented Functions 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 System Programming Model System OverviewHardware StrongARM Core Software System Programming ModelSoftware Partitioning ATM TXLookup Tables ATM to Ethernet Data Flow Data FlowVC Lookup IP Lookup Table ATM to Ethernet Processing StepsStrongARM Core Initialization Ethernet to ATM Data FlowMicroengine Functional Blocks Microengine InitializationATM Receive Microengine StructureHigh Level Algorithm OC-12 Port OC-3 PortsATM Transmit Microengine ATM Transmit High Level AlgorithmIP-Router Microengine Ethernet Receive MicroengineEthernet Receive Structure Ethernet Transmit MicroengineEthernet Receive High Level Algorithm Ethernet Transmit Structure CRC-32 Calculations using IXP1240/1250 HardwareCRC-32 Hardware Checking on Receive 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 GeneratorSoftware Subsystems & Data Structures Virtual Circuit Lookup Table atmvctable.ucCRC-32 Checker and Generator High Level Algorithm CRC-32 ComputationVctablehashed Structure Vctablelinear Structure Primary VC TableVC Table Management API atmutils.c VC Table EntryBuffer Offset Buffer Index Entry DescriptionCell data11 Entry Description VC Cache Function 1.1 OC-12 Configuration 1.2 OC-3 ConfigurationVirtual Circuit Lookup Table Cache VC Cache StructureIP Lookup Table VC Cache APIIP Table Function IP Table StructureIP Table Management API RoutetableinitMtuchange AtmrouteaddEnetrouteadd RtentinfoRoutedelete RthelpSram Buffer Descriptors and Dram Data Buffers 2 3 4 5 6 7 8Next BD Last Quad Queue Index Sram Buffer Descriptor FormatATM Header Entry Description Dram Data Buffer Format 2 3 4 5 6 7 8 Bytes2 3 4 Enet SrcAdrSequence Numbers sequence.uc System Limit on Packet BuffersSequencehandle Usage API Call DescriptionMessage Queues msgq.uc Usage ModelExample Step Sequence Operation Bakery Line AnalogyMsgqhandle Parameters MsgqinitqueueMsgqinitregs MsgqsendMsgqreceive Ramoption1.1 Features Feature DescriptionBuffer Descriptor Queues bdq.uc BDQ Management MacrosCounters CountGlobal Parameters Use of the Counter SubsystemCounter Base Address Counter IndexGlobal Counter Enable and Flags Counter Flags#define Statement Description Counter Group DescriptionCounterinc Counters.uc CounterresetPortcounterinc Portcounterinc Algorithm IntotaldiscardsCounters.c Countersinit CountersprintGlobal $transfer Register Name Manager xfer.uc AtmtxcrcbadbdMutex Vectors MutexvectorinitMutexvectorenter MutexvectorexitInter-Thread Signalling Project Configuration / Modifying the Example DesignProjectconfig.h Systemconfig.h Testing EnvironmentsSwitching Between Hardware Configurations Limitations Simulation Support Scripts, etcExtending the Example Design Document Conventions Acronyms & DefinitionsByte 10 11 12 13 14 15 16 ... BytesRelated Documents Title Description