📄 ixatmcodelet_p.h
字号:
ixOamCodeletOamF5EtePing (IxAtmLogicalPort port, UINT32 vpi, UINT32 vci, UINT32 numCells);/** * @brief This function is used to initiate an OAM F5 Segment loopback, i.e. OAM ping, * on the specified Port, VPI and VCI for a number of cells. * ixOamCodeletInit must be called before calling this function. * * OAM F5 Segment Parent Loopback cells are sent to the F5 connection * end point (LLID = all one's). * * If an OAM F5 Segment Child Loopback cell has been received in response to a Parent * cell sent, a message will be displayed at the WindSh prompt. * * The loopback is complete and a subsequent loopback is allowed only when all * the loopback parent cells have been sent and either A) a child loopback cell has been * received in response to the last cell OR B) 5 seconds have passed since the last cell * was sent. * N.B. the function blocks until the loopback has completed. * * @param "IxAtmLogicalPort" The port to send the OAM loopback cells on. This port must have been * configured previously. * * @param "UINT32 VPI" The VPI of the channel to send the OAM loopback cells on. An Aal0/Aal5 * channel need not be configured previously on the same VPI/VCI. * * @param "UINT32 VCI" The VCI of the channel to send the OAM loopback cells on. An Aal0/Aal5 * channel need not be configured previously on the same VPI/VCI. * * @param "UINT32 numCells" The number of parent loopback cells to send. Not checked against * some max value, only limited by size of type. * * @return * - IX_SUCCESS : Indicates that the Oam Codelet has successfully performed the OAM ping. * - IX_FAIL : Some internal error has prevented the Oam Codelet performing the OAM ping. */PUBLIC IX_STATUSixOamCodeletOamF5SegPing (IxAtmLogicalPort port, UINT32 vpi, UINT32 vci, UINT32 numCells);/** * @brief This function is used to initiate an OAM F4 ETE loopback, i.e. OAM ping, * on the specified Port, VPI for a number of cells. F4 flows are VPC * based and as such don't require a VCI. * ixOamCodeletInit must be called before calling this function. * * OAM F4 ETE Parent Loopback cells are sent to the F4 connection * end point (LLID = all one's). * * If an OAM F4 ETE Child Loopback cell has been received in response to a Parent * cell sent, a message will be displayed at the WindSh prompt. * * The loopback is complete and a subsequent loopback is allowed only when all * the loopback parent cells have been sent and either A) a child loopback cell has been * received in response to the last cell OR B) 5 seconds have passed since the last cell * was sent. * N.B. the function blocks until the loopback has completed. * * @param "IxAtmLogicalPort" The port to send the OAM loopback cells on. This port must have been * configured previously. * * @param "UINT32 VPI" The VPI of the channel to send the OAM loopback cells on. An Aal0/Aal5 * channel need not be configured previously on the same VPI/VCI. * * @param "UINT32 numCells" The number of parent loopback cells to send. Not checked against * some max value, only limited by size of type. * * @return * - IX_SUCCESS : Indicates that the Oam Codelet has successfully performed the OAM ping. * - IX_FAIL : Some internal error has prevented the Oam Codelet performing the OAM ping. */PUBLIC IX_STATUSixOamCodeletOamF4EtePing (IxAtmLogicalPort port, UINT32 vpi, UINT32 numCells);/** * @brief This function is used to initiate an OAM F4 Segment loopback, i.e. OAM ping, * on the specified Port, VPI for a number of cells. F4 flows are VPC * based and as such don't require a VCI. * ixOamCodeletInit must be called before calling this function. * * OAM F4 Segment Parent Loopback cells are sent to the F4 connection * end point (LLID = all one's). * * If an OAM F4 Segment Child Loopback cell has been received in response to a Parent * cell sent, a message will be displayed at the WindSh prompt. * * The loopback is complete and a subsequent loopback is allowed only when all * the loopback parent cells have been sent and either A) a child loopback cell has been * received in response to the last cell OR B) 5 seconds have passed since the last cell * was sent. * N.B. the function blocks until the loopback has completed. * * @param "IxAtmLogicalPort" The port to send the OAM loopback cells on. This port must have been * configured previously. * * @param "UINT32 VPI" The VPI of the channel to send the OAM loopback cells on. An Aal0/Aal5 * channel need not be configured previously on the same VPI/VCI. * * @param "UINT32 numCells" The number of parent loopback cells to send. Not checked against * some max value, only limited by size of type. * * @return * - IX_SUCCESS : indicates that the Oam Codelet has successfully performed the OAM ping. * - IX_FAIL : Some internal error has prevented the Oam Codelet performing the OAM ping. */PUBLIC IX_STATUSixOamCodeletOamF4SegPing (IxAtmLogicalPort port, UINT32 vpi, UINT32 numCells);/** * @brief This function is used to dump OAM statistics, i.e. parent and child cell receive * and transmit counts etc. * * @param none * * @return void */voidixOamCodeletShow (void);/** * @brief Register and connect an Aal Pdu receive and transmit VC for a * particular port/vpi/vci. * * This function allows a user to connect to an Aal5 Pdu receive and transmitservice * for a particular port/vpi/vci. It registers the callback and allocates * internal resources and a Connection Id to be used in further API calls * related to this VCC. * * @param port (in) VC identification : logical PHY port [0..7] * @param vpi (in) VC identification : ATM Vpi [0..255] * @param vci (in) VC identification : ATM Vci [0..65535] * @param atmService (in) type of service AAL5 @b only in ixp425 1.0 * @param rxQueueId (in) this identifieds which of two Qs the VC * should use.when icoming traffic is processed * @param rxCallback (in) function called when mbufs are received. * This parameter cannot be a null pointer. * @param minimumReplenishCount (in) number of free mbufs to be used with * this channel. Use a high number when the expected traffic rate on * this channel is high, or when the user's mbufs are small, or when * the RxVcFreeLow Notification has to be invoked less often. * @param bufferFreeCallback (in) function to be called to return * ownership of buffers to IxAtmAtmUtils user. * @param userId (in) user Id to use in callback communications * @param rxConnId (out) Rx Conn Id passed back from IxAtmdAcc * @param txConnId (out) Tx Conn Id passed back from IxAtmdAcc * * @return * IX_SUCCESS successful call to ixAtmUtilsAtmVcRegisterConnect <br> * IX_FAIL parameter error, VC already in use or port is * not initialised or some other error occurs during processing. * */PUBLIC IX_STATUSixAtmUtilsAtmVcRegisterConnect (IxAtmLogicalPort port, unsigned vpi, unsigned vci, IxAtmdAccAalType aalType, IxAtmServiceCategory atmService, IxAtmRxQueueId rxQueueId, IxAtmdAccRxVcRxCallback rxCallback, UINT32 minimumReplenishCount, IxAtmdAccTxVcBufferReturnCallback bufferFreeCallback, IxAtmdAccRxVcFreeLowCallback rxFreeLowCallback, IxAtmdAccUserId userId, IxAtmConnId *rxConnId, IxAtmConnId *txConnId);/** * @brief Disconnect and unregister an Aal transmit and receive VC. * * @param rxConnId (in) conn Id of the Rx VC to disconnect and unregister * @param txConnId (in) conn Id of the Tx VC to disconnect and unregister * * @return * IX_SUCCESS successful call to ixAtmUtilsAtmVcUnregisterDisconnect<br> * IX_FAIL parameter error, failed to disconnect, * not initialised or some other error occurs during processing. * */PUBLIC IX_STATUSixAtmUtilsAtmVcUnregisterDisconnect (IxAtmConnId rxConnId, IxAtmConnId txConnId);/** * @brief Disconnect and unregister all registered VCs. * * @param none * * @return * IX_SUCCESS successful call to ixAtmUtilsAtmAllVcsDisconnect <br> * IX_FAIL parameter error, failed to disconnect, * not initialised or some other error occurs during processing. * */PUBLIC IX_STATUSixAtmUtilsAtmAllVcsDisconnect (void);/** * @brief Download an ATM image to the NPEA * * @param numports (in) Number of ports in the system. A value > 1 requires * a MPHY_MULTIPORT to NPEA image to be downloaded. A value of 1 can use * a SPHY or MPHY NPEA image. * * @param imagePtr (in) Pointer to image file that can contain multiple images. * * @param phyMode (out) This parameter will be set depending on which images is * available in imagePtr. See description for numports above. * * * @return * IX_SUCCESS successful call to ixAtmUtilsAtmNpeImagedownload<br> * IX_FAIL parameter error, failed to disconnect, * not initialised or some other error occurs during processing. * */PUBLIC IX_STATUSixAtmUtilsAtmImageDownload (unsigned numPorts, IxAtmmPhyMode *phyMode);/** * @brief Configure test test and stimulus FPGA clocks for IXP4XX as ATM master * * @param none * * @return * IX_SUCCESS successful call to ixAtmUtilsUtopiaFpgaStimulusAsMasterSet<br> * IX_FAIL parameter error, failed to configure stimulus FPGA, * not initialised or some other error occurs during processing. * */PUBLIC BOOLixAtmUtilsUtopiaFpgaStimulusAsMasterSet(void);/** * @brief Initialize the utilities buffer pool. * * @param none * * @return * IX_SUCCESS successful call to ixAtmUtilsMbufPoolInit <br> * IX_FAIL parameter error, failed initialize buffer pool * or some other error occurs during processing. * */IX_STATUSixAtmUtilsMbufPoolInit (void);/** * @brief Get an unchained buffer * * @param bufSize (in) Buffer capacity. * * @param buf (out) Pointer to buffer; will be set the new buffer * * * @return * IX_SUCCESS successful call to ixAtmUtilsMbufGet <br> * IX_FAIL parameter error, failed to get a buffer, * or some other error occurs during processing. * */voidixAtmUtilsMbufGet (UINT32 bufSize, IX_OSAL_MBUF **buf);/** * @brief Free a buffer chain * * @param buf (out) Pointer to buffer to be freed. * * * @return * IX_SUCCESS successful call to ixAtmUtilsMbufGet<br> * IX_FAIL parameter error, failed to get a buffer, * or some other error occurs during processing. * */voidixAtmUtilsMbufFree (IX_OSAL_MBUF *buf);/** * @brief Show statistics for the buffer pool; free, used buffer counts etc. * * @return none * */voidixAtmUtilsMbufShow (void);/** * @brief Get the total number of MBUF in the pool * * @return none * */voidixAtmUtilsMbufPoolSizeGet (UINT32 bufSize, UINT32 *total);/** * @brief Get the total number of unused MBUF in the pool * * @return none * */voidixAtmUtilsMbufPoolFreeGet (UINT32 bufSize, UINT32 *avail);/** * @brief Setup the ATM codelet to use 8VBR, 8CBR, and 16UBR VCs * * @return none * */ PUBLIC voidixAtmUtilsAtmRtVcsSet(void);/** * @brief This function will return TRUE or FALSE status, to indicate whether * the ATM codelet will or will not setup 8VBR, 8CBR, and 16UBR VCs * * @return * TRUE when real-time VCs are used * FALSE when real-time VCs are not used * */ PUBLIC BOOLixAtmUtilsAtmRtVcsGet(void);/** * @brief This function is responsible to unset the global variable to FALSE * so that the ATM codelet will not setup real-time VCs * * @return none * */PUBLIC voidixAtmUtilsAtmRtVcsUnset(void);#endif/* IXATMCODELET_P_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -