Intel® IXP400 Software

Access-Layer Components: Ethernet Access (IxEthAcc) API

9.5.1Port Initialization

Prior to any operation being performed on a port, the appropriate microcode must be downloaded to the NPE using the IxNpeDl component.

The IxEthAccPortInit() function initializes all internal data structures related to the port and checks that the port is present before initialization. The Port state remains disabled even after IxEthAccPortInit() has been called. The port is enabled using the IxEthAccPortEnable() function.

The number of Ethernet ports supported on the processor varies by processor model or variant. The definition and enumeration of port IDs are defined in IxEthDB. See Table 19 for more specific information.

9.5.2Ethernet Frame Transmission

The Ethernet access component provides a mechanism to submit frames with a relative priority to be transmitted on a specific Ethernet MAC. Once the IX_OSAL_MBUF is no longer required by the component, it is returned from the Ethernet access component via a free buffer callback mechanism. The flow of Ethernet frame transmission is shown in Figure 49.

Figure 49. Ethernet Transmit Frame API Overview

1.IxNpeDlNpeInitAndStart (ImageID)

2.IxEthAccPortInit (portId)

3.IxEthAccPortTxDoneCallbackRegister (portID, callbackfn, callbacktag)

4.IxEthAccPortEnable (portId)

5.IxEthAccPortTxFrameSubmit

(portID, ixp_buf *, priority)

Tx

Data Client

7.(* IxEthAccPortTxDoneCallback)(port, ixp_buf *)

IxEthAcc

ixp_buf queued for transmission

ixp_buf no longer required

Transmit

6.

B2363-03

9.5.2.1Transmission Flow

1.Proper NPE images must be downloaded to the NPEs and initialized.

2.The transmitting port must be initialized.

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

134

Document Number: 252539, Revision: 007

 

Page 134
Image 134
Intel IXP400 manual Port Initialization, Ethernet Frame Transmission, Transmission Flow