Intel IXP400 manual Initialization, Shared Data Structures, NPE Loopback

Models: IXP400

1 364
Download 364 pages 16.67 Kb
Page 147
Image 147

Intel® IXP400 Software

Access-Layer Components: Ethernet Access (IxEthAcc) API

9.6.1.7NPE 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.8Emergency 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.7Initialization

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.8Shared 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.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

147

Page 147
Image 147
Intel IXP400 manual Initialization, Shared Data Structures, NPE Loopback, Emergency Security Port Shutdown