![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IXP425 Ethernet Access Codelet (IxEthAccCodelet) APIIXP425 Ethernet Access Codelet API.
More... |
Defines | |
#define | IX_ETHACC_CODELET_NPEB_MAC |
Hard-encoded MAC address for NPEB. | |
#define | IX_ETHACC_CODELET_NPEC_MAC |
Hard-encoded MAC address for NPEC. | |
#define | IX_ETHACC_CODELET_RX_MBUF_POOL_SIZE |
Size of receive MBuf pool. | |
#define | IX_ETHACC_CODELET_TX_MBUF_POOL_SIZE |
Size of transmit MBuf pool. | |
#define | IX_ETHACC_CODELET_MAX_PORT |
Number of Ethernet Ports supported for this codelet. | |
#define | IX_ETHACC_CODELET_MBUF_POOL_SIZE |
Size of MBuf pool. | |
#define | IX_ETHACC_CODELET_PCK_SIZE |
Size of MBuf packet (recommaended size for ethAcc component). | |
#define | IX_ETHACC_CODELET_PCK_LEN |
Length of MBuf payload (in bytes). | |
#define | IX_ETHACC_CODELET_MBUF_DATA_POOL_SIZE |
Size of MBuf data pool. | |
#define | IX_ETHACC_CODELET_TXGEN_PCK_LEN |
Size of packets for TxGenRxSink Operation. | |
#define | IX_ETHACC_CODELET_TXGEN_PCKS |
Number of packets to generate for the TxGenRxSink Operation. | |
#define | IX_ETHACC_CODELET_RX_FCS_STRIP |
Strip FCS from incoming frames. To undefine, change to #undef. | |
#define | IX_ETHACC_CODELET_FRAME_SIZE |
Maximum size of a frame. | |
Functions | |
PUBLIC IX_STATUS | ixEthAccCodeletMain (IxEthAccCodeletOperation operationType) |
This function is used as a single point of execution for EthAcc codelet. |
This codelet demonstrates both Ethernet Data and Control plane services and Ethernet Management services.
Definition
In the context of this codelet, the following definitions are applicable.
Port 1 = ixe0 = Ethernet port associated with NPE-B Ethernet Coprocessor.
Port 2 = ixe1 = Ethernet port associated with NPE-C Ethernet Coprocessor.
Design constraints
This codelet assumes that the underlying IXP425 Product Line Silicons have two Ethernet NPEs. For silicon with single Ethernet NPE, operation will be only functional in the particular Ethernet port that corresponds to the available Ethernet NPE. Particularly, bridge operation will not work as two Ethernet ports are needed in this operation.
Assumptions
This codelet illustrates the use EthAcc APIs. The operations provided may not be working on the best performance as the target of this codelet is just to show the functionality of APIs. In order to get better performance, #undef IX_ETHACC_CODELET_TXGENRXSINK_VERIFY to disable traffic verification.
Please note that this codelet is not optimized for production quality.
For performance testing, please use the operations below:
The operations below need special tuning to optimize them. Tuning can be done by either using a lower traffic(frames/second), reducing the value of IX_ETHACC_CODELET_TXGEN_PCKS or #undef IX_ETHACC_CODELET_TXGENRXSINK_VERIFY.
VxWorks User Guide
ixEthAccCodeletMain() function is used as a single point of execution for EthAcc Codelet. It allows user to enter selection for different type of supported operations described below:
Usage : >ixEthAccCodeletMain (operationType) Where operationType: 1 = To sink received frames as fast as possible for available ports. 2 = To software loopback received frames to the same port for available ports. 3 = To generate and transmit frames from port 1, remote loopback by using an external cross cable to port 2, and received on port 2 (TxGenRxSink). 4 = To generate frames and perform PHY loopback on the same port for available ports. 5 = To transmit any frame received on one port through the other one (Bridge). 6 = To activate Ethernet MAC learning facility.Linux User Guide
The idea of using the ixEthAccCodeletMain() as a single point of execution for EthAcc codelet. The operation selected will be executed when user issue 'insmod' in command prompt.
Usage : >insmod ixp400_codelets_ethAcc.o operationType= Where x: 1 = To sink received frames as fast as possible for available ports. 2 = To software loopback received frames to the same port for available ports. 3 = To generate and transmit frames from port 1, remote loopback by using an external cross cable to port 2, and received on port 2 (TxGenRxSink). 4 = To generate frames and perform PHY loopback on the same port for available ports. 5 = To transmit any frame received on one port through the other one (Bridge). 6 = To activate Ethernet MAC learning facility.MAC Setup
The default MAC setup will be:
PHY Setup
This codelet uses two PHYs as defined by IX_ETHACC_CODELET_MAX_PHY The default PHY setup will be:
Jumbo frames
This codelet setup enable Jumbo frame reception The default setup will be:
Test Equipment
The test harness will consist of external test equipment capable of generating Ethernet packets (e.g. SmartBits).
The test equipment must be capable of performing at least the following actions to support the scenarios outlined for the Codelet:
|
Maximum size of a frame. This maximum frame size includes different network settings :
Definition at line 379 of file IxEthAccCodelet.h. |
|
Number of Ethernet Ports supported for this codelet.
Definition at line 262 of file IxEthAccCodelet.h. |
|
Size of MBuf data pool.
Definition at line 300 of file IxEthAccCodelet.h. |
|
Size of MBuf pool.
Definition at line 271 of file IxEthAccCodelet.h. |
|
Hard-encoded MAC address for NPEB.
Definition at line 226 of file IxEthAccCodelet.h. |
|
Hard-encoded MAC address for NPEC.
Definition at line 235 of file IxEthAccCodelet.h. |
|
Length of MBuf payload (in bytes).
Definition at line 291 of file IxEthAccCodelet.h. |
|
Size of MBuf packet (recommaended size for ethAcc component).
Definition at line 282 of file IxEthAccCodelet.h. |
|
Strip FCS from incoming frames. To undefine, change to #undef.
|
|
Size of receive MBuf pool.
Definition at line 244 of file IxEthAccCodelet.h. |
|
Size of transmit MBuf pool.
Definition at line 253 of file IxEthAccCodelet.h. |
|
Size of packets for TxGenRxSink Operation.
Definition at line 310 of file IxEthAccCodelet.h. |
|
Number of packets to generate for the TxGenRxSink Operation.
Definition at line 319 of file IxEthAccCodelet.h. |
|
This function is used as a single point of execution for EthAcc codelet.
|