⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ixethaal5app.h

📁 intel IXP400系列cpu(2.3版)的库文件
💻 H
📖 第 1 页 / 共 2 页
字号:
 *              |          +---------+--------+       | *          Eth |                                     | OC3                |     +--------+        +-------+     |                 +---> | IXP4XX |<------>| DSLAM | <---+                      |        |  ADSL  |       |                             +--------+        +-------+          @endverbatim  * * The VPI and VCI value is similar to Configuration Example 1. Ensure that * either the DSLAM matches the EthAal5App codelet's VPI/VCI default values * or the EthAal5App matches the DSLAM's VPI/VCI default values. * * By default, the codelet is setup to 1VC per ATM port (SPHY). In order to  * setup 8VC, please change the following: *                     #define IX_EAA_NUM_ATM_VCS 32 * * On the Adtech, setup Eth frame type II for the AX4000 Eth card and  * configure the destination and source MAC address accordingly.  * For example the frame contains: *   Dest MAC Address = 00:00:00:00:03:01 *   Src MAC Address: 00:00:00:00:02:01 * Repeat this for all of the 8VCs * Also specify the frame size * * @{ */#include "IxOsal.h"#include "IxEthAcc.h"#include "IxAtmTypes.h"#include "EthAal5User.h"#include "IxEthAal5App_p.h"/** * @ingroup IxEthAal5App * * @def IX_EAA_NUM_BUFFERS_PER_ETH * @brief  This is the number of buffers, which can be stored in free buffer  * queue for each ethernet port  */#ifndef IX_EAA_NUM_BUFFERS_PER_ETH#define IX_EAA_NUM_BUFFERS_PER_ETH  2048#endif/** * @ingroup IxEthAal5App * * @def IX_EAA_NUM_ATM_PORTS * @brief Define number of supported atm ports by this application * * User can define them in EthAal5User.h file to overwrite definitions below */#ifndef  IX_EAA_NUM_ATM_PORTS#if IX_UTOPIAMODE == 1#define IX_EAA_NUM_ATM_PORTS     1#else#define IX_EAA_NUM_ATM_PORTS     8#endif#endif/** * @ingroup IxEthAal5App * * @def IX_EAA_NUM_ATM_VCS * @brief Define number of supported atm VCs by this application * * User can define them in EthAal5User.h file to overwrite definitions below */#ifndef  IX_EAA_NUM_ATM_VCS#if IX_UTOPIAMODE == 1#define IX_EAA_NUM_ATM_VCS       1#else#define IX_EAA_NUM_ATM_VCS       8#endif#endif/** * @ingroup IxEthAal5App * * @def IX_EAA_NUM_BUFFERS_PER_VC * @brief This is the number of buffers per atm port  * * User can define them in EthAal5User.h file to overwrite definitions below */#ifndef IX_EAA_NUM_BUFFERS_PER_VC#define IX_EAA_NUM_BUFFERS_PER_VC 16 #endif/** * @ingroup IxEthAal5App * @brief Define default VPI for VC1 */#define IX_EAA_VC1_VPI 10/** * @ingroup IxEthAal5App * @brief Define default VPI for VC2 */#define IX_EAA_VC2_VPI 10/** * @ingroup IxEthAal5App * @brief Define default VPI for VC3 */#define IX_EAA_VC3_VPI 10/** * @ingroup IxEthAal5App * @brief Define default VPI for VC4 */#define IX_EAA_VC4_VPI 10/** * @ingroup IxEthAal5App * @brief Define default VPI for VC5 */#define IX_EAA_VC5_VPI 10/** * @ingroup IxEthAal5App * @brief Define default VPI for VC6 */#define IX_EAA_VC6_VPI 10/** * @ingroup IxEthAal5App * @brief Define default VPI for VC7 */#define IX_EAA_VC7_VPI 10/** * @ingroup IxEthAal5App * @brief Define default VPI for VC8 */#define IX_EAA_VC8_VPI 10/** * @ingroup IxEthAal5App * @brief Define default VCI for VC1 */#define IX_EAA_VC1_VCI 63/** * @ingroup IxEthAal5App * @brief Define default VCI for VC2 */#define IX_EAA_VC2_VCI 90/** * @ingroup IxEthAal5App * @brief Define default VCI for VC3 */#define IX_EAA_VC3_VCI 91/** * @ingroup IxEthAal5App * @brief Define default VCI for VC4 */#define IX_EAA_VC4_VCI 92/** * @ingroup IxEthAal5App * @brief Define default VCI for VC5 */#define IX_EAA_VC5_VCI 93/** * @ingroup IxEthAal5App * @brief Define default VCI for VC6 */#define IX_EAA_VC6_VCI 94/** * @ingroup IxEthAal5App * @brief Define default VCI for VC7 */#define IX_EAA_VC7_VCI 95/** * @ingroup IxEthAal5App * @brief Define default VCI for VC8 */#define IX_EAA_VC8_VCI 96/** * @ingroup IxEthAal5App  *  * @brief Define default for MAC1 address for ixEAAAddMac() function  */ #define IX_EAA_MAC1 00/** * @ingroup IxEthAal5App * * @brief Define default for MAC2 address for ixEAAAddMac() function */#define IX_EAA_MAC2 00/** * @ingroup IxEthAal5App * * @brief Define default for MAC3 address for ixEAAAddMac() function */#define IX_EAA_MAC3 00/** * @ingroup IxEthAal5App * * @brief Define default for MAC4 address for ixEAAAddMac() function */#define IX_EAA_MAC4 00/** * @ingroup IxEthAal5App * * @brief Define default for MAC5 address for ixEAAAddMac() function */#define IX_EAA_MAC5 03/** * @ingroup IxEthAal5App * * @brief Define default for MAC6 address for ixEAAAddMac() function */#define IX_EAA_MAC6 01/** * @ingroup IxEthAal5App * * @brief Define default for Port number for ixEAAAddMac() function */#define IX_EAA_PORT0             0/** * @ingroup IxEthAal5App * * @brief Define medium thread priority for ixEAAPollTask() function */#define IX_ETHAAL5APP_THREAD_PRI_MEDIUM       160/** * @ingroup IxEthAal5App * * @fn ixEthAal5AppCodeletMain(IxEAAModeType modeType) * * @brief This is the main function that executes the EthAal5App codelet * * It first calls IxEAAMain() function which initialize the MAC database,  * to be an in valid Mac addresses (i.e. contain 0xffs), QMGR, NpeMh, Eth phys * - 100Mbit, FULL DUPLEX,  NO AUTONEGOTIATION (User can change those settings  * accordingly to required configuration), ATM, and Utopia interface. * * If Linux* is used, use interrupt mode - much faster under Linux* than polling * * If vxWorks* is used use poll mode - much faster under vxWorks* than  * interrupts and start background QMgr queues poll * * After which the main has been called, this ixEthAal5AppCodeletMain() function * will add the MAC address using ixEAAAddMAC() function. For a single PHY  * utopia mode, only one port will be setup a single MAC address. However, if * multiple phy is used, 8 ports will be setup and each port is assigned with * a unique MAC addresses.<br> * For single utopia phy. The following is setup using ixEAAAddMAC() function * @verbatim        ixEAAAddMAC(IX_EAA_PORT0,		    IX_EAA_MAC1, 		    IX_EAA_MAC2, 		    IX_EAA_MAC3, 		    IX_EAA_MAC4, 		    IX_EAA_MAC5, 		    IX_EAA_MAC6);         @endverbatim * * For multi phy utopia the port number and  MAC6 increments using a for-loop * @verbatim    for (port = 0, nextMac = 0; port < IX_EAA_NUM_ATM_PORTS; port++, nextMac++)    {	ixEAAAddMAC(IX_EAA_PORT0 + port,		    IX_EAA_MAC1,		    IX_EAA_MAC2,		    IX_EAA_MAC3,		    IX_EAA_MAC4,		    IX_EAA_MAC5,		    IX_EAA_MAC6 + nextMac);    }    @endverbatim * * * Lastly, ixEthAal5AppCodeletMain() creates a thread which purposed to display  * the EthAal5App codelet counter every 15secs */PUBLIC IX_STATUSixEthAal5AppCodeletMain(IxEAAModeType modeType);#endif /* IXETHAAL5APP_H *//** @} defgroup IxEthAal5App*//** @} defgroup Codelets*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -