IXP1200 Network Processor Family ATM OC-3/12/Ethernet IP Router Example Design
Application Note 55
Modified on: 3/20/02,
// Define DEBUG to enable all the counters and run-time checking.
// Disable for maximum performance.
// #define DEBUG
// Define COUNTERS_ENABLE_MASK to all 1’s to enable every system counter.
// Otherwise its default is set in system_config.h
// #define COUNTERS_ENABLE_MASK0xFFFFFFFF
// Define ATM_LOOPBACK to allow hardware configurations with ATM outputs
// connected directly to ATM inputs -- either via board loopback jumper
// or external loopback cable. Normally the design would discard
// an IP packet received on ATM with an IP destination on an ATM port.
// ATM_LOOPBACK simply forwards it to the next ethernet port.
#define ATM_LOOPBACK
// Define ETHERNET_LOOPBACK to allow routing packets from Ethernet
// Receive to Ethernet Transmit. Otherwise packets received on
// Ethernet ports with Ethernet destinations will be discarded.
// Useful for equipment check-out in the lab.
// #define ETHERNET_LOOPBACK
// Define RFC1812 to enable all the required router tests under spec RFC1812
// on ethernet to ethernet and ATM to ethernet traffic.
#define RFC1812

5.2 system_config.h

The system_config.h header file is used to define ATM headers, counters, and other settings. The
projects README.txt file should be consulted for more detail.

5.3 Switching Between Hardware Configurations

As detailed in the README.txt file, the project source code comes with three sub-projects, one for
each of the configurations shown above. All of the project source code is shared by the three
projects, except for the three files that are necessary to distinguish the hardware configurations -
atm_ether.dwp, atm_ether.dwo, and project_config.h. Additional projects can be built from the
same source tree by simply copying and modifying the closest sub-project and its three unique
files.
The software-CRC configuration can run on any version of the IXP12xx hardware. However, the
hardware-CRC configurations depend on the IXP1240 or greater (CHIP_ID >= 6). OC-3 and OC-
12 configurations require different versions of the WAN daughter card (the OC-12 requires a
modified OC-3 daughter card).
6.0 Testing Environments
In simulation, this project was tested with IXA SDK V2.01 Development Environment on
Windows 2000. On hardware, it has been tested with VxWorks Tornado 2.1, on the IXDP1240
Advanced Development Platform.