Intel IXP1200 manual Enetrouteadd, Rtentinfo, Routedelete, Rthelp, IP Route Table Entry

Page 37

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

4.3.3.4enet_route_add()

Adds a route with Ethernet destination to the route table.

enet_route_add(char *dest, char *netmask, char *gateway, int itf, int

gateway_da_hi32, int gateway_da_lo16,int gateway_sa_hi16, int gateway_sa_lo32)

Parameter

Description

 

 

char *dest

String IP destination, e.g. "1.1.1.1"

 

 

char *netmask

String netmask, e.g., "255.255.0.0"

 

 

char *gateway

String next hop gateway, e.g., "255.255.0.0"

 

 

int itf

Physical interface id (outputport number).

 

 

int gateway_da_hi32

High 32 bits of the MAC destination address.

 

 

int gateway_da_lo16

Low 16 bits of the MAC destination address.

 

 

int gateway_sa_hi16

High 32 bits of the MAC source address.

 

 

int gateway_sa_lo32

Low 16 bits of the MAC source address.

 

 

4.3.3.5rt_ent_info()

Displays the available route table information for a given destination address.

rt_ent_info(char *destination)

Parameter

Description

 

 

destination

The destination address, in dotted decimal form, of the route entry to display.

 

 

4.3.3.6route_delete()

Deletes a route from the route table.

route_delete(char *dest, char *netmask)

Parameter

Description

 

 

dest

String IP destination, e.g. "1.1.1.1"

 

 

netmask

String netmask, e.g., "255.255.0.0"

 

 

4.3.3.7rt_help ()

Outputs a list of command line RTM functions.

4.3.4IP Route Table Entry

The IP lookup table entries reside in DRAM. The same table is used for both ATM and Ethernet destinations. The ATM and Ethernet Receive threads call the macro route_lookup() to obtain an index in the route table to the table entry. If the ITF field contains the ATM port type bit (0x80000000), then the entry is interpreted as an ATM destination, otherwise it is an Ethernet destination.

Application Note

37

Modified on: 3/20/02,

Image 37
Contents IXP1200 Network Processor Family Application Note Contents Virtual Circuit Lookup Table Cache Limitations Figures Purpose of ATM Example Design IntroductionScope of Example Design Background Configuration DescriptionSupported / Not Implemented Functions Ethernet, IP and AAL5 Protocol ProcessingSAR Frame and PDU Length vs. IP Packet LengthFrame and PDU Length vs. IP Packet Length Expected Ethernet Transmit BandwidthSoftware Execution EnvironmentDeveloper’s Workbench ATM Data Stream Dialog Box System Programming Model System OverviewHardware System Programming Model StrongARM Core SoftwareATM TX Software PartitioningLookup Tables ATM to Ethernet Data Flow Data FlowVC Lookup ATM to Ethernet Processing Steps IP Lookup TableEthernet to ATM Data Flow StrongARM Core InitializationMicroengine Initialization Microengine Functional BlocksATM Receive Microengine StructureOC-12 Port OC-3 Ports High Level AlgorithmATM Transmit High Level Algorithm ATM Transmit MicroengineEthernet Receive Microengine IP-Router 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 First Cell of a PDU in Rfifo and in Dram Bytes Big Endian DiagramTransmit Alignment CRC-32 Hardware Generation on TransmitFunctional Differences between Checker and Generator CRC-32 Checker and Generator Microengines Soft-CRCVirtual Circuit Lookup Table atmvctable.uc Software Subsystems & Data StructuresCRC-32 Checker and Generator High Level Algorithm CRC-32 ComputationVctablehashed Structure Primary VC Table Vctablelinear StructureVC Table Entry VC Table Management API atmutils.cBuffer Offset Buffer Index Entry DescriptionCell data11 Entry Description 1.2 OC-3 Configuration VC Cache Function 1.1 OC-12 ConfigurationVirtual Circuit Lookup Table Cache VC Cache StructureVC Cache API IP Lookup TableIP Table Function IP Table StructureRoutetableinit IP Table Management APIMtuchange AtmrouteaddRtentinfo EnetrouteaddRoutedelete Rthelp2 3 4 5 6 7 8 Sram Buffer Descriptors and Dram Data BuffersNext BD Last Quad Queue Index Sram Buffer Descriptor FormatATM Header Entry Description 2 3 4 5 6 7 8 Bytes Dram Data Buffer Format2 3 4 Enet SrcAdrSystem Limit on Packet Buffers Sequence Numbers sequence.ucSequencehandle Usage API Call DescriptionUsage Model Message Queues msgq.ucExample Step Sequence Operation Bakery Line AnalogyMsgqinitqueue Msgqhandle ParametersMsgqinitregs MsgqsendRamoption MsgqreceiveFeature Description 1.1 FeaturesBuffer Descriptor Queues bdq.uc BDQ Management MacrosCount CountersUse of the Counter Subsystem Global ParametersCounter Base Address Counter IndexCounter Flags Global Counter Enable and Flags#define Statement Description Counter Group DescriptionCounterinc Counters.uc CounterresetPortcounterinc Intotaldiscards Portcounterinc AlgorithmCountersprint Counters.c CountersinitAtmtxcrcbadbd Global $transfer Register Name Manager xfer.ucMutexvectorinit Mutex VectorsMutexvectorenter 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 Acronyms & Definitions Document ConventionsByte 10 11 12 13 14 15 16 ... BytesTitle Description Related Documents