Manual Intel IXP400

364 pages 2.45 mb
Download

Go to site of 364

Summary
  • Intel IXP400 - page 1

    Document Number: 252539 , Revision: 007 Intel ® IXP400 Software Programmer’s Guide April 2005 ...

  • Intel IXP400 - page 2

    April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 2 Document Number: 252539 , Revisio n: 007 Intel ® IXP400 Software INFORMA TION IN THIS DOCUMENT IS PROVIDED IN CO NNECTION WITH INTE L ® PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LI ABILITY WHA TSOEVER, AND INTEL DISCL ...

  • Intel IXP400 - page 3

    Intel ® IXP400 Software Content s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 Contents 1 Introduction . ................ ............. ................ ............. ................ ............. ................ ............. .......... ... 19 1.1 Versions Supported by this Document ...... ...

  • Intel IXP400 - page 4

    Intel ® IXP400 Software Content s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 4 Document Number: 252539 , Revisio n: 007 4.5.1 Scheduled Transmission ...... ................ ................. ................ ............. ................ ... 58 4.5.1.1 Schedule Table Description ............... .... ... ... ............. ... ... ...

  • Intel IXP400 - page 5

    Intel ® IXP400 Software Content s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 7 Access-L ayer Componen ts: Security (IxCryptoAcc) API .. ............. ................ ............. ................ ............. ................ ............. ... 87 7.1 What’s New .................. ..... ...

  • Intel IXP400 - page 6

    Intel ® IXP400 Software Content s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 6 Document Number: 252539 , Revisio n: 007 8.6.1 IxDmaAccDescriptorManager ................... ............. ................ ............. ................ . 118 8.7 Parameters Description ........ .... ... ... ... ............. ... .... ... ... ... ... ...

  • Intel IXP400 - page 7

    Intel ® IXP400 Software Content s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 9.9 Management Information ....... ................ ................ ............. ................ ................ ............. . 152 10 Access-Laye r Co mponents: Ethernet Databa se (IxEthDB) API ..... ........ ...

  • Intel IXP400 - page 8

    Intel ® IXP400 Software Content s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 8 Document Number: 252539 , Revisio n: 007 12 Access-Layer Compone nts: Feature Control ( Ix FeatureCtrl) API ................. ............. ................ ............. ................ ............. . 183 12.1 What’s New........... ............... ...

  • Intel IXP400 - page 9

    Intel ® IXP400 Software Content s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 15 Access-Laye r Co mponents: NPE Message Handler (Ix NpeMh) API ................... ............. ................ ............. ................ ........ 225 15.1 What’s New ..... ............. ................ ...

  • Intel IXP400 - page 10

    Intel ® IXP400 Software Content s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 10 Document Nu mb e r: 252539 , Revision: 007 17.9 Threading.............. ................ ................ ............. ................. ................ ............. ......... ........ 2 52 17.10 Using the API ............... ... ... ... .......... ...

  • Intel IXP400 - page 11

    Intel ® IXP400 Software Content s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 20.4 IxTimeSyncAcc API Usage Scenarios ...... ................ ................ ............. ................ ........... 290 20.4.1 Polling for Transmit and Receive Time stamps ............ ................ ..... ...

  • Intel IXP400 - page 12

    Intel ® IXP400 Software Content s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 12 Document Nu mb e r: 252539 , Revision: 007 24.4.1 Backward Compatibility Module ......... ................ ............. ................ ............. ........ 316 24.4.2 Buffer Translation Modu le.. ............. ................ ............. ..... ...

  • Intel IXP400 - page 13

    Intel ® IXP400 Software Content s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 27.4.3 Silicon Endianness Controls ..................... ... ... .... ... ... ... ... .... ... ... ... .... ... ... ... ... .... .... 349 27.4.3.1 Hardware Switches ................... ... ... .... ... ... ... ... ...

  • Intel IXP400 - page 14

    Intel ® IXP400 Software Content s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 14 Document Nu mb e r: 252539 , Revision: 007 27 Basic IxCryptoAcc API Flow ................ ............. ... ............. ................ ............. ............. ............ .... 90 28 IxCryptoAcc API Call Process Fl ow for CCD Updates ......... ...

  • Intel IXP400 - page 15

    Intel ® IXP400 Software Content s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 77 Data Abort with No Parity Error . ................ ................. ............. ................ ................ ............... .. 243 78 Parity Error with No Data Abort ........... ................ ....... ...

  • Intel IXP400 - page 16

    Intel ® IXP400 Software Content s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 16 Document Nu mb e r: 252539 , Revision: 007 2 IX_MBUF Field Details ........... ............. ................ ................ ............. ................ ................ .... ...... 45 3 IX_MBUF to M_BLK Mapping ...................... ....... ... ...

  • Intel IXP400 - page 17

    Intel ® IXP400 Software Content s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 49 Default IEEE 1588 Hardware Assi st Block States upon Hardware /Software Reset ............. .... 287 50 IN, OUT, and SETUP Token Packet Format ....... ... ............. ................ ............. ........... ...

  • Intel IXP400 - page 18

    Intel ® IXP400 Software Content s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 18 Document Nu mb e r: 252539 , Revision: 007 Revision History Date Revision Description April 2005 007 Updated guide for IXP400 Software V ersion 2.0. Added: • Chapter 16, “Access-Layer Components: Parity Error Notifier (IxParityENAcc) AP I” • C ...

  • Intel IXP400 - page 19

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 19 Introduction 1 This chapter contains important inform ati on to help you learn about and use the Intel ® IX P4 00 Software v2.0 release. 1.1 V ersions Supported by this Document This programmer ’ s guide is intended to ...

  • Intel IXP400 - page 20

    Intel ® IXP400 Software Introduction April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 20 Document Nu mb e r: 252539 , Revision: 007 1.4 How to Use this Document This programmer ’ s guide is organized as follows: For the developer int erested in a limi ted number of specific features of the IXP400 soft ware, a recommended reading proc ...

  • Intel IXP400 - page 21

    Intel ® IXP400 Software Introduction Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 21 The IXP4XX product line and IXC1 100 control plane processors have a unique distribu ted processing architecture th at features the performance of the Intel XScale ® Core and up to three Network Processor En ...

  • Intel IXP400 - page 22

    Intel ® IXP400 Software Introduction April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 22 Document Nu mb e r: 252539 , Revision: 007 1.7 Acronyms IEEE S t andard for a Precision Clock Sy nchronization Protocol for Networked Measurement and Control Systems (IEEE S td. 1588™ - 2002) ARM Ltd., AMBA Specification , Rev . 2.0, May 1999 – ...

  • Intel IXP400 - page 23

    Intel ® IXP400 Software Introduction Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 23 CPU Central Processing Unit CRC Cyclic Redundancy Check CSR Customer Software Release CTR Counter Mode DDR Double Data Rate DES Data Encryption S tandard DMT Discrete Multi-T one DOI Domain of Interpretation ...

  • Intel IXP400 - page 24

    Intel ® IXP400 Software Introduction April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 24 Document Nu mb e r: 252539 , Revision: 007 HSS High S peed Serial HSSI High S peed Serial Interface HW Hardware IAD Integrated Access Device ICV Integrity Check V alue IKE Internet Key Exchange IMA Inverse Multiplexing over A TM IP Internet Protoco ...

  • Intel IXP400 - page 25

    Intel ® IXP400 Software Introduction Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 25 MSB Most Significant Bit MVIP Multi-V endor Integration Protocol MxU Multi-dwelling Unit NAK Not-Acknowledge Packet NAPT Network Address Port Translation NA T Network Address T ra nslation NE Nearly Empty NF ...

  • Intel IXP400 - page 26

    Intel ® IXP400 Software Introduction April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 26 Document Nu mb e r: 252539 , Revision: 007 SIP Session Initiation Protocol SNMP Simple Network Management Protocol SOF S tart of Frame SPHY Single PHY SSL Secure Socket Layer SSP Synchronous Serial Port SVC Switched Virtual Connection SWCP Switchin ...

  • Intel IXP400 - page 27

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 27 Software Architecture Overview 2 2.1 High-Level Overview The primary design principles of the Intel ® IXP400 Software v2.0 arch itecture are to enable the supported processors’ hardware in a manner whic h allow s maxim ...

  • Intel IXP400 - page 28

    Intel ® IXP400 Software Sof tware Architec ture Overview April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 28 Document Nu mb e r: 252539 , Revision: 007 2.2 Deliverable Model Intel ® IXP400 Software v2.0 co nsists of these elements: • Intel ® IXP400 Software v2.0 access-layer components and OSAL layer • Complete documentatio n and ...

  • Intel IXP400 - page 29

    Intel ® IXP400 Software Sof tware Architec ture Overview Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 29 2.3 Operating System Support The Intel XScale microarchitecture offers a broad range of tools together with sup port for two widely adopted operating systems. The software release 2.0 supp ...

  • Intel IXP400 - page 30

    Intel ® IXP400 Software Sof tware Architec ture Overview April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 30 Document Nu mb e r: 252539 , Revision: 007 2.6 Release Directory S tructure The software release 2.0 includes the following directory structure: ---ixp_osal +---doc (API References in HTML and PDF format) +---include +---os +- ...

  • Intel IXP400 - page 31

    Intel ® IXP400 Software Sof tware Architec ture Overview Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 31 +---cryptoAcc (for crypto version only) +---dmaAcc +---ethAcc | ---include +---ethDB | ---include +---ethMii +---featureCtrl +---hssAcc | ---include +---i2c +---include (header location ...

  • Intel IXP400 - page 32

    Intel ® IXP400 Software Sof tware Architec ture Overview April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 32 Document Nu mb e r: 252539 , Revision: 007 2.7 Threading and Locking Policy The software release 2.0 access-layer does not impl ement processes or thr eads. The architecture assumes execution w ithin a preempti ve multi-tasking ...

  • Intel IXP400 - page 33

    Intel ® IXP400 Software Sof tware Architec ture Overview Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 33 2.10 Global Dependency Chart Figure 2 shows the interdepende ncies for the maj or APIs discu ssed in this document. Figure 2. Global Dependencies EthAcc EthDB EthMi i IxOS AL NpeDl NpeMh F ...

  • Intel IXP400 - page 34

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 34 Document Nu mb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 35

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 35 Buf fer Management 3 This chapter describes the data buf fer system used in Intel ® IXP400 Software v2.0, and includes definitions of the IXP400 software internal memory buffers, cache management strategies, and other re ...

  • Intel IXP400 - page 36

    Intel ® IXP400 Software Buffer Management April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 36 Document Nu mb e r: 252539 , Revision: 007 The access-layer component may call a client-registered callback functi on to return the buf fer , or may put the buffer back on a fr ee queue for the client to poll. The access-layer components utili ...

  • Intel IXP400 - page 37

    Intel ® IXP400 Software Buffer Management Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 37 The usual fields to be update d between the user and the IXP_ MBUF fields depends on the access- layer componen t , but mo st of th e In tel ® IXP400 Softw are API requires the use of followin g fields: ...

  • Intel IXP400 - page 38

    Intel ® IXP400 Software Buffer Management April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 38 Document Nu mb e r: 252539 , Revision: 007 3.3 IXP_BUF S tructure As shown in Figure 5 , IXP_BUF is comprised of the follow ing three main structures, and each structure is comprised of eight entries four bytes long. 1. The first structure con ...

  • Intel IXP400 - page 39

    Intel ® IXP400 Software Buffer Management Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 39 Figure 6. OSAL IXP_BUF structure and mac ros Depending upon the usage model, different software components use the stru ctures to update the internal fields of th e IXP_BUF structure. Figure 7 shows a ty ...

  • Intel IXP400 - page 40

    Intel ® IXP400 Software Buffer Management April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 40 Document Nu mb e r: 252539 , Revision: 007 Figure 7. API User Interface to IXP_BUF The Figure 8 shows a typical interface between the Intel ® IXP400 Softw are access- layer components and the IXP_BUF fields. The access-la yer components adapt ...

  • Intel IXP400 - page 41

    Intel ® IXP400 Software Buffer Management Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 41 Figure 9 below shows the interface between the OSAL pool management module and the pool management fields used for pool maintena nce. The pool manag ement field also stores the os_buf_ptr field, which is ...

  • Intel IXP400 - page 42

    Intel ® IXP400 Software Buffer Management April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 42 Document Nu mb e r: 252539 , Revision: 007 Linux utilizes memory structures called skbuf fs. The user allocates IXP_BUF and sets the data payload pointer to the skbuff payload pointer . An os_buf_ptr field inside the ixp_ctrl structure (define ...

  • Intel IXP400 - page 43

    Intel ® IXP400 Software Buffer Management Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 43 Figure 12. I XP_BUF: NPE Sha red Structure 3.4 Mapping of IX_MBUF to Shared St ructure The Figure 13 below shows an example case on how the IX_MBUF headers are in ternal ly mapp ed to the NPE shared stru ...

  • Intel IXP400 - page 44

    Intel ® IXP400 Software Buffer Management April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 44 Document Nu mb e r: 252539 , Revision: 007 Figure 13. Internal Mapping of IX_MBUF to the Shared NPE Structure 3.5 IX_MBUF S tructure Ta b l e 1 and Ta b l e 2 present IX_MBUF structure format and details. i x_next i x_next pkt i x_dat a ix _ l ...

  • Intel IXP400 - page 45

    Intel ® IXP400 Software Buffer Management Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 45 A set of macros are provided for the IXP400 software to access each of the fields in the buf fer structure. Each macro takes a sing le parameter – a pointer to the buffer itself. Each macro returns the ...

  • Intel IXP400 - page 46

    Intel ® IXP400 Software Buffer Management April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 46 Document Nu mb e r: 252539 , Revision: 007 3.6 Mapping to OS Native Buffer T ypes OSAL provides buffer-translation macros for user s to translate OS-speci fic buffer formats to OSAL IXP buffer format and vice versa. The mapping of OS buffer fi ...

  • Intel IXP400 - page 47

    Intel ® IXP400 Software Buffer Management Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 47 Note that the M_BLK structure co ntains many fields that are n ot used by the IXP400 software. These fields are simply ignored and ar e not modified by the IXP400 software. M_BLK buffers support two leve ...

  • Intel IXP400 - page 48

    Intel ® IXP400 Software Buffer Management April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 48 Document Nu mb e r: 252539 , Revision: 007 It works on the following principles: • Each IXP_BUF is mapped to an skbuff (1:1 mapping) • The os_buf_ptr field of the ix_ctrl structure is used to store a pointer to the corresponding skbuff. ? ...

  • Intel IXP400 - page 49

    Intel ® IXP400 Software Buffer Management Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 49 3.7 Caching S trategy The general caching strategy in the IXP400 software architecture is th at the software (include Intel XScale core-based code an d NPE microcode) only concerns itself with the parts ...

  • Intel IXP400 - page 50

    Intel ® IXP400 Software Buffer Management April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 50 Document Nu mb e r: 252539 , Revision: 007 Tx Cache Flushing Example In the case of an Ethernet bridging system, only the user can determ ine that it is not necessary to flush any part of the packet payload. In a routing environment , the stac ...

  • Intel IXP400 - page 51

    Intel ® IXP400 Software Buffer Management Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 51 After the NPE modifies the memory , ensure that the Intel XScale core MMU cache is up-to-date by invalidating cached copies of any parts of the buf fe r memory that the Intel XScale core will need to rea ...

  • Intel IXP400 - page 52

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 52 Document Nu mb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 53

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 53 Access-Layer Components: A TM Driver Access (IxAtmdAcc) API 4 This chapter describes the In tel ® IXP400 Software v2.0’ s “A TM Driver-Access” access-layer component. 4.1 What’ s New There are no changes or enhan ...

  • Intel IXP400 - page 54

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 54 Document Nu mb e r: 252539 , Revision: 007 • Support AAL-0-52 PDU transmis sion service, which accepts PDUs containing an integral number of 52-by te cells for transm ission on a parti cular port a ...

  • Intel IXP400 - page 55

    Intel ® IXP400 Software Access-Layer Component s: A TM Driver Access (IxAtmdAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 55 These statistics include the number of cells r eceived, the number of cells receive with an incorrect cell size, the number of cells containing parity errors, t ...

  • Intel IXP400 - page 56

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 56 Document Nu mb e r: 252539 , Revision: 007 its own identifier known as a scheduler VcId. This cal lback also serves to allow the scheduling entity to ack nowledge the presence of VC. • Function to ...

  • Intel IXP400 - page 57

    Intel ® IXP400 Software Access-Layer Component s: A TM Driver Access (IxAtmdAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 57 • Check for A TM VC already in us e in an other Rx connection. • Check if the service type is OAM and, if so , check that the VC is the dedicated OAM-VC. ? ...

  • Intel IXP400 - page 58

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 58 Document Nu mb e r: 252539 , Revision: 007 — if the overall user application involves a port con figured with a VC supporting a very d ifferent traffic rate . This tuning is at the client’ s disc ...

  • Intel IXP400 - page 59

    Intel ® IXP400 Software Access-Layer Component s: A TM Driver Access (IxAtmdAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 59 this VC. In making this callback, ixAtm dAcc is also pro vid ing the AtmScheduler VC identifier that should be used when calling IxAtmdAcc for this VC. 4. The s ...

  • Intel IXP400 - page 60

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 60 Document Nu mb e r: 252539 , Revision: 007 4.5.2 T ransmission T riggers (Tx-Low Notification) In Scheduled Mode, the rate and exact point at which the ixAtmdAccTxP rocess() interface should be calle ...

  • Intel IXP400 - page 61

    Intel ® IXP400 Software Access-Layer Component s: A TM Driver Access (IxAtmdAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 61 Processing primarily involves hand ing back ownership of buffers to clients. The rate at which this is done must b e sufficient to ensure that client-b uffer st ...

  • Intel IXP400 - page 62

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 62 Document Nu mb e r: 252539 , Revision: 007 T ransmit Done — Based on Polling Mechanism A polling mechanism can be used in stead of the threshold service to trigger the recycling of the transmitted ...

  • Intel IXP400 - page 63

    Intel ® IXP400 Software Access-Layer Component s: A TM Driver Access (IxAtmdAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 63 1. The data client send s the last PDUs and the control client wants to disconnect the VC. IxAtmdAccTxVcDisconnect() i nvalidates fu rthe r attem pts to transm ...

  • Intel IXP400 - page 64

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 64 Document Nu mb e r: 252539 , Revision: 007 In order to receive a PDU, the c lient layer must allocate IXP_BUFs and pass their ownership to the IxAtmdAcc component. This proces s is known as replenish ...

  • Intel IXP400 - page 65

    Intel ® IXP400 Software Access-Layer Component s: A TM Driver Access (IxAtmdAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 65 1. A control client wants to use the threshol d services to process the received PDUs. The ixAtmdAccRxThresholdSet() function is called to register a callback. ...

  • Intel IXP400 - page 66

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 66 Document Nu mb e r: 252539 , Revision: 007 Received — Based on a Polling Mech anism A polling mechanism can also be used to collect received buf fers as shown in Figure 20 . 1. Cells are now receiv ...

  • Intel IXP400 - page 67

    Intel ® IXP400 Software Access-Layer Component s: A TM Driver Access (IxAtmdAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 67 1,2. The control client wants to disconnect the VC . IxAtmdAccRxVcDisconnect () tell IxAtmdAcc to discard any rx traffic and — if resources are st ill in use ...

  • Intel IXP400 - page 68

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 68 Document Nu mb e r: 252539 , Revision: 007 The IXP_BUF fields required for trans mission are desc ribed in Ta b l e 5 . These fields will not be changed during the Tx process. The IXP_BUF fields of a ...

  • Intel IXP400 - page 69

    Intel ® IXP400 Software Access-Layer Component s: A TM Driver Access (IxAtmdAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 69 4.5.4.3 Buffer-Size Constraint s Any IXP_BUF size can be transmitted, but a full PDU must be a multiple of a cell size (48/ 52 bytes, depending on AAL type). Si ...

  • Intel IXP400 - page 70

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Driver Access (IxAtmdAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 70 Document Nu mb e r: 252539 , Revision: 007 4.5.5.2 Real-T ime Errors Errors may occur duri ng real-time traf fic. Ta b l e 8 shows the different possible errors and the way to resolve them. T able 8. ...

  • Intel IXP400 - page 71

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 71 Access-Layer Components: A TM Manager (IxAtmm) API 5 This chapter describes the In tel ® IXP400 Software v2.0’ s “A TM Manager API” access-layer component. IxAtmm is an exampl e IXP400 software co mponent. The phra ...

  • Intel IXP400 - page 72

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Manager (IxAtmm) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 72 Document Nu mb e r: 252539 , Revision: 007 IxAtmm assumes that the client will s upply in itial upstream port rates once the capacity of each port is established. • Ensuring traffic shaping is perf ormed fo ...

  • Intel IXP400 - page 73

    Intel ® IXP400 Software Access-Layer Component s: A TM Manager (IxAtmm) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 73 5.5 A TM-Port Management Service Model IxAtmm can be considered an “A TM-port management authority .” It does not directly perform data movement, although it do es c ...

  • Intel IXP400 - page 74

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Manager (IxAtmm) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 74 Document Nu mb e r: 252539 , Revision: 007 Figure 22 shows the main serv ices prov ided by the IxAtmm component. In this diagram, the three services outlined are: • IXP4XX product line and IXC1100 control p ...

  • Intel IXP400 - page 75

    Intel ® IXP400 Software Access-Layer Component s: A TM Manager (IxAtmm) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 75 Further calls to IxAtmDAcc must be made by the client follo win g registration with Ix Atm m to fully enable data traffic on a VC. IxAtmm does not support the registrati ...

  • Intel IXP400 - page 76

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Manager (IxAtmm) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 76 Document Nu mb e r: 252539 , Revision: 007 information to the Ix Atm DAcc component, as requir ed to drive the transmit functio n. As a result, all data buffers in the system — once configured — will pass ...

  • Intel IXP400 - page 77

    Intel ® IXP400 Software Access-Layer Component s: A TM Manager (IxAtmm) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 77 5.7 Dependencies IxAtmm configures the IXP4XX product li ne and IX C1 100 control plane processors’ UTOPIA Level-2 device through an interface provided by the IxAtmdAc ...

  • Intel IXP400 - page 78

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM Manager (IxAtmm) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 78 Document Nu mb e r: 252539 , Revision: 007 5.1 1 Performance The IxAtmm does not operate on the data path of th e IXP4XX product lin e and IXC1 100 control plane processors. Because it is pr imarily concerned ...

  • Intel IXP400 - page 79

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 79 Access-Layer Components: A TM T ransmit Scheduler (IxAtmSch) API 6 This chapter describes the In tel ® IXP400 Software v2.0’ s “A TM Transmit Scheduler” (IxAtmSch) access-layer component. 6.1 What’ s New There ar ...

  • Intel IXP400 - page 80

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM T ransmit Scheduler (I xAtmSch) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 80 Document Nu mb e r: 252539 , Revision: 007 • Schedule table to the A TM transmit function that will contain informati on fo r A TM cell scheduling and shaping IxAtmSch implements a fully oper ...

  • Intel IXP400 - page 81

    Intel ® IXP400 Software Access-Layer Compo nent s: A TM T ransmit Scheduler ( IxAtmSch) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 81 6.4 Connection Admission Control (CAC) Function IxAtmSch makes outbo und virtual conn ection admission decisions based a simple A TM port reference model ...

  • Intel IXP400 - page 82

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM T ransmit Scheduler (I xAtmSch) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 82 Document Nu mb e r: 252539 , Revision: 007 6.5 Scheduling and T raffic Shaping 6.5.1 Schedule T able Once an A TM port is modeled and VCs are admitted on it, the client can request IxAtmSch to ...

  • Intel IXP400 - page 83

    Intel ® IXP400 Software Access-Layer Compo nent s: A TM T ransmit Scheduler ( IxAtmSch) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 83 The schedule table is composed of an array of table entries, each of which specifies a VC ID and a number of cells to transmit from that VC. The sche dul ...

  • Intel IXP400 - page 84

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM T ransmit Scheduler (I xAtmSch) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 84 Document Nu mb e r: 252539 , Revision: 007 The client calls the VC queue update interface wh enever the user of the VC submits cells for transmission. The structure of the VC queue update inter ...

  • Intel IXP400 - page 85

    Intel ® IXP400 Software Access-Layer Compo nent s: A TM T ransmit Scheduler ( IxAtmSch) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 85 Some function interfaces supplied by the IXP400 software component adhere to structure requirements specified by the Ix AtmdAcc component. However , no e ...

  • Intel IXP400 - page 86

    Intel ® IXP400 Software Access-Layer Co mponent s: A TM T ransmit Scheduler (I xAtmSch) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 86 Document Nu mb e r: 252539 , Revision: 007 6.9.1 Latency The transmit latency introduced by the IxAtm Sch compo nent into the overall transm it path of the processor will be zero under normal o ...

  • Intel IXP400 - page 87

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 87 Access-Layer Components: Security (IxCryptoAcc) API 7 This chapter describes the In tel ® IXP400 Software v2.0’ s “Secu rity API” IxCryptoAcc access- layer component. The Security Hardware Accelerator access compon ...

  • Intel IXP400 - page 88

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 88 Document Nu mb e r: 252539 , Revision: 007 —E C B — CBC — CTR (for AES algorithm only ) — Single-Pass AES-CCM encryption an d security for 802.1 1i. • Authentication algorithms: — HMAC-SHA1 (512 ...

  • Intel IXP400 - page 89

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 89 The Intel XScale cor e WEP Engine is a software-based “engine” for performing ARC4 and WEP ICV calculations used by WEP clien ts. While th is differs from the mod ...

  • Intel IXP400 - page 90

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 90 Document Nu mb e r: 252539 , Revision: 007 7.3.3 Context Registration an d the Cryptographic Context Dat abase The IxCryptoAcc access component su pports up to 1,000 simultaneo us security association (SA) ...

  • Intel IXP400 - page 91

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 91 The context-registration process cr eates the structures within the CCD, but the crypto context for each connection must be p reviously defined in an IxCrypt oAccCtx ...

  • Intel IXP400 - page 92

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 92 Document Nu mb e r: 252539 , Revision: 007 1. The proper NPE microcode images must be downloaded to the NPEs and initialized, if applicable. 2. IxCryptoAcc must be configured appropriately according to the ...

  • Intel IXP400 - page 93

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 93 8. IxCryptoAcc will return a context Id to the clien t ap plication upon successful context registration, and will call the Register Com plet e callback function. 7.3 ...

  • Intel IXP400 - page 94

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 94 Document Nu mb e r: 252539 , Revision: 007 7.3.6 Dependencies Figure 29 shows the compon ent depende ncie s of the IxCryptoAcc component. Figure 29 can be summarized as follows: • Client component will ca ...

  • Intel IXP400 - page 95

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 95 • IxCryptoAcc depends on th e IxQMgr component to configure and use the hardware queues to access the NPE. • OS Abstraction Layer access-co mponent is used for er ...

  • Intel IXP400 - page 96

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 96 Document Nu mb e r: 252539 , Revision: 007 ixCryptoAccCtxCi pherKeyUp date() This function is called to change the key value of a previously registered context . Key change for a registered context is only ...

  • Intel IXP400 - page 97

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 97 The IPSec protocol stack provid es security for the transpor ted packets by encrypting and authenticating the IP paylo ad. Before an IP packet is sent out to the publ ...

  • Intel IXP400 - page 98

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 98 Document Nu mb e r: 252539 , Revision: 007 7.4.2 IPSec Packet Format s IPSec standards have defined packet formats. The authentication header (AH) provides data integrity and the encapsulating security pa y ...

  • Intel IXP400 - page 99

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 99 In AH mode, the ICV value is part of the authenticat ion header . AH is embedded in the data to be protected. This results in AH being included fo r ICV calculation, ...

  • Intel IXP400 - page 100

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 100 Docume nt Numb e r: 252539 , Revision: 007 7.4.2.2 Reference AH Dat aflow Figure 35 shows the example data flow for IP Security environment. T ransport mode AH is used in this example. IPSec client handl e ...

  • Intel IXP400 - page 101

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 101 7.4.3 Hardware Accelerati on for IPSec Services The IxCryptoAcc API is d ependant upon hardw are resources within NPE C (also known as Ethernet NPE B) in order to pe ...

  • Intel IXP400 - page 102

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 102 Docume nt Numb e r: 252539 , Revision: 007 1. The proper NPE microcode images must have been downloaded to the NPE and initialized. Additionally , the IxCryptoAcc API must be properly configured, initializ ...

  • Intel IXP400 - page 103

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 103 4. The NPE will read the descriptor on the Crypto Ready Queue and performs the encrypti on/ decryption/authentication operations, as defi ned in the CCD for th e sub ...

  • Intel IXP400 - page 104

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 104 Docume nt Numb e r: 252539 , Revision: 007 2. Use AES-CTR mode to encrypt the payload with counter values 1, 2, 3, … 3. Use AES-CTR mode to encrypt the MIC with co unter value 0 (First key stream (S0) fr ...

  • Intel IXP400 - page 105

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 105 2. Register another crypto context for AES-CT R encryption (cipher cont ext). A crypto context ID (B) will also be obtained in this operatio n. This crypto context i ...

  • Intel IXP400 - page 106

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 106 Docume nt Numb e r: 252539 , Revision: 007 AES-CBC operation into the packet , between header and payload. The payload needs to be moved in order to hold MIC in the packet . An efficient method of do ing t ...

  • Intel IXP400 - page 107

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 107 • *pSrcMbuf — a pointer to IX_MBUF , which contains data to be processed. This IX_M BUF structure is allocated by client. Result of this request will be stored i ...

  • Intel IXP400 - page 108

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 108 Docume nt Numb e r: 252539 , Revision: 007 These acceleration components provide th e following services to IxCryptoAcc: • ARC4 (Alleged RC4) encryption / decryption • WEP ICV generation and verificati ...

  • Intel IXP400 - page 109

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 109 1. The proper NPE microcode images must have been downloaded to th e NPE and initialized. Additionally , t he IxCryptoAcc API must b e properly confi gured, initiali ...

  • Intel IXP400 - page 110

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 110 Docume nt Numb e r: 252539 , Revision: 007 4. The NPE will read the descriptor on the Cryp to Request Queue and pe rforms the encryption/ decryption/authentication operatio ns, as defined in the CCD for th ...

  • Intel IXP400 - page 111

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 111 The ixCryptoAccAuthCryptPerform( ) functionality descri bed in “IPSec Services” on page 96 offers capabilities to perform en crypt /decrypt AND auth entication c ...

  • Intel IXP400 - page 112

    Intel ® IXP400 Software Access-Layer Co mponent s: Secur ity (IxCryptoAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 112 Docume nt Numb e r: 252539 , Revision: 007 SSL client applications can make use of the ARC4 pr o cessi ng featur es by regis tering an encryption-only or decryption-o nly crypto cont ext and the IxCryptoAc ...

  • Intel IXP400 - page 113

    Intel ® IXP400 Software Access-Layer Co mponent s: Security (Ix CryptoAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 113 The hardware accelerator component provides an interface for performing a single pass CCMP- MIC computation and verification with CTR mode encryption /decryption. No ...

  • Intel IXP400 - page 114

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 114 Docume nt Numb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 115

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 115 Access-Layer Components: DMA Access Driver (IxDmaAcc) API 8 This chapter describes the In tel ® IXP400 Software v2.0’ s “DMA Access Driver” access-layer component. 8.1 What’ s New There are no changes or enhance ...

  • Intel IXP400 - page 116

    Intel ® IXP400 Software Access-Layer Co mponent s: DMA Access Driver (IxDmaAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 116 Docume nt Numb e r: 252539 , Revision: 007 • IxDmaAcc has no knowledge on the devices that involve in the DMA transfer . The client is responsible for ensuring the devices are ini tialized and confi ...

  • Intel IXP400 - page 117

    Intel ® IXP400 Software Access-Layer Compo nent s: DMA Acce ss Driver (IxDma Acc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 117 Note: IxDmaAcc components are in white. Figure 44 shows the dependency between IxDmaAcc co mponent and other ex ternal components (in grey). IxDmaAcc depends ...

  • Intel IXP400 - page 118

    Intel ® IXP400 Software Access-Layer Co mponent s: DMA Access Driver (IxDmaAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 118 Docume nt Numb e r: 252539 , Revision: 007 The ixDmaAcc component co nsists of three APIs: • PUBLIC IX_ST A TUS ixDmaAccInit (IxNpeDlNpeId npeId) This function initializes the DMA Access component i ...

  • Intel IXP400 - page 119

    Intel ® IXP400 Software Access-Layer Compo nent s: DMA Acce ss Driver (IxDma Acc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 119 8.7.1 Source Address Source address is a valid IXP4XX product line an d IXC1 100 cont rol plane processo rs mem ory map address that points to the first word ...

  • Intel IXP400 - page 120

    Intel ® IXP400 Software Access-Layer Co mponent s: DMA Access Driver (IxDmaAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 120 Docume nt Numb e r: 252539 , Revision: 007 8.7.5 Addressing Modes Addressing mode describes the types of source and destination addresses to be accessed. T wo addressing modes are supported: • Incre ...

  • Intel IXP400 - page 121

    Intel ® IXP400 Software Access-Layer Compo nent s: DMA Acce ss Driver (IxDma Acc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 121 8.7.7 Supported Modes This section summarizes the transfer modes su pported by the IxDmaAcc. Some of the supported modes have restrictions. F or details on re ...

  • Intel IXP400 - page 122

    Intel ® IXP400 Software Access-Layer Co mponent s: DMA Access Driver (IxDmaAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 122 Docume nt Numb e r: 252539 , Revision: 007 T able 15. DMA Modes Supported for Addressing Mo de of Increment al Source Ad dress and Fixed Destination Address Increment Source Address Increment Destinat ...

  • Intel IXP400 - page 123

    Intel ® IXP400 Software Access-Layer Compo nent s: DMA Acce ss Driver (IxDma Acc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 123 8.8 Dat a Flow The purpose of the DMA access layer is to transfer DMA configuration inform ation from its clients to the NPEs. It is a control component where ...

  • Intel IXP400 - page 124

    Intel ® IXP400 Software Access-Layer Co mponent s: DMA Access Driver (IxDmaAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 124 Docume nt Numb e r: 252539 , Revision: 007 Upon completion of the DMA transfer , the NPE writes a message to the AQM-done queue. The AQM dispatcher then calls the ixDmaAcc callback and the access laye ...

  • Intel IXP400 - page 125

    Intel ® IXP400 Software Access-Layer Compo nent s: DMA Acce ss Driver (IxDma Acc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 125 1. Client calls ixDmaAccInit to initialize the IxDm aAcc component with an NPE ID as a parameter . The NPE ID indicates which NPE is been used to provide the ...

  • Intel IXP400 - page 126

    Intel ® IXP400 Software Access-Layer Co mponent s: DMA Access Driver (IxDmaAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 126 Docume nt Numb e r: 252539 , Revision: 007 0. Client needs to initialize and configure the hardware for the DM A transfer to ensure that the devices are set up properly and ready for DMA transfer . 1. ...

  • Intel IXP400 - page 127

    Intel ® IXP400 Software Access-Layer Compo nent s: DMA Acce ss Driver (IxDma Acc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 127 8. The descriptor pool needs to be guarded by mutual exclus ion because there are two contexts that access the pool descri ptor buf fer (see S tep 3 ). 9. IxD ...

  • Intel IXP400 - page 128

    Intel ® IXP400 Software Access-Layer Co mponent s: DMA Access Driver (IxDmaAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 128 Docume nt Numb e r: 252539 , Revision: 007 • Burst mode is not supported for DM A targets at AHB South Bus. This is due to hard ware restriction. Therefore, all DM A transactions originated or desig ...

  • Intel IXP400 - page 129

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 129 Access-Layer Components: Ethernet Access (IxEthAcc) API 9 This chapter describes the In tel ® IXP400 Software v2.0’ s “Ethernet Access API” access-layer component. 9.1 What’ s New The following changes and enhan ...

  • Intel IXP400 - page 130

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 130 Docume nt Numb e r: 252539 , Revision: 007 The data path for each of these devices is acce ssible via dedicated NPEs. One Ethernet MAC is provided on each NPE. The NP Es are connected to the Nort h AH ...

  • Intel IXP400 - page 131

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 131 9.3.2 Queue Manage r The AHB Queue Manager i s a hardware block that communicates buffer pointers between the NPE cores and the Intel XScale core. The IxQMgr API ...

  • Intel IXP400 - page 132

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 132 Docume nt Numb e r: 252539 , Revision: 007 9.4 Ethernet Access Layers: Component Features The Ethernet access component features may be divided into three areas: • Data Path — Responsible for the ...

  • Intel IXP400 - page 133

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 133 9.5 Dat a Plane The data plane is responsibl e for the transmission and r eception of Ethernet frames. Figure 48. Ethernet Ac cess Layers Block Diag ram MA C Fi ...

  • Intel IXP400 - page 134

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 134 Docume nt Numb e r: 252539 , Revision: 007 9.5.1 Port Initialization Prior to any oper ati o n being performed on a port, the appropr iat e mi cro code must be downloa ded to the NPE using the IxNpeDl ...

  • Intel IXP400 - page 135

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 135 3. Register a callback function for the port. This function will be called when the transmission buffer is placed in the TxDone queue. 4. After configuring the p ...

  • Intel IXP400 - page 136

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 136 Docume nt Numb e r: 252539 , Revision: 007 There are two scheduling disciplines selectable via the IxEthAccTxSchedulerDiscipline (). The frame submit behavior will be diff erent for each case. A vaila ...

  • Intel IXP400 - page 137

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 137 Tx FIFO No Priority If the selected discipline is FIFO _NO_PRIORITY , then all frames may be directly submitted to the IxQMgr queue for that port if there is roo ...

  • Intel IXP400 - page 138

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 138 Docume nt Numb e r: 252539 , Revision: 007 9.5.3.1 Receive Flow 1. Proper NPE images must be downlo aded to the NPEs and initialized. 2. The receiving port must be initialized. 3. Register a callback ...

  • Intel IXP400 - page 139

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 139 9.5.3.2 Receive Buffer Management and Priority The key interface from the NPEs to the receive da ta path (IxEthAcc) is a selection of queues residing in the queu ...

  • Intel IXP400 - page 140

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 140 Docume nt Numb e r: 252539 , Revision: 007 C ode le t or c lie nt a pplic a t ion Ix E t hA c c Ix QM gr 1. In it ia lizat io n s , Ca llb a ck Regi s tr ation ... 2. PortR x F r eeRepleni s h (Port 0 ...

  • Intel IXP400 - page 141

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 141 This is configured using the ixEthAccR xSchedulingDiscipl ineSet() function. Rx FIFO Priority (QoS Mode) IxEthAcc can support the ability to prioritize frames ba ...

  • Intel IXP400 - page 142

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 142 Docume nt Numb e r: 252539 , Revision: 007 9.5.3.3 Additional Recei ve Path Information No Receive Polling An Rx polling interface is not provided for the serv ice. This can easily be extended via que ...

  • Intel IXP400 - page 143

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 143 IPv4 Payload Detection For every received frame delivered to the Intel XScale core, the NPE microcode reports whether the payload of the frame is an IPv4 packet ...

  • Intel IXP400 - page 144

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 144 Docume nt Numb e r: 252539 , Revision: 007 The relationship between IxEt hAcc, IxEthDB, and IxEthMii is shown in Fig ure 53 . The control path component rem a ini ng fo r IxEthAcc is the provision of ...

  • Intel IXP400 - page 145

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 145 9.6.1 Ethernet MAC Control The role and responsib ility of this module i s to enable clients to configure the Et hernet coprocessor MACs for both NPEs. This API ...

  • Intel IXP400 - page 146

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 146 Docume nt Numb e r: 252539 , Revision: 007 This feature is available on a per-port basis and should be set before a port is enabled. 9.6.1.5 MAC Filtering The MAC subcomponent within the Ethernet NPEs ...

  • Intel IXP400 - page 147

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 147 9.6.1.7 NPE Loopback T wo functions are provided that enable or disabl e NPE-level Ethernet loop back fo r the NPE ports. This is useful for troubleshooting the ...

  • Intel IXP400 - page 148

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 148 Docume nt Numb e r: 252539 , Revision: 007 IX_OSAL_MBUFs The buffer descriptor format supported is the IX_OSAL_MBUF , which is defined in Chapter 3 . The Ethernet NPE firmware expects that all such st ...

  • Intel IXP400 - page 149

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 149 T able 19. IX_OSAL_MBUF Header Definition s for the Ethernet Subsystem ( Sheet 1 of 3) Field Description Queue Eth Rx Free Eth Rx Eth Tx Eth Tx Done ixp_ne_next ...

  • Intel IXP400 - page 150

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 150 Docume nt Numb e r: 252539 , Revision: 007 ixp_ne_flags.new_src New source address flag. A value of 0 ind icates that a matching entry for the frame's source MAC ad dress exists in the filtering ...

  • Intel IXP400 - page 151

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 151 ixp_ne_flags.vlan_en T ransmit path VLAN functionality enabl e flag. A value of 0 indicates that all transmit path VLAN se rvices, including VLAN ID-based filter ...

  • Intel IXP400 - page 152

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 152 Docume nt Numb e r: 252539 , Revision: 007 9.9 Management Information The IxEthAcc component provides MI B II EtherObj statistics for each interface. The statistics are collected from Ethernet compone ...

  • Intel IXP400 - page 153

    Intel ® IXP400 Software Access-Layer Compo nent s: Ethernet Acc ess (IxEthAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 153 • IxEthAccMibIIStatsGet() — Returns th e statistics maintained for a port • IxEthAccMibIIStatsGetClear() — Returns and clears the statistics maintained f ...

  • Intel IXP400 - page 154

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet Access (IxEthAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 154 Docume nt Numb e r: 252539 , Revision: 007 T able 24. Managed Object s for Ethe rnet T ransmit Object Increment Criteria dot3S tat sSingleCollisionFrames RFC-2665 definition dot3S tatsMultipleCollisio ...

  • Intel IXP400 - page 155

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 155 Access-Layer Components: Ethernet Database (IxEthDB) API 10 This chapter describes the In tel ® IXP400 Software v2.0 “Eth ernet Database API” access-layer component. 10.1 Overview T o minimize the unnecessary forwar ...

  • Intel IXP400 - page 156

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 156 Docume nt Numb e r: 252539 , Revision: 007 • 802.1p QoS • 802.3 / 802 .1 1 frame conversion • Spanning T ree Protocol port settings IxEthDB also has several more generalized features that relat ...

  • Intel IXP400 - page 157

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 157 Filtering can also be done according to some char acteristics of a frame recei ved on a port, such as frames exceeding a maximum frame size or frames th at do n ...

  • Intel IXP400 - page 158

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 158 Docume nt Numb e r: 252539 , Revision: 007 — Port 0 searches for the destination address ( 00:00:00:00:0 0:0 1) in its learning tree, it is found therefore Port 0 knows t hat both Node 1 and N ode ...

  • Intel IXP400 - page 159

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 159 Wa r n i n g : The id value assigned to NPE ports in IxEthDbPortD efs.h may not be the same as the value used to identify ports i n the IXP_BUF fields wr itten ...

  • Intel IXP400 - page 160

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 160 Docume nt Numb e r: 252539 , Revision: 007 address entries and can expire ol der entries as appropriate. This is tied into the database maintenance functionali ty , further documented in “Database ...

  • Intel IXP400 - page 161

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 161 FCS, for example) that causes the frame to ex ceed the maximum frame si ze, the frame will not be transmitted. The TxLargeFramesDiscar d counter will be increme ...

  • Intel IXP400 - page 162

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 162 Docume nt Numb e r: 252539 , Revision: 007 • allow / white list state – only incoming packet s with a source MAC addresses found in the firewall list are al lowed • deny / black list state – ...

  • Intel IXP400 - page 163

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 163 10.3.4.1 B ackground – VLAN Da ta in Ethernet Frames According to IEEE802.3, an untagged or norm al Ethernet frame has the fields listed in Ta b l e 2 5 . The ...

  • Intel IXP400 - page 164

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 164 Docume nt Numb e r: 252539 , Revision: 007 The VLAN tagged Ethernet frame format, as specified in IEEE802.3, is as listed in T abl e 26 . A received frame is considered to be VLAN-tagged if the two b ...

  • Intel IXP400 - page 165

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 165 ACCEP T_ALL_FRAMES or VLAN_T AGGED_FRAMES. Failure to do so will fi lter all VLAN traffic except those frames tagged with VLAN ID 0. The acceptable frame type f ...

  • Intel IXP400 - page 166

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 166 Docume nt Numb e r: 252539 , Revision: 007 For example, Port 1 is configured with a PVID set to 12 and VLAN membersh ip group of {1, 2, 10, 12, 20 to 40, 100, 102, 3000 to 3010}. If VLAN membership f ...

  • Intel IXP400 - page 167

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 167 • The frame IX_OSAL_ MBUF header can contain override information (flags – see above) explicitly statin g whether the frame is to be tagged or not. • T ag ...

  • Intel IXP400 - page 168

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 168 Docume nt Numb e r: 252539 , Revision: 007 An overview of the Eg ress tagging process is shown in Figure 55 . The figure shows the decision tree for an untagged frame. The proce ss is identical for a ...

  • Intel IXP400 - page 169

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 169 10.3.4.7 P ort ID Extraction A device connected to an MII interface can be a single one-port Ethern et PHY or a multi-port device (such as a switch). Some popul ...

  • Intel IXP400 - page 170

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 170 Docume nt Numb e r: 252539 , Revision: 007 10.3.5.2 R eceive Priority Queuing Incoming frames will be classified into an internal traffic class, either by mapping the 802.1Q priority field (if availa ...

  • Intel IXP400 - page 171

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 171 T raf fic class for untagged frames (unexpedited traf fic) is automatically selected from the default traffic class associated with the port. The default port t ...

  • Intel IXP400 - page 172

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 172 Docume nt Numb e r: 252539 , Revision: 007 At initialization, a default t raffic class mapping is provided, as shown T able 29 . These values apply to NPE images that include four default traf fic cl ...

  • Intel IXP400 - page 173

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 173 Abbreviations: • FC - Frame Control • DID - Duration / ID • SC - Sequence Control The usage of the 802.1 1 frame format depends heavily on the source and ...

  • Intel IXP400 - page 174

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 174 Docume nt Numb e r: 252539 , Revision: 007 In 802.3 frames, there is a 2-byte Length/T ype field, the interpretation of whic h depend s on whether its value is smaller than 0x0600. When the value of ...

  • Intel IXP400 - page 175

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 175 It is important to no te that the IX_OSAL_MBUF s extracted from the EthR xFree queue by the NPE may be used to del iver both IEEE802.3 and IEEE8 02.1 1 frames t ...

  • Intel IXP400 - page 176

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 176 Docume nt Numb e r: 252539 , Revision: 007 state so that the converted frame is treated as an untagged fo r the purpose of VLAN egress tagging. T o simplify its processing, the NPE Eth ernet firmware ...

  • Intel IXP400 - page 177

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 177 10.3.7 Sp anning T ree Protocol Port Settings The IxEthDB component pr ovides an interface that can conf igure each NPE port to act in a “Spanning Tree Port B ...

  • Intel IXP400 - page 178

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 178 Docume nt Numb e r: 252539 , Revision: 007 10.4.3 Feature Set IxEthDB is structured in a feature set, which can be enabled, disabled and configured at run time. Since IxEthDB provides support for NPE ...

  • Intel IXP400 - page 179

    Intel ® IXP400 Software Access-Layer Compon ent s: Ethernet Data base (IxEthDB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 179 done using ixEthDBUserFieldG et(). Note that neit her IxEthDB, n or the NPE microcode, ever uses the user-defined field for any in ternal operation and it is no ...

  • Intel IXP400 - page 180

    Intel ® IXP400 Software Access-Layer Co mponent s: Et hernet Dat abase (IxEthDB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 180 Docume nt Numb e r: 252539 , Revision: 007 T ransmit T raffic For transmission services, the NPE calculates a valid FCS as its final step prior to transmitting the frame to the P HY . FCS appendi ng ...

  • Intel IXP400 - page 181

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 181 Access-Layer Components: Ethernet PHY (IxEthMii) API 11 This chapter describes the In tel ® IXP400 Software v2.0’ s “Ethernet PHY API” access-layer component. 1 1.1 What’ s New The following changes or enhancem ...

  • Intel IXP400 - page 182

    Intel ® IXP400 Software Access-Layer Co mponent s: Ethe rnet PHY (IxEthMii) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 182 Docume nt Numb e r: 252539 , Revision: 007 ixp400_xscale_sw/src/ethMii/IxEthMii_p.h 1 1.5 Dependencies IxEthMii is used by the EthAcc codelet and is dependant upon the IxEthAcc access-layer component and ...

  • Intel IXP400 - page 183

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 183 Access-Layer Components: Feature Control (IxFeatureCtrl) API 12 This chapter describes the In tel ® IXP400 Software v2.0’ s “Feat ure Control API” access-layer component. IxFeatureCtrl is a component that de tects ...

  • Intel IXP400 - page 184

    Intel ® IXP400 Software Access-Layer Co mponent s: Feature Control (IxFea tureCtrl) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 184 Docume nt Numb e r: 252539 , Revision: 007 stepping. For th e IXP42X product lin e, this register is used to determine t he maximum core clock speed. Note: CP15, Register 0 is read-only . • EXP_ ...

  • Intel IXP400 - page 185

    Intel ® IXP400 Software Access-Layer Component s: Feature Control (IxFeatureCtrl) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 185 12.3.2 Using the Feature Control Register Functions The ixFeatureCtrlHwCapabilityRead( ) function utilizes the EXP_UNIT_FUSE_R ESET register for detecting hos ...

  • Intel IXP400 - page 186

    Intel ® IXP400 Software Access-Layer Co mponent s: Feature Control (IxFea tureCtrl) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 186 Docume nt Numb e r: 252539 , Revision: 007 12.4 Component Check by Other APIs The ixFeatureCtrlCompone ntCheck( ) function checks for the ava ilability of th e specified hardware component. The ot ...

  • Intel IXP400 - page 187

    Intel ® IXP400 Software Access-Layer Component s: Feature Control (IxFeatureCtrl) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 187 processors, and all versions of the IXP46 X product line will use the standard ixQMgrDispatcherLoopRunB0 dispat cher . T o indication that the ixQMgrDispatche ...

  • Intel IXP400 - page 188

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 188 Docume nt Numb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 189

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 189 Access-Layer Components: HSS-Access (IxHssAcc) API 13 This chapter describes the In tel ® IXP400 Software v2.0’ s “H SS-Access API” access-layer component. 13.1 What’ s New There are no changes or enhancements t ...

  • Intel IXP400 - page 190

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 190 Docume nt Numb e r: 252539 , Revision: 007 Features The HSS access component is used by a client ap plication to configure both the HSS and HDLC coprocessors and to obtain services from the coprocessors. It ...

  • Intel IXP400 - page 191

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 191 IxHssAcc presents two “services” to the client application. The Channelized Service presents the client with raw serial data streams retrieved from the HSS port, ...

  • Intel IXP400 - page 192

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 192 Docume nt Numb e r: 252539 , Revision: 007 13.3.3 HSS and HDLC Theory an d Coprocessor Operation The HSS coprocessor enables the processor to communicate externally , in a serial-bit fashion, using TDM data ...

  • Intel IXP400 - page 193

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 193 The HSS coprocessor communicates with an external de vice using three signals per directi on: a frame pulse, clock, and data bit. The data stream consists of frames ? ...

  • Intel IXP400 - page 194

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 194 Docume nt Numb e r: 252539 , Revision: 007 Note: PPM frame length error is calcula ted from ideal frame frequency . Figure 60 illustrates a typical T1 frame with active-hi gh frame sync (level) an d a posed ...

  • Intel IXP400 - page 195

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 195 The time slots within a stream can be configur ed as packetized (raw or HDLC, 64 Kbps, and 56 Kbps), channelized voice64K, or channelized voice56K or le ft unassigned ...

  • Intel IXP400 - page 196

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 196 Docume nt Numb e r: 252539 , Revision: 007 7. Finally , when the HSS comp onen t is no longer needed, ixHssAccPktPortDisable() an d/or ixHssAccPktPortDisconnect() — or ixHssAccChanDisconnect() and/or ixHs ...

  • Intel IXP400 - page 197

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 197 • Packetized (HDLC) service is coupled with the HSS port. Packets transmitted using the packetized service access interface will be sent through the HDLC coprocesso ...

  • Intel IXP400 - page 198

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 198 Docume nt Numb e r: 252539 , Revision: 007 • IxHssAccTdmSlotUsage *tdmMap — A pointer to an array defin ing the HSS time-slot assignment types. • IxHssAccLastErrorCallback lastHs sErrorCallback — Cl ...

  • Intel IXP400 - page 199

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 199 IxHssAccTdmSlotUsage is an array that take the following values to assi gn service types to each time slot in a HSS frame: IxHssAccTdmSlotUsage has a size equal to th ...

  • Intel IXP400 - page 200

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 200 Docume nt Numb e r: 252539 , Revision: 007 • UINT8 *rxCircular — A pointer to the Rx data pool allocated by the client as described in previous section. It poin ts to a set of circular buffers to be fil ...

  • Intel IXP400 - page 201

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 201 1. The client issues a channeli zed connect request to IxHssAcc. 2. If an rxCallback is conf igured, the client expects to be tri ggered by events to drive the Tx and ...

  • Intel IXP400 - page 202

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 202 Docume nt Numb e r: 252539 , Revision: 007 13.5.2.1 CallBack If the pointer to the rxCallback () is not NULL when ixHssAccChanConnect () is called, an ISR will call rxCallback () to handle Tx/Rx data. It is ...

  • Intel IXP400 - page 203

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 203 1. After reading a configurable amount of data from the HSS port and writing th e same amount of data to the HSSport, the NP E writes to the hssSync queue. There are ...

  • Intel IXP400 - page 204

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 204 Docume nt Numb e r: 252539 , Revision: 007 13.5.3 Channelized Disconnect When the channelized service is not need ed any more on a particular HSS port, ixHssAccChanPortDisable() is called to stop the channe ...

  • Intel IXP400 - page 205

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 205 • unsigned blockSizeInW ords — The max tx/rx block size. • UINT32 rawIdleBlockPattern — Tx idle pattern in raw mode. • IxHssAccHdlcFraming hdlcTxFramin g ? ...

  • Intel IXP400 - page 206

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 206 Docume nt Numb e r: 252539 , Revision: 007 1. The client issues a packet service connect request to IxHssAcc. 2. IxHssAcc instructs IxQMgr to configure th e necessary queues and register callbacks . 3. IxHs ...

  • Intel IXP400 - page 207

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 207 When the transmission is don e, the TxDone call back fu nction, registered with ixHssAccPktPortConnect (), is called, and the buffer can be returned to IXP_BUF pool u ...

  • Intel IXP400 - page 208

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 208 Docume nt Numb e r: 252539 , Revision: 007 1. The client presents an IXP_BU F to IxHssAcc for transmissi on. 2. IxHssAcc gets a transmit descriptor from its transmit descriptor pool, fills in the descriptor ...

  • Intel IXP400 - page 209

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 209 Here is an example: Usually , an Rx thread is created to handle the HS S packetized service, namely , to handle all the callback functions registered with ixHssAccPkt ...

  • Intel IXP400 - page 210

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 210 Docume nt Numb e r: 252539 , Revision: 007 Alternatively , the client can use its own timer for suppling IXP_BUFs to the queue. This is the case if the pointer for rxFr eeLowC allback () passed to ixHssAccP ...

  • Intel IXP400 - page 211

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 211 13.6.4 Packetized Disconnect When packetized service channe l is not needed any more, the function ixHssAccPktPortDisable() is called to stop the packetized service o ...

  • Intel IXP400 - page 212

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 212 Docume nt Numb e r: 252539 , Revision: 007 An IXP_BUF pool should be created for p acketized service by calling function IX_OSAL_MBUF_POOL_INIT () of the IxOsBuffMgt API with the IXP_BUF size and number of ...

  • Intel IXP400 - page 213

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 213 For Tx, buffers are allocated fr om the IXP_BUF pool by calling IX_OSAL_MB UF_POOL_G ET (). Data for transmitting can be put int o the IX P_BUF by using IX_OSAL_MBUF ...

  • Intel IXP400 - page 214

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 214 Docume nt Numb e r: 252539 , Revision: 007 13.7.2 Dat a Flow in Channelized Service Data in the time slots config ured as V oice64K /V oice56K types wi ll be provided to the cl ient via the IxHssAcc channel ...

  • Intel IXP400 - page 215

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 215 All the buffers have the same length. When the channelized service is initialized by ixHssAccChanConnect (), the pointer to the pool, t he length of the circular buff ...

  • Intel IXP400 - page 216

    Intel ® IXP400 Software Access-Layer Co mponent s: HSS-Ac cess (IxHssAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 216 Docume nt Numb e r: 252539 , Revision: 007 For transmission, ixOsServCacheDmaMalloc () is used to allocated two pools: a data buffer pool and a pointer list pool. The data buffer pool has N buf fers — one ...

  • Intel IXP400 - page 217

    Intel ® IXP400 Software Access-Layer Comp onen t s: HSS-Access (IxHssAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 217 Figure 70. HSS Channelized T ransmit Operation ... Chann el : F0- TSa F0- TSb F0- TSc ... F0- TSz Frame 0 01 2 N F1- TSa F1- TSb F1- TSc ... F1- TSz Fr ame 1 01 2 N . ...

  • Intel IXP400 - page 218

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 218 Docume nt Numb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 219

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 219 Access-Layer Components: NPE-Downloader (IxNpeDl) API 14 This chapter describes the In tel ® IXP400 Software v2.0’ s “NPE-D own loader API” access-layer component. 14.1 What’ s New The following changes and enha ...

  • Intel IXP400 - page 220

    Intel ® IXP400 Software Access-Layer Co mponent s: NPE-Download er (IxNpe Dl) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 220 Docume nt Numb e r: 252539 , Revision: 007 The “Microcode from File” feature is only avai lable for Linux. All other supported operating systems use obtain th e NPE microc ode from the compiled obje ...

  • Intel IXP400 - page 221

    Intel ® IXP400 Software Access-Layer Co mponent s: NPE-Downloa der ( IxNpeDl) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 221 T able 42. NPE-A Images Image Name Description IX_NPEDL_NPEIMAGE_NPEA_HSS0 NPE Image ID for NPE-A with HSS-0 Only feature. It supports 32 channelized and 4 packet ...

  • Intel IXP400 - page 222

    Intel ® IXP400 Software Access-Layer Co mponent s: NPE-Download er (IxNpe Dl) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 222 Docume nt Numb e r: 252539 , Revision: 007 T able 43. NPE-B Images Image Name Description IX_NPEDL_NPEIMAGE_NPEB_DMA NPE Image ID for NPE-B with DMA-Only feature. IX_NPEDL_NPEIMAGE_NPEB_ETH NPE Image ID ...

  • Intel IXP400 - page 223

    Intel ® IXP400 Software Access-Layer Co mponent s: NPE-Downloa der ( IxNpeDl) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 223 14.5 Custom Usage Example Using a custom image is the second option for starting an NPE. This feature is only useful to those parties that have NPE microcode deve ...

  • Intel IXP400 - page 224

    Intel ® IXP400 Software Access-Layer Co mponent s: NPE-Download er (IxNpe Dl) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 224 Docume nt Numb e r: 252539 , Revision: 007 The IxNpeDl should be uninitial ized prior to unloading an application module or dri ver . (This will unmap all memory that has been mapped by IxN peDl.) If po ...

  • Intel IXP400 - page 225

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 225 Access-Layer Components: NPE Message Handler (IxNpeMh) API 15 This chapter describes the In tel ® IXP400 Software v2.0’ s “NPE Message Handler API” access- layer component. 15.1 What’ s New There are no changes ...

  • Intel IXP400 - page 226

    Intel ® IXP400 Software Access-Layer Co mponent s: NPE Mes sage Handler (IxNpeMh ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 226 Docume nt Numb e r: 252539 , Revision: 007 The solicited callback list contains the list of callbacks corresponding to solicited messages not yet received from the NPE. The solicited messages for a ...

  • Intel IXP400 - page 227

    Intel ® IXP400 Software Access-Layer Compo nent s: NPE Message Ha ndler (IxNpeMh) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 227 15.4 Uninitializing IxNpeMh The IxNpeMh should be unin itialized prior to unl oading a kernel modu le (this will un map all memory that has been mapped by IxN ...

  • Intel IXP400 - page 228

    Intel ® IXP400 Software Access-Layer Co mponent s: NPE Mes sage Handler (IxNpeMh ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 228 Docume nt Numb e r: 252539 , Revision: 007 15.5.2 Sending an NPE Messag e with Response In this case, the client’ s message requires a re sponse from the NPE. Th e scenario (as shown in Figure 72 ...

  • Intel IXP400 - page 229

    Intel ® IXP400 Software Access-Layer Compo nent s: NPE Message Ha ndler (IxNpeMh) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 229 7. Because this is a solicited message, the fi rst ID-matching callback is removed from the solicited callback list and invoked to pass the message back to th ...

  • Intel IXP400 - page 230

    Intel ® IXP400 Software Access-Layer Co mponent s: NPE Mes sage Handler (IxNpeMh ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 230 Docume nt Numb e r: 252539 , Revision: 007 5. Since this is an unsolicited message, the IxNpeMh component inv okes the correspo ndin g unsolicited callback to pass the message back to the client. T ...

  • Intel IXP400 - page 231

    Intel ® IXP400 Software Access-Layer Compo nent s: NPE Message Ha ndler (IxNpeMh) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 231 15.7 Dependencies The IxNpeMh component ’ s depend encies (as shown in Figure 74 ) are: • Client software components must use the IxNpeMh compo nent for m ...

  • Intel IXP400 - page 232

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 232 Docume nt Numb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 233

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 233 Access-Layer Components: Parity Error Notifier (IxParityENAcc) API 16 This chapter describes Intel ® IXP400 Softw are v2.0’ s “Parity Error Notifier (IxParityENAcc) API” access-layer component. 16.1 What’ s New ...

  • Intel IXP400 - page 234

    Intel ® IXP400 Software Access-Layer Co mponent s: Pa rity Er ror Notifier ( IxParityENAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 234 Docume nt Numb e r: 252539 , Revision: 007 For the purposes of this document, the following terms will be used as defined below . Error Correction Logic/Error Correction Code The Error Co ...

  • Intel IXP400 - page 235

    Intel ® IXP400 Software Access-Layer Component s: Parity Error Notifier (IxParityENAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 235 16.2.2.2 S witching Copr ocessor in NPE B (SWCP) The Switching Coprocessor generates 8-bit parity – 1 bit per each byte of the 64 bit (8-byte) entries ...

  • Intel IXP400 - page 236

    Intel ® IXP400 Software Access-Layer Co mponent s: Pa rity Er ror Notifier ( IxParityENAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 236 Docume nt Numb e r: 252539 , Revision: 007 16.2.2.7 S econdary Effects of Parity Interrupt s If the Intel XScale core detects an error on th e AHB bus or on its private DDR memory interfac ...

  • Intel IXP400 - page 237

    Intel ® IXP400 Software Access-Layer Component s: Parity Error Notifier (IxParityENAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 237 16.3 IxParityENAcc API Det ails 16.3.1 Features The parity error access component provides the following features: • Interface to the client applicati ...

  • Intel IXP400 - page 238

    Intel ® IXP400 Software Access-Layer Co mponent s: Pa rity Er ror Notifier ( IxParityENAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 238 Docume nt Numb e r: 252539 , Revision: 007 IxParityENAcc depends on various hardware regist ers to fetch the parity error information upo n receiving an interrupt due to parity error . It ...

  • Intel IXP400 - page 239

    Intel ® IXP400 Software Access-Layer Component s: Parity Error Notifier (IxParityENAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 239 • Parity Error Recovery • Parity Error Prevention This section summarizes the high-level activities inv olved with these high-level tasks, and th en ...

  • Intel IXP400 - page 240

    Intel ® IXP400 Software Access-Layer Co mponent s: Pa rity Er ror Notifier ( IxParityENAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 240 Docume nt Numb e r: 252539 , Revision: 007 3. When a parity error occurs, the interrupt w ill fire and invoke the ISR of the IxParityENAcc component. 4. IxParityENAcc, in turn, invokes the ...

  • Intel IXP400 - page 241

    Intel ® IXP400 Software Access-Layer Component s: Parity Error Notifier (IxParityENAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 241 16.4.2 Summary Parity Error Recovery Scenario IxParityENAcc does no t perform pa rity error recovery tasks. This should be done by the client applicatio ...

  • Intel IXP400 - page 242

    Intel ® IXP400 Software Access-Layer Co mponent s: Pa rity Er ror Notifier ( IxParityENAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 242 Docume nt Numb e r: 252539 , Revision: 007 For multi-bi t parity error s, no error correction is po ssible and the Intel XScale core will be notified. The client application should handl e ...

  • Intel IXP400 - page 243

    Intel ® IXP400 Software Access-Layer Component s: Parity Error Notifier (IxParityENAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 243 It is important to note that if an inte rrupt con diti on is not cleared then it wi ll result in the parity interrupt being triggered again. Figure 77 ? ...

  • Intel IXP400 - page 244

    Intel ® IXP400 Software Access-Layer Co mponent s: Pa rity Er ror Notifier ( IxParityENAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 244 Docume nt Numb e r: 252539 , Revision: 007 In order to avoid a race condition between the da ta abort handler and th e parity er ror callback, delay has been introduced in the MCU parity e ...

  • Intel IXP400 - page 245

    Intel ® IXP400 Software Access-Layer Component s: Parity Error Notifier (IxParityENAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 245 This scenario shown in Figure 83 can occur because the order in wh ich the interrupts are triggered for a parity error and a related data abort are not ...

  • Intel IXP400 - page 246

    Intel ® IXP400 Software Access-Layer Co mponent s: Pa rity Er ror Notifier ( IxParityENAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 246 Docume nt Numb e r: 252539 , Revision: 007 Figure 83. Dat a Abort with both Related and Unrelated Parity Error s B4379 -01 Data Ab or t IxPar ityENAcc Cli ent Call back IxP a r ityE N A cc ...

  • Intel IXP400 - page 247

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 247 Access-Layer Components: Performance Profiling (IxPerfProfAcc) API 17 This chapter describes the In tel ® IXP400 Software v2.0’ s “Per formance Profiling API” access- layer component. 17.1 What’ s New There are ...

  • Intel IXP400 - page 248

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 248 Docume nt Numb e r: 252539 , Revision: 007 17.3 Intel XScale ® Core PMU The purpose of the Intel XScale core PMU is to en able performance measurement and to allow the client to identify ...

  • Intel IXP400 - page 249

    Intel ® IXP400 Software Access-Layer Compon ent s: Performance Profiling (IxPerfProfAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 249 Event-based sampling will allow the cli en t to id entify the “ho t spots” of the program for further optimization. In this method, the samplin g r ...

  • Intel IXP400 - page 250

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 250 Docume nt Numb e r: 252539 , Revision: 007 • SDRAM controller usage — Usage monitored in al l eight pages of the SDRAM, i.e., the pages used and how often they are used. This also incl ...

  • Intel IXP400 - page 251

    Intel ® IXP400 Software Access-Layer Compon ent s: Performance Profiling (IxPerfProfAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 251 The client will call IxPerfProfA cc to access specific performance st atistics of the Intel XScale core’ s PMU and internal bus PMU. IxPerfProfAcc de ...

  • Intel IXP400 - page 252

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 252 Docume nt Numb e r: 252539 , Revision: 007 17.9 Threading The Xcycle component spawns a ne w task to work in the background. This task is spawned with the lowest priority . This is to avoi ...

  • Intel IXP400 - page 253

    Intel ® IXP400 Software Access-Layer Compon ent s: Performance Profiling (IxPerfProfAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 253 17.10.1 API Usage for Intel XScale ® Core PMU The Intel XScale core’ s PMU utili ty provides three different capab ilities, namely , event/clock cou ...

  • Intel IXP400 - page 254

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 254 Docume nt Numb e r: 252539 , Revision: 007 The number of events that can be monitored simultaneously range from zero to four at a tim e. When the number o f event to monitor is set to 0, o ...

  • Intel IXP400 - page 255

    Intel ® IXP400 Software Access-Layer Compon ent s: Performance Profiling (IxPerfProfAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 255 If the user has declared a variable IxPerfProfAccXscalePmuResults eventCountStopResults , the user may then print out the result for all the counters a ...

  • Intel IXP400 - page 256

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 256 Docume nt Numb e r: 252539 , Revision: 007 2. T o end the time sampling, call the stop function, with param e ters: This function can only be called once ixPerfProfAccXscalePmuT imeSampS t ...

  • Intel IXP400 - page 257

    Intel ® IXP400 Software Access-Layer Compon ent s: Performance Profiling (IxPerfProfAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 257 iii. Print out the first five elements: These profile results show the places in the us er ’ s code that are most frequently being executed and that ...

  • Intel IXP400 - page 258

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 258 Docume nt Numb e r: 252539 , Revision: 007 The steps needed to run this utility are: 1. T o begin the event sampling , call the start function with param eters: This function starts the ev ...

  • Intel IXP400 - page 259

    Intel ® IXP400 Software Access-Layer Compon ent s: Performance Profiling (IxPerfProfAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 259 As this file system is temporary , the user is required t o copy the o utput file into a permanent location or else the results will be lost when a new ...

  • Intel IXP400 - page 260

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 260 Docume nt Numb e r: 252539 , Revision: 007 17.10.1.4 Using Intel XScale ® Core PMU to Determ ine Cache Efficiency In this example, the user would like to monitor the instruction cache eff ...

  • Intel IXP400 - page 261

    Intel ® IXP400 Software Access-Layer Compon ent s: Performance Profiling (IxPerfProfAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 261 17.10.2 Internal Bus PMU The Internal Bus PMU utility enables performance monitori ng of components access ing or utilizing the north and south bus, pr ...

  • Intel IXP400 - page 262

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 262 Docume nt Numb e r: 252539 , Revision: 007 For example: — If the user has declared a variable “IxP erfProfAccBusPmuResults busPmuResults,” the user may then prin t out the value of a ...

  • Intel IXP400 - page 263

    Intel ® IXP400 Software Access-Layer Compon ent s: Performance Profiling (IxPerfProfAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 263 4. Obtain the results by calling: 5. Print the value of al l the PECs: 6. Print the total value of PECs 1-3, and PEC 7. The upper 32 bits reflect the n ...

  • Intel IXP400 - page 264

    Intel ® IXP400 Software Access-Layer Co mponent s: Perf ormance Profiling (IxPerfPr ofAcc ) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 264 Docume nt Numb e r: 252539 , Revision: 007 This pointe r is interpr eted as “the n umber of 66-MHz clock ticks for one measurement.” It is stored within the tool while it is being run ...

  • Intel IXP400 - page 265

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 265 Access-Layer Components: Queue Manager (IxQMgr) API 18 This chapter describes the In tel ® IXP400 Software v2.0’ s “Queue Manager API” access-layer component. 18.1 What’ s New There are no changes or enhancement ...

  • Intel IXP400 - page 266

    Intel ® IXP400 Software Access-Layer Co mponent s: Queue Man ager (IxQMgr) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 266 Docume nt Numb e r: 252539 , Revision: 007 18.3 Features and Hardware Interface The IxQMgr provides a low-level interface for co nfiguring the AQM, which contains the physical block of static RAM where all ...

  • Intel IXP400 - page 267

    Intel ® IXP400 Software Access-Layer Component s: Queue Manager (IxQMgr) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 267 — For queues 32-63, the notificatio n source is the assertion or de-assertion of the Nearly Empty flag and cannot be changed. • Performs queue-status query . — F ...

  • Intel IXP400 - page 268

    Intel ® IXP400 Software Access-Layer Co mponent s: Queue Man ager (IxQMgr) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 268 Docume nt Numb e r: 252539 , Revision: 007 18.7 Configuration V alues Ta b l e 4 8 details the attributes of a queue that can be configured and the possible values that these attributes can have (word = 32 ...

  • Intel IXP400 - page 269

    Intel ® IXP400 Software Access-Layer Component s: Queue Manager (IxQMgr) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 269 may be called from a client polling mechani sm, whic h calls the dispatcher to read the queues status at regular intervals. In the first example, the dispatcher is cal ...

  • Intel IXP400 - page 270

    Intel ® IXP400 Software Access-Layer Co mponent s: Queue Man ager (IxQMgr) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 270 Docume nt Numb e r: 252539 , Revision: 007 mechanism, although the cho ice of implementation woul d depend upon the OS, the application, and the nature of the traf fic. Th e following includes factors to b ...

  • Intel IXP400 - page 271

    Intel ® IXP400 Software Access-Layer Component s: Queue Manager (IxQMgr) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 271 5. The ISR invokes the dispatcher . Note: In the context of an inte rrupt, the dispatcher can also be i nvoked through a timer -based mecha nism. 6. The IxQMgr reads t ...

  • Intel IXP400 - page 272

    Intel ® IXP400 Software Access-Layer Co mponent s: Queue Man ager (IxQMgr) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 272 Docume nt Numb e r: 252539 , Revision: 007 2. When the NPE receives a packet, it update s the Rx queue with location of the buffer . 3. When the watermark is crossed the status fl ag gets updated correspon ...

  • Intel IXP400 - page 273

    Intel ® IXP400 Software Access-Layer Component s: Queue Manager (IxQMgr) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 273 T o use livelock prevention, only one queue can be se t as type periodic. One or more queues may be set as type sporadic using the ixQMgrCallbackT yp eSe t() functi on ...

  • Intel IXP400 - page 274

    Intel ® IXP400 Software Access-Layer Co mponent s: Queue Man ager (IxQMgr) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 274 Docume nt Numb e r: 252539 , Revision: 007 • Set the callback type for the H SS queue to periodic and th e Eth Rx queue to sporadic usi ng the ixQMgrCallbackT ypeSet() function. Note: All other queues (T ...

  • Intel IXP400 - page 275

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 275 Access-Layer Components: Synchronous Serial Port (IxSspAcc) API 19 This chapter describes the In tel ® IXP400 Software v2.0’ s “SSP Serial Port (IxSspAcc) API” access-layer component. 19.1 What’ s New This is a ...

  • Intel IXP400 - page 276

    Intel ® IXP400 Software Access-Layer Co mponent s: Synch ronous Serial Port (IxSspAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 276 Docume nt Numb e r: 252539 , Revision: 007 • select SPI SCLK phase – phase of SCLK starts with one inactive cycle and ends with ½ inactive cycle or SCLK starts with ½ inactive cycle and e ...

  • Intel IXP400 - page 277

    Intel ® IXP400 Software Access-Layer Compon ent s: Synchronous Serial Port (IxSs pAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 277 19.4 IxSspAcc API Usage Models 19.4.1 Initialization and General Dat a Model This description assum es a single cl ient model wh ere there is a single ap ...

  • Intel IXP400 - page 278

    Intel ® IXP400 Software Access-Layer Co mponent s: Synch ronous Serial Port (IxSspAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 278 Docume nt Numb e r: 252539 , Revision: 007 4. For an overrun: a. Interrup t is triggered due to an overru n of the Rx FIFO. b. Rx FIFO Overrun handl er/callback is called. c. Rx FIFO Overrun ha ...

  • Intel IXP400 - page 279

    Intel ® IXP400 Software Access-Layer Compon ent s: Synchronous Serial Port (IxSs pAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 279 Figure 93. Inter rupt Scenario B4389 -01 Clie n t SspAcc ix S s pA cc Ini t : retur n ha rdwa re ixSsp AccI n it i n t e rru p t : Rx FI F O Hi tO rA b o ...

  • Intel IXP400 - page 280

    Intel ® IXP400 Software Access-Layer Co mponent s: Synch ronous Serial Port (IxSspAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 280 Docume nt Numb e r: 252539 , Revision: 007 19.4.3 Polling Mode The sequence flow for a client applicat ion usi ng thi s compo nent in polling mode is described below . Refer to Figure 94 . 1. I ...

  • Intel IXP400 - page 281

    Intel ® IXP400 Software Access-Layer Compon ent s: Synchronous Serial Port (IxSs pAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 281 Figure 94. Polling Scenario B439 0 - 01 Cl i en t SspAcc i xS s pA c c Init : r etur n i xS s pA c c Init i x S s pA c cFIFO Data Rec eiv e ix Ssp A c c ...

  • Intel IXP400 - page 282

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 282 Docume nt Numb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 283

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 283 Access-Layer Components: T ime Sync (IxT imeSyncAcc) API 20 This chapter describes the In tel ® IXP400 Software v2.0’ s “T ime Sy nc (IxTimeSyncAcc) API” access-layer component. The IxT imeSyncAcc access-layer com ...

  • Intel IXP400 - page 284

    Intel ® IXP400 Software Access-Layer Co mponent s: T ime Sync (IxT imeSyncAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 284 Docume nt Numb e r: 252539 , Revision: 007 20.2.1 IEEE 1588 PTP Protocol Overview As mentioned at the beginning of this chapter , the IEEE 1588 Precision Time Protocol (P TP) is used to synchronize ind ...

  • Intel IXP400 - page 285

    Intel ® IXP400 Software Access-Layer Component s: Time Sync (IxT imeSyncAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 285 synchronization, and in tern al processing delays . The slave element/node, after detecting the Sync or Follow_Up message, will begin the process to synchronize it ...

  • Intel IXP400 - page 286

    Intel ® IXP400 Software Access-Layer Co mponent s: T ime Sync (IxT imeSyncAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 286 Docume nt Numb e r: 252539 , Revision: 007 Figure 96 shows the lo cation of the IEEE 1588 Hard ware Assist block an d its main interconnects to other components in th e IXP46X network processo rs. Deta ...

  • Intel IXP400 - page 287

    Intel ® IXP400 Software Access-Layer Component s: Time Sync (IxT imeSyncAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 287 The IEEE 1588 Hardware Assist block can also be set explicitly to handle timestampin g for all messages detected on a channel, as determined by the detection of an ...

  • Intel IXP400 - page 288

    Intel ® IXP400 Software Access-Layer Co mponent s: T ime Sync (IxT imeSyncAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 288 Docume nt Numb e r: 252539 , Revision: 007 VLAN-tagged Ethernet frames include an addi tio nal four bytes prior to the beginn ing of the original Ethernet T ype/Len gth field. The IP header immediatel ...

  • Intel IXP400 - page 289

    Intel ® IXP400 Software Access-Layer Component s: Time Sync (IxT imeSyncAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 289 • Configure the P TP Ports (NPE channels) to operate in master or slave mode • Poll for Sent Ti mestamp of the Sync and Delay_Req messages in both master and s ...

  • Intel IXP400 - page 290

    Intel ® IXP400 Software Access-Layer Co mponent s: T ime Sync (IxT imeSyncAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 290 Docume nt Numb e r: 252539 , Revision: 007 • Internal errors IxT imeSyncAcc returns IX _SUCCESS when errors are not observed. The cl ient application is expected to handle these errors/values appropr ...

  • Intel IXP400 - page 291

    Intel ® IXP400 Software Access-Layer Component s: Time Sync (IxT imeSyncAcc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 291 2. Auxiliary Master T imestamp 3. Auxiliary Slave T imestamp In order to avoid repeated invocation of the Inte rrupt Service Routing for the “tar get time reache ...

  • Intel IXP400 - page 292

    Intel ® IXP400 Software Access-Layer Co mponent s: T ime Sync (IxT imeSyncAcc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 292 Docume nt Numb e r: 252539 , Revision: 007 Figure 99. Polling for Auxiliary Snap shot V alues B4391 -01 C lie n t A p p lica t io n IEE E 1588 Hardwar e As si st IxTimeSyncAc c ixT ime Syn cA ccSyste m ...

  • Intel IXP400 - page 293

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 293 Access-Layer Components: UAR T -Access (IxUAR T Acc) API 21 This chapter describes the In tel ® IXP400 Software v2.0’ s “UAR T -Access API” access-layer component. 21.1 What’ s New There are no changes or enhanc ...

  • Intel IXP400 - page 294

    Intel ® IXP400 Software Access-Layer Co mponent s: UART -Access (IxUART Acc) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 294 Docume nt Numb e r: 252539 , Revision: 007 • UAR T IOCTL • Baud rate set/get • Parity • Number of stop bits • Character length 5, 6, 7, 8 • Enable/disable hardware fl ow con trol for Clear to ...

  • Intel IXP400 - page 295

    Intel ® IXP400 Software Access-Layer Component s: UART -Access (IxUART Acc) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 295 21.5 Dependencies Figure 100. UART Services Models Standard RTOS UART Services Ix UartAcc Service Model UART Registers / FIFOs UART Registers / FIFOs OS I/O Service ...

  • Intel IXP400 - page 296

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 296 Docume nt Numb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 297

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 297 Access-Layer Components: USB Access (ixUSB) API 22 This chapter describes the In tel ® IXP400 Software v2.0’ s “USB Access API” access-layer component. 22.1 What’ s New There are no changes or enhancements to th ...

  • Intel IXP400 - page 298

    Intel ® IXP400 Software Access-Layer Co mponent s: USB Acces s (ixUSB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 298 Docume nt Numb e r: 252539 , Revision: 007 Endpoint 0, by default, is used only to comm unicate control transactio ns to configure the UDC after it is reset or hooked up (physically connected to an active USB ...

  • Intel IXP400 - page 299

    Intel ® IXP400 Software Access-Layer Compon ent s: USB Access (ixUSB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 299 Data packets follow token packets, and are used to transmit data between the host and UDC. There are two types of data packets as specified by the PID: DA T A0 and DA T A ...

  • Intel IXP400 - page 300

    Intel ® IXP400 Software Access-Layer Co mponent s: USB Acces s (ixUSB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 300 Docume nt Numb e r: 252539 , Revision: 007 The eight possible types of bulk transactions base d on data direction, error, and stall conditions are shown in T able 54 . (Packets sent by the UDC to the host are ...

  • Intel IXP400 - page 301

    Intel ® IXP400 Software Access-Layer Compon ent s: USB Access (ixUSB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 301 Control transfers are assembled by the host by sendi ng a control transaction to tell the UDC what type of control transfer is taking place (control read or control write ...

  • Intel IXP400 - page 302

    Intel ® IXP400 Software Access-Layer Co mponent s: USB Acces s (ixUSB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 302 Docume nt Numb e r: 252539 , Revision: 007 22.4 ixUSB API Interfaces The ixUSB API components operate within a ca llback architecture. In itial device setup and configurati on is controlled thr ough the callba ...

  • Intel IXP400 - page 303

    Intel ® IXP400 Software Access-Layer Compon ent s: USB Access (ixUSB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 303 • Data transfer type —S t a n d a r d —C l a s s — V en dor • Data recipient —D e v i c e — Interface — Endpoint —O t h e r • Number of bytes to trans ...

  • Intel IXP400 - page 304

    Intel ® IXP400 Software Access-Layer Co mponent s: USB Acces s (ixUSB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 304 Docume nt Numb e r: 252539 , Revision: 007 V ia control endpoin t 0, the user must decode and respo nd to the GET_DESCRIP TOR command. Refer to the Universal Serial Bus Specifica tion Revision 1.1 fo r a full ...

  • Intel IXP400 - page 305

    Intel ® IXP400 Software Access-Layer Compon ent s: USB Access (ixUSB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 305 22.4.1.2 Frame Synchronization The SYNCH_FRAME request is used by isochronou s end poin ts that use implicit-pattern synchronization. The i sochronous endpo ints may need ...

  • Intel IXP400 - page 306

    Intel ® IXP400 Software Access-Layer Co mponent s: USB Acces s (ixUSB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 306 Docume nt Numb e r: 252539 , Revision: 007 The second case of a ST ALL han dshake is known as a “protocol stall” and is unique to con tro l pipes. Protocol stall differs from functional stall in meaning an ...

  • Intel IXP400 - page 307

    Intel ® IXP400 Software Access-Layer Compon ent s: USB Access (ixUSB) API Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 307 T able 61. Det ailed Error Codes #ifndef IX_USB_ERROR_BASE #define IX_USB_ERROR_BASE 4096 #endif /* IX_USB_ERROR_BASE */ /* error due to unknown reasons */ #define IX_USB ...

  • Intel IXP400 - page 308

    Intel ® IXP400 Software Access-Layer Co mponent s: USB Acces s (ixUSB) API April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 308 Docume nt Numb e r: 252539 , Revision: 007 22.5 USB Dat a Flow The USB device is a memory mapped device on the pro cessor ’ s peripheral bus. It will not interact directly with the NPEs. Any dat a path betwe ...

  • Intel IXP400 - page 309

    Intel ® IXP400 Software Codelet s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 309 Codelets 23 This chapter describes the In tel ® IXP400 Software v2.0 codelets. 23.1 What’ s New The following changes and enhan cements were made to the code lets in software release 2.0: • T wo new codele ...

  • Intel IXP400 - page 310

    Intel ® IXP400 Software Codelet s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 310 Docume nt Numb e r: 252539 , Revision: 007 23.4 Crypto Access Codelet (IxCryptoAccCodelet) This codelet demonstrates how to use the IxCr ypto access-layer componen t and the underlying security features in the Intel ® IXP4XX pro duct line and IXC1 1 ...

  • Intel IXP400 - page 311

    Intel ® IXP400 Software Codelet s Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 311 — Configuring Port-1 to automati cally transmit frames and Port -2 to receive frames. Frames generated and transmitted i n Port-1 are looped back into Port-2 b y using cross-over cable. — Configuring and pe ...

  • Intel IXP400 - page 312

    Intel ® IXP400 Software Codelet s April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 312 Docume nt Numb e r: 252539 , Revision: 007 23.10 Performance Profiling Codelet (IxPerfProfAccCodelet) IxPerfProfAccCodelet is a useful utility that dem onstrates how to access performance related data provided by IxPerfProfA cc. The codelet provides ...

  • Intel IXP400 - page 313

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 313 Operating System Abstraction Layer (OSAL) 24 24.1 What’ s New There are no changes or enhancements to this component in software release 2.0. 24.2 Overview An Operating System Services Abstraction Laye r (OSAL) is prov ...

  • Intel IXP400 - page 314

    Intel ® IXP400 Software Operating System Ab st rac tion La yer (OSA L ) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 314 Docume nt Numb e r: 252539 , Revision: 007 Figure 105. OSAL Architecture B3808-001 OS-Independent Component Buffer Management Core I/O Memory & Endianness Platform-Specific Extensions OS-Dependent Component T ...

  • Intel IXP400 - page 315

    Intel ® IXP400 Software Operating System Abst raction La yer (OSAL) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 315 24.3 OS-Independent Core Module As shown in Figure 105 , the OS-independent component include s all the core functionality such as buffer management, platform- and module-speci ...

  • Intel IXP400 - page 316

    Intel ® IXP400 Software Operating System Ab st rac tion La yer (OSA L ) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 316 Docume nt Numb e r: 252539 , Revision: 007 24.4.1 Backward Comp atibility Module The OSAL layer was develo ped during IXP400 softw are v1.5 development and provi des backward compatibility to IXP40 0 software rel ...

  • Intel IXP400 - page 317

    Intel ® IXP400 Software Operating System Abst raction La yer (OSAL) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 317 configuration header file. The OS AL configurat ion head er file (IxOsalConfig.h) contains user- editable fields for modu le inclusion, and it automa tically incl udes the modu ...

  • Intel IXP400 - page 318

    Intel ® IXP400 Software Operating System Ab st rac tion La yer (OSA L ) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 318 Docume nt Numb e r: 252539 , Revision: 007 Figure 106. OSAL Direc tory St ructure os l i n u x (s i m i l a r s u b - d i r s tru c t u re a s v x w o rk s ) i nc l ude I x O s a l . h ( t op O S A L i nc l ude f ...

  • Intel IXP400 - page 319

    Intel ® IXP400 Software Operating System Abst raction La yer (OSAL) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 319 24.6 OSAL Modules and Related Interfaces This section contains a summary of the types, symbols, and public func tions declared by each OSAL module. Note: The items shaded in li ...

  • Intel IXP400 - page 320

    Intel ® IXP400 Software Operating System Ab st rac tion La yer (OSA L ) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 320 Docume nt Numb e r: 252539 , Revision: 007 T able 62. OSAL Core Interface (Sheet 1 of 2) I xO salVoidFnPtr alias f or void ( void) f unctions I xO salVoidFnVoidPtr alias for voi d (void *) functions I xO salSemap ...

  • Intel IXP400 - page 321

    Intel ® IXP400 Software Operating System Abst raction La yer (OSAL) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 321 T able 62. OSAL Core Interface (Sheet 2 of 2) ixOsa lM ut exI nit init ia lizes a m ut ex ixOsa lM ut exLock lock s a m ut ex ixOsa lM ut exUnl o ck unlock s a m u t ex ix Os a ...

  • Intel IXP400 - page 322

    Intel ® IXP400 Software Operating System Ab st rac tion La yer (OSA L ) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 322 Docume nt Numb e r: 252539 , Revision: 007 24.6.2 Buffer Management Module This module defines a memory buffer structure and functions for creating and managing buffer pools. Ta b l e 6 3 provides an overview of ...

  • Intel IXP400 - page 323

    Intel ® IXP400 Software Operating System Abst raction La yer (OSAL) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 323 The OSAL layer also provides APIs for dealin g with the following situatio ns: • T ransparently accessing I/O-memory-mappe d hardware in dif ferent endian modes • T ranspar ...

  • Intel IXP400 - page 324

    Intel ® IXP400 Software Operating System Ab st rac tion La yer (OSA L ) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 324 Docume nt Numb e r: 252539 , Revision: 007 24.7 Supporting a New OS Support for a new operating system can be added separately by creating a new OS-specific folder under the “os” directory , with necessary mo ...

  • Intel IXP400 - page 325

    Intel ® IXP400 Software Operating System Abst raction La yer (OSAL) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 325 • IX_OSAL_IO_ENDIANESS This selects the I/O endianness type re quired by the component. This can be: — Big endian (IX_OSAL_BE) — Little endian (IX_OSAL_LE). In this mode ...

  • Intel IXP400 - page 326

    Intel ® IXP400 Software Operating System Ab st rac tion La yer (OSA L ) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 326 Docume nt Numb e r: 252539 , Revision: 007 { IX_STATIC_MAP, /* type */ IXP123_PCI_CFG_BASE_PHYS, /* physicalAddress */ IXP123_PCI_CFG_REGION_SIZE, /* size */ IXP123_PCI_CFG_BASE_VIRT, /* virtualAddress */ NULL, / ...

  • Intel IXP400 - page 327

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 327 ADSL Driver 25 This chapter describes the ADSL driver for the Intel ® IXDP425 / IXCDP1100 Development Platform and Intel ® IXDP465 Development Platform that supports the STMicroelectronics* (formally Alcatel*) MTK-2 01 ...

  • Intel IXP400 - page 328

    Intel ® IXP400 Software ADSL Driver April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 328 Docume nt Numb e r: 252539 , Revision: 007 25.3.1 Controlling STMicroelect ronics* ADSL Modem Chip set Through CTRL-E The STMicroelectronics ADSL chipset CTRL-E interface is me mory-mapped into the processor ’ s expansion bus address space. Figur ...

  • Intel IXP400 - page 329

    Intel ® IXP400 Software ADSL Driver Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 329 Step 1 of Figure 108 is only required if the cl ient appli cation wants to be notifi ed when a line state changes occurs. S t ep 2 of Figure 108 is called by the client application to establish an A TU-R ADSL ...

  • Intel IXP400 - page 330

    Intel ® IXP400 Software ADSL Driver April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 330 Docume nt Numb e r: 252539 , Revision: 007 25.6 Limit ations and Constraint s • The driver only supports the A T U-R mod e of operation. • The driver can operate in single PHY mode only . ...

  • Intel IXP400 - page 331

    Intel ® IXP400 Software Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 331 I 2 C Driver (IxI2cDrv) 26 This chapter describes the I 2 C Driver provided w ith Intel ® IXP400 Software v2.0, which is for use with the Intel ® IXP46X Product Line of Network Processors. 26.1 What’ s New This is a ...

  • Intel IXP400 - page 332

    Intel ® IXP400 Software I 2 C Driver (IxI2cDrv) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 332 Docume nt Numb e r: 252539 , Revision: 007 • Enable/disable the driving of the SCL line • I 2 C slave address of the processor The I 2 C driver features the following hardware and bus status items: • Master transfer error • Bus ...

  • Intel IXP400 - page 333

    Intel ® IXP400 Software I 2 C Driver (IxI 2cDrv) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 333 26.3.3 Error Handling The I 2 C driver is capable of det ecting all errors that the I 2 C hardware is able to provid e as listed below: • Arbitration loss error • Bus error Any errors that oc ...

  • Intel IXP400 - page 334

    Intel ® IXP400 Software I 2 C Driver (IxI2cDrv) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 334 Docume nt Numb e r: 252539 , Revision: 007 Once an arbitration loss error is det ected, the unit will stop transmitti ng. The client will need to call the transfer again and the I 2 C status register will be checked to determine the bus ...

  • Intel IXP400 - page 335

    Intel ® IXP400 Software I 2 C Driver (IxI 2cDrv) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 335 Slave-Interrupt Mode When the processor is acting in I 2 C slave mode or responding to general calls in interrupt mode, the client callbacks for tr ansmit and receive are responsible for providin ...

  • Intel IXP400 - page 336

    Intel ® IXP400 Software I 2 C Driver (IxI2cDrv) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 336 Docume nt Numb e r: 252539 , Revision: 007 26.4.2 Example Sequence Flo ws for Slave Mode Figure 1 10. Sequence Flow Diagram for Slav e Receiv e / General Call in Interrupt Mode B43 7 5 - 01 I2c Dr v h a rd wa re i nterr upt : sl av e re ...

  • Intel IXP400 - page 337

    Intel ® IXP400 Software I 2 C Driver (IxI 2cDrv) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 337 Figure 1 1 1. Sequence Flow Diagram for Slave T ransmit in Interrupt Mode B437 6 - 01 I2c Dr v har dw ar e in terr upt : sl av e write clie n t tr ans mi t data from buffer No buffer buffer empty ...

  • Intel IXP400 - page 338

    Intel ® IXP400 Software I 2 C Driver (IxI2cDrv) April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 338 Docume nt Numb e r: 252539 , Revision: 007 Figure 1 12. Sequence Flow Diagram for Slave Receive in Polling Mode B4377 -0 1 c li ent i2cDr v ix I 2c Dr vS l av eAddrAndG enC all Detec tedChec k Check Sl av e A d dr Detected IX_I2C_SLA V ...

  • Intel IXP400 - page 339

    Intel ® IXP400 Software I 2 C Driver (IxI 2cDrv) Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 339 26.4.3 I 2 C Using GPIO V ersus Dedicated I 2 C Hardware Some supported operating systems in clude support for emulatin g the I 2 C bus using GPIO lin es on the processor . The I 2 C driver using ...

  • Intel IXP400 - page 340

    This p age is intentionally lef t blank. Intel ® IXP400 Software April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 340 Docume nt Numb e r: 252539 , Revision: 007 ...

  • Intel IXP400 - page 341

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 341 Endianness in Intel ® IXP400 Software 27 27.1 Overview The Intel ® IXP4XX Product Line of Network Processors and IXC1 100 Control Pl ane Processor support Little-Endian (LE) and ...

  • Intel IXP400 - page 342

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 342 Docume nt Numb e r: 252539 , Revision: 007 It should also be noted that en dianness only applies when byte and half-word accesses are made to memory . If a 32-bi t word is read or written to m emory , the bit pattern in ...

  • Intel IXP400 - page 343

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 343 Unfortunately , the answer is NO even with help fro m the most sophisticated hardw are. 27.3 Sof tware Considerations and Implications Much literature is available e xplaining the ...

  • Intel IXP400 - page 344

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 344 Docume nt Numb e r: 252539 , Revision: 007 Little:0x8 Big:0x0 The following provides another exam ple of endi anness causing the code to be interpreted differently on BE versus LE machines: int myString[2] = { 0x61626364 ...

  • Intel IXP400 - page 345

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 345 W e always assume that the byte order value will be set to either Big -Endi an or Litt le-Endian in a define value. 27.3.2 Best Practices in Coding of Endian-Independence Av o i d ...

  • Intel IXP400 - page 346

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 346 Docume nt Numb e r: 252539 , Revision: 007 #define htonl(A) (A) #define ntohs(A) (A) #define ntohl(A) (A) #elif defined(LITTLE_ENDIAN) /* the value of A will be byte swapped */ #define htons(A) ((((A) & 0xff00) >& ...

  • Intel IXP400 - page 347

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 347 This chapter will provide an overview of the IXP4XX product line and IX C1100 control plane processors capabilities related to endi nness. For specific detail on the various capab ...

  • Intel IXP400 - page 348

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 348 Docume nt Numb e r: 252539 , Revision: 007 27.4.1 Supporting Little-Endian Mode The following hardware item s can be config ured by so ftware: • Intel XScale core running un der Little- or Big-Endian mode. • The byte ...

  • Intel IXP400 - page 349

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 349 When the Intel XScale core is in Little-Endian Address Cohere nt mode, words written by the Intel XScale core are in the same format when read by the NPE as words. However , byte ...

  • Intel IXP400 - page 350

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 350 Docume nt Numb e r: 252539 , Revision: 007 27.4.3.2 I ntel XScale ® Core Endianness Mode The Big- and Little-Endian modes are controlled by the B-bit, located in the “Intel StrongARM Control Register”, coprocessor 1 ...

  • Intel IXP400 - page 351

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 351 MCR p15,0,a1,c1,c0,0 ENDM The application code built to run on the system must be compiled to match the endianness. Some compilers generate cod e in Little-Endian m ode by de faul ...

  • Intel IXP400 - page 352

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 352 Docume nt Numb e r: 252539 , Revision: 007 27.4.3.5 P CI Bus Swap The PCI controller has a byte lane swapping f eature. The “swap” is co ntro lled via th e PCI_CSR register ’ s PDS and ADS bits within the PCI contr ...

  • Intel IXP400 - page 353

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 353 IXP42X product line B-0 st epping and IXC1 100 control plane processor B- 0 Ste p pi n g These processor versions support: • Big-Endian • Little-Endian Address Coherency • L ...

  • Intel IXP400 - page 354

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 354 Docume nt Numb e r: 252539 , Revision: 007 When adding support for Little-Endian, there we re two factors taken into account in decidin g where to use Address Coherency and Data Coherency Little-En dian modes. 1. The ini ...

  • Intel IXP400 - page 355

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 355 — Performance Monitoring Unit — Interrupt Controller — GPIO Controller — T imer Block —S S P , I 2 C and IEEE 1588 units on the IXP46X product line. • Blocks controlle ...

  • Intel IXP400 - page 356

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 356 Docume nt Numb e r: 252539 , Revision: 007 27.5.3.2 N PE Downloader — IxNpeDl This component utilizes the NPEs’ Message Handle r and Execution Control re gisters. All registers are word-wide (32 bits). Such registers ...

  • Intel IXP400 - page 357

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 357 27.5.3.4. 1 Dat a Plane The data plane interface for IxEthAcc uses th e IxQMgr component to send/receive messages between the Ethernet access and the Ethernet NPEs . All messages ...

  • Intel IXP400 - page 358

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 358 Docume nt Numb e r: 252539 , Revision: 007 The IP stack typically has an alignm ent restriction on the IP packet. The start of the IP packet must be word-aligned, that is, the ver/hlen field shown above must start on a 3 ...

  • Intel IXP400 - page 359

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 359 The code below provi des the read-out formation after the application of a conversion macro. Effectively , the header comes in as Big-Endian and is then output as Little-Endian. T ...

  • Intel IXP400 - page 360

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 360 Docume nt Numb e r: 252539 , Revision: 007 Figure 1 19 shows that the IP protocol st ack operates correctly with th e payload of fered to the s tack for half-word-aligned ix_d ata using Data Co herent Little-Endian mo de ...

  • Intel IXP400 - page 361

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 361 • IX_OSAL_MBUF word pointers must be swapped prior to subm ission to the NPE. ( ixEthAccPortTxF rameSubmit() ) Note: The IX_OSAL_MBUF ch ain is walked and all IX_OSAL_MBUFs in a ...

  • Intel IXP400 - page 362

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 362 Docume nt Numb e r: 252539 , Revision: 007 vxworksincludep latformsixp400 Ix OsalOsIxp400CustomizedMappings.h. Further info rmation on the VxW orks memory map is available in the VxW orks BSP documentation for the s ...

  • Intel IXP400 - page 363

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof twar e Programmer’s Guide IXP400 Soft ware Version 2.0 April 2005 Document Number: 252539 , Revision: 007 363 Control is transferred from the bootrom into VxW o rks once it is downloaded via FTP . The MMU is disabled during th is transition and, as su ch, all SDRAM is in Address Coherent ...

  • Intel IXP400 - page 364

    Intel ® IXP400 Software Endianness in Intel ® IXP400 Sof tware April 2005 IXP400 Software Versio n 2.0 Programmer’s Guide 364 Docume nt Numb e r: 252539 , Revision: 007 Enable Instr & Data cache. Enable Branch Target buffer. return A similar implementation was requ ired for execution in the VxW orks bootrom. The only caveat is that the SDRA ...

Manufacturer Intel Category Frozen Dessert Maker

Documents that we receive from a manufacturer of a Intel IXP400 can be divided into several groups. They are, among others:
- Intel technical drawings
- IXP400 manuals
- Intel product data sheets
- information booklets
- or energy labels Intel IXP400
All of them are important, but the most important information from the point of view of use of the device are in the user manual Intel IXP400.

A group of documents referred to as user manuals is also divided into more specific types, such as: Installation manuals Intel IXP400, service manual, brief instructions and user manuals Intel IXP400. Depending on your needs, you should look for the document you need. In our website you can view the most popular manual of the product Intel IXP400.

Similar manuals

A complete manual for the device Intel IXP400, how should it look like?
A manual, also referred to as a user manual, or simply "instructions" is a technical document designed to assist in the use Intel IXP400 by users. Manuals are usually written by a technical writer, but in a language understandable to all users of Intel IXP400.

A complete Intel manual, should contain several basic components. Some of them are less important, such as: cover / title page or copyright page. However, the remaining part should provide us with information that is important from the point of view of the user.

1. Preface and tips on how to use the manual Intel IXP400 - At the beginning of each manual we should find clues about how to use the guidelines. It should include information about the location of the Contents of the Intel IXP400, FAQ or common problems, i.e. places that are most often searched by users in each manual
2. Contents - index of all tips concerning the Intel IXP400, that we can find in the current document
3. Tips how to use the basic functions of the device Intel IXP400 - which should help us in our first steps of using Intel IXP400
4. Troubleshooting - systematic sequence of activities that will help us diagnose and subsequently solve the most important problems with Intel IXP400
5. FAQ - Frequently Asked Questions
6. Contact detailsInformation about where to look for contact to the manufacturer/service of Intel IXP400 in a specific country, if it was not possible to solve the problem on our own.

Do you have a question concerning Intel IXP400?

Use the form below

If you did not solve your problem by using a manual Intel IXP400, ask a question using the form below. If a user had a similar problem with Intel IXP400 it is likely that he will want to share the way to solve it.

Copy the text from the picture

Comments (0)