Main Page Modules Alphabetical List Data Structures File List Data Fields Globals # IxAtmCodelet_p.h Go to the documentation of this file.
    00001
    00049 #ifndef IXATMCODELET_P_H
    00050 #define IXATMCODELET_P_H
    00051
    00052 /*
    00053  * System defined includes
    00054  */
    00055
    00056 /*
    00057  * User defined includes
    00058  */
    00059 #include "ix_ossl.h"
    00060 #include "IxAtmTypes.h"
    00061 #include "IxAtmdAcc.h"
    00062 #include "IxTypes.h"
    00063 #include "IxAtmdAcc.h"
    00064 #include "IxAtmm.h"
    00065 #include "IxNpeDl.h"
    00066 #include "IxOsServicesMemAccess.h"
    00067
    00068 /*
    00069  * #defines and macros used in this file.
    00070  */
    00071
    00075 #define IX_ATMCODELET_MBUF_SIZE               (2000)
    00076
    00080 #define IX_ATMCODELET_RX_FREE_Q_LOW_THRESHOLD (8)
    00081
    00085 #define IX_ATMCODELET_DEFAULT_CLP             (0)
    00086
    00090 #define IX_ATMCODELET_LOG printf
    00091
    00095 #define IX_OAM_ITU610_F4_SEG_VCI     3
    00096 #define IX_OAM_ITU610_F4_ETE_VCI     4
    00097
    00101 #define IX_OAM_ITU610_F5_SEG_PTI                    4
    00102 #define IX_OAM_ITU610_F5_ETE_PTI                    5
    00103
    00107 #define IX_OAM_ITU610_LB_CORRELATION_TAG_LEN 4
    00108
    00112 #define IX_OAM_ITU610_LOCATION_ID_LEN 16
    00113
    00117 #define IX_OAM_ITU610_RESERVED_BYTE_VALUE         0x6a
    00118 #define IX_OAM_ITU610_GENERIC_PAYLOAD_RESERVED_BYTES_LEN   45
    00119 #define IX_OAM_ITU610_LB_RESERVED_BYTES_LEN                 8
    00120
    00124 #define IX_OAM_ITU610_RESERVED_AND_CRC10_LEN 2
    00125
    00129 #define IX_OAM_ITU610_LB_TIMEOUT_PERIOD_MSECS   5000
    00130
    00134 #define IX_OAM_ITU610_TYPE_FAULT_MAN_LB     0x18
    00135
    00139 #define IX_OAM_ITU610_LB_INDICATION_PARENT  1
    00140 #define IX_OAM_ITU610_LB_INDICATION_CHILD   0
    00141
    00142 /*
    00143  * Typedefs
    00144  */
    00145
    00149 typedef UINT32 atmCellHeader;
    00150
    00154 typedef struct
    00155 {
    00156     UINT32 txPdus;
    00157     UINT32 txBytes;
    00158     UINT32 rxPdus;
    00159     UINT32 rxBytes;
    00160     UINT32 txDonePdus;
    00161     UINT32 rxFreeBuffers;
    00162     UINT32 txPdusSubmitFail;
    00163     UINT32 txPdusSubmitBusy;
    00164     UINT32 rxPdusInvalid;
    00165 } IxAtmCodeletStats;
    00166
    00170 typedef enum
    00171 {
    00172     IX_ATMCODELET_UTOPIA_LOOPBACK = 0,
    00177     IX_ATMCODELET_SOFTWARE_LOOPBACK,
    00179     IX_ATMCODELET_REMOTE_LOOPBACK,
    00182     IX_ATMCODELET_UTOPIA_LOOPBACK_PERFORM_OAM_PING_F4F5,
    00185     IX_ATMCODELET_SOFTWARE_LOOPBACK_PERFORM_OAM_PING_F4F5
    00188 } IxAtmCodeletMode;
    00189
    00193 typedef enum
    00194 {
    00195     ixAtmCodeletAalTypeInvalid = 0,
    00196     ixAtmCodeletAalType5,
    00197     ixAtmCodeletAalType0_48,
    00198     ixAtmCodeletAalType0_52,
    00199     ixAtmCodeletAalTypeMax
    00200 } IxAtmCodeletAalType;
    00201
    00205 typedef struct
    00206 {
    00207     UINT8 oamTypeAndFunction;
    00208     UINT8 loopbackIndication;
    00209     UINT8 correlationTag[IX_OAM_ITU610_LB_CORRELATION_TAG_LEN];
    00210     UINT8 llid[IX_OAM_ITU610_LOCATION_ID_LEN];
    00211     UINT8 sourceId[IX_OAM_ITU610_LOCATION_ID_LEN];
    00212     UINT8 reserved[IX_OAM_ITU610_LB_RESERVED_BYTES_LEN];
    00213     UINT8 reservedAndCrc10[IX_OAM_ITU610_RESERVED_AND_CRC10_LEN];
    00214 } IxOamITU610LbPayload;
    00215
    00220 typedef struct
    00221 {
    00222     UINT8 oamTypeAndFunction;
    00223     UINT8 reserved[IX_OAM_ITU610_GENERIC_PAYLOAD_RESERVED_BYTES_LEN];
    00224     UINT8 reservedAndCrc10[IX_OAM_ITU610_RESERVED_AND_CRC10_LEN];
    00225 } IxOamITU610GenericPayload;
    00226
    00230 typedef union
    00231 {
    00232     IxOamITU610LbPayload lbPayload;
    00233     IxOamITU610GenericPayload genericPayload;
    00234     /* Other payload types could be defined here, e.g. Fault Management etc.*/
    00235 } IxOamITU610Payload;
    00236
    00240 typedef struct
    00241 {
    00242     atmCellHeader header;
    00243     IxOamITU610Payload payload;
    00244 } IxOamITU610Cell;
    00245
    00246 /*
    00247  * Function declarations
    00248  */
    00249
    00275 PUBLIC IX_STATUS
    00276 ixAtmCodeletSystemInit (UINT32 numPorts,
    00277             IxAtmCodeletMode mode);
    00278
    00321 PUBLIC IX_STATUS
    00322 ixAtmCodeletInit (UINT32 numPorts,
    00323           UINT32 rxToTxRatio);
    00324
    00393 PUBLIC IX_STATUS
    00394 ixAtmCodeletUbrChannelsProvision (UINT32 numPorts,
    00395                   UINT32 numChannels,
    00396                   IxAtmdAccAalType aalType);
    00397
    00441 PUBLIC IX_STATUS
    00442 ixAtmCodeletUbrChannelsRemove (void);
    00443
    00444
    00488 PUBLIC IX_STATUS
    00489 ixAtmCodeletAal0PacketsSend (UINT32 cellsPerPacket,
    00490                  UINT32 numPackets);
    00491
    00513 PUBLIC IX_STATUS
    00514 ixAtmCodeletAal5CpcsSdusSend (UINT32 sduSize,
    00515                   UINT32 numSdus);
    00516
    00535 PUBLIC IX_STATUS
    00536 ixAtmCodeletPortRateModify (IxAtmLogicalPort port,
    00537                 UINT32 portRate);
    00538
    00546 PUBLIC void
    00547 ixAtmCodeletPortQuery (void);
    00548
    00559 PUBLIC void
    00560 ixAtmCodeletShow (void);
    00561
    00565 IX_STATUS
    00566 ixAtmRxTxInit (IxAtmCodeletStats *stats);
    00567
    00568
    00569
    00573 IX_STATUS
    00574 ixAtmRxTxChannelsProvision (UINT32 numPorts,
    00575                 UINT32 numChannels,
    00576                 IxAtmdAccAalType aalType);
    00577
    00581 IX_STATUS
    00582 ixAtmRxTxChannelsRemove ( void );
    00583
    00584
    00588 void
    00589 ixAtmRxTxStatsGet (IxAtmCodeletStats *stats);
    00590
    00594 void
    00595 ixAtmRxTxRxFreeLowReplenish (IxAtmdAccUserId userId);
    00596
    00600 IX_STATUS
    00601 ixAtmRxTxAal5CpcsSdusSend (UINT32 sduSize,
    00602                UINT32 numSdus);
    00603
    00611 IX_STATUS
    00612 ixAtmRxTxAal0PacketsSend (UINT32 cellsPerPacket,
    00613               UINT32 numPackets);
    00614
    00618 IX_STATUS
    00619 ixAtmSwLbInit (IxAtmCodeletStats *stats, UINT32 rxToTxRatio);
    00620
    00624 IX_STATUS
    00625 ixAtmSwLbChannelsProvision (UINT32 numPorts,
    00626                 UINT32 numChannels,
    00627                 IxAtmdAccAalType aalType);
    00628
    00632 IX_STATUS
    00633 ixAtmSwLbChannelsRemove ( void );
    00634
    00635
    00636 /*
    00637  * Replenish buffers to the RxFree queue. Buffers are taken from
    00638  *  the software queue.
    00639  */
    00640 void
    00641 ixAtmSwLbRxFreeLowReplenish (IxAtmdAccUserId userId);
    00642
    00643 /*
    00644  * @brief Get transport stats
    00645  */
    00646 void
    00647 ixAtmSwLbStatsGet (IxAtmCodeletStats *stats);
    00648
    00664 IX_STATUS
    00665 ixOamCodeletInit (UINT32 numPorts);
    00666
    00700 IX_STATUS
    00701 ixOamCodeletOamF5EtePing (IxAtmLogicalPort port,
    00702               UINT32 vpi,
    00703               UINT32 vci,
    00704               UINT32 numCells);
    00705
    00739 IX_STATUS
    00740 ixOamCodeletOamF5SegPing (IxAtmLogicalPort port,
    00741               UINT32 vpi,
    00742               UINT32 vci,
    00743               UINT32 numCells);
    00744
    00776 IX_STATUS
    00777 ixOamCodeletOamF4EtePing (IxAtmLogicalPort port,
    00778               UINT32 vpi,
    00779               UINT32 numCells);
    00780
    00812 IX_STATUS
    00813 ixOamCodeletOamF4SegPing (IxAtmLogicalPort port,
    00814               UINT32 vpi,
    00815               UINT32 numCells);
    00816
    00825 void
    00826 ixOamCodeletShow (void);
    00827
    00861 PUBLIC IX_STATUS
    00862 ixAtmUtilsAtmVcRegisterConnect (IxAtmLogicalPort port,
    00863                  unsigned vpi,
    00864                  unsigned vci,
    00865                  IxAtmdAccAalType aalType,
    00866                  IxAtmServiceCategory atmService,
    00867                  IxAtmRxQueueId rxQueueId,
    00868                  IxAtmdAccRxVcRxCallback rxCallback,
    00869                  UINT32 minimumReplenishCount,
    00870                  IxAtmdAccTxVcBufferReturnCallback bufferFreeCallback,
    00871                  IxAtmdAccRxVcFreeLowCallback rxFreeLowCallback,
    00872                  IxAtmdAccUserId userId,
    00873                  IxAtmConnId *rxConnId,
    00874                  IxAtmConnId *txConnId);
    00875
    00888 PUBLIC IX_STATUS
    00889 ixAtmUtilsAtmVcUnregisterDisconnect (IxAtmConnId rxConnId, IxAtmConnId txConnId);
    00890
    00891
    00903 PUBLIC IX_STATUS
    00904 ixAtmUtilsAtmAllVcsDisconnect (void);
    00905
    00925 PUBLIC IX_STATUS
    00926 ixAtmUtilsAtmImageDownload (unsigned numPorts,
    00927                  IxAtmmPhyMode *phyMode);
    00928
    00940 PUBLIC BOOL
    00941 ixAtmUtilsUtopiaFpgaStimulusAsMasterSet(void);
    00942
    00954 IX_STATUS
    00955 ixAtmUtilsMbufPoolInit (void);
    00956
    00957
    00958
    00973 void
    00974 ixAtmUtilsMbufGet (UINT32 bufSize, IX_MBUF **buf);
    00975
    00988 void
    00989 ixAtmUtilsMbufFree (IX_MBUF *buf);
    00990
    00997 void
    00998 ixAtmUtilsMbufShow (void);
    00999
    01000 #endif
    01001 /* IXATMCODELET_P_H */
Automatically generated from sources. © Intel Corp. 2003