Intel® IXP400 Software

Access-Layer Components: ATM Driver Access (IxAtmdAcc) API

Table 7. IXP_BUF Fields Modified During Reception (Sheet 2 of 2)

Fields

Description

 

 

ix_flags

Not used.

 

 

ix_reserved

Not used.

 

 

pkt.rcvif

Not used.

 

 

pkt.len

Not used.

 

 

4.5.4.3Buffer-Size Constraints

Any IXP_BUF size can be transmitted, but a full PDU must be a multiple of a cell size (48/

52bytes, depending on AAL type). Similarly, the system can receive and chain IXP_BUFs that are a multiple of a cell size.

When receiving and transmitting AAL PDUs, the overall packet length is indicated in the first IXP_BUF header. For AAL 5, this length includes the AAL-5 PDU padding and trailer.

Buffers with an incorrect size are rejected by IxAtmDAcc functions.

4.5.4.4Buffer-Chaining Constraints

IXP_BUFs can be chained to build PDUs up to 64 Kbytes of data plus overhead. The number of IXP_BUFs that can be chained is limited to 256 per PDU.

To submit a PDU for transmission, the client needs to supply a chained IXP_BUF. When receiving a PDU, the client gets a chained IXP_BUF.

Similarly, the interface to replenish the Rx-queuing system and supporting the Tx-done feature are based on unchained IXP_BUFs.

4.5.5Error Handling

4.5.5.1API-Usage Errors

The AtmdAcc component detects the following misuse of the API:

Inappropriate use of connection IDs

Incorrect parameters

Mismatches in the order of the function call — for example, using start() after disconnect()

Use of resources already allocated for an other VC — for example, port/VPI/VCI

Error codes are reported as the return value of a function API.

The AAL client is responsible for using its own reporting mechanism and for taking the appropriate action to correct the problem.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

69

Page 69
Image 69
Intel IXP400 manual Error Handling, Buffer-Size Constraints, Buffer-Chaining Constraints, API-Usage Errors