Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Ethernet Access (IxEthAcc) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 147
9.6.1.7 NPE Loopback
Two functions are provided that enable or disable NPE-level Ethernet loopback for the NPE ports.
This is useful for troubleshooting the data path.
ixEthMiiPhyLoopbackEnable() configures the
PHY to operate in loopback mode, while
ixEthAccNpeLoopbackEnable() can be used to test the
capability of the Ethernet MAC coprocessor to loopback traffic.
9.6.1.8 Emergency Security Port Shutdown
Several functions are provided that may be used by an application to immediately shut down the Tx
and/or Rx data path. The normal procedure is to gracefully shut down a port using the
ixEthAccPortDisable() function, which will drain any traffic remaining in the Ethernet Tx or Rx
queues prior to disabling the port. The
ixEthAccPortRxDisable() and ixEthAccPortTxDisable()
immediately disable the Ethernet MAC interface. These functions may be useful if a client
application detects a security issue with some Ethernet traffic and needs to terminate any frames
that may be in-process.
There are corresponding functions to re-enable the Ethernet MAC coprocessors and reset the NPE
core, but recovery from an Emergency Security Port Shutdown is not guaranteed.
9.7 Initialization
IxEthAcc is dependent upon IxEthDB and provides for most of its initialization.The general
initialization order for the Ethernet subsystem is as follows:
1. Initialize IxNpeMh, OSAL, IxQMgr.
2. Download the appropriate NPE microcode images, using IxNpeDl.
3. Configure IxEthDB.
a. define IxEthDBPortDefs, if necessary.
b. confirm capabilities and enable appropriate features using ixEthDBFeature*() functions. It
may be required to enable ports within IxEthDB using ixEthDBPortInit and ixEthDBPortE-
nable at this time. A specific example of this is that if the VLAN/QoS feature set is to be
enabled, it must be done at this time.
4. Initialize IxEthAcc.
5. Initialize each port, and then configure port MAC addresses, PHY characteristics, etc., using
IxEthAcc.
6. Enable traffic flow with ixEthAccPortEnable().
7. Manage Ethernet subsystem features (firewall, VLAN/QoS, Learning/Filtering, etc.) using
IxEthDB functions.
9.8 Shared Data Structures
The following section describes the data structures that are shared by the NPE Ethernet firmware
and the Intel XScale core client software (such as IxEthAcc, IxEthDB, and Ethernet device
drivers). These data structures are used to pass information from the Intel XScale core to the NPE
or from the NPE to the Intel XScale core. Some data structures serve to pass data in both directions.