Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

IxEthAcc.h File Reference

this file contains the public API of IXP425 Ethernet Access (IxEthAcc) API component More...

Go to the source code of this file.

Data Structures

struct  IxEthAccMacAddr
 The IEEE 802.3 Ethernet MAC address structure. More...

struct  IxEthEthObjStats
 This struct defines the statistics returned by this component. The component returns MIB2 EthObj variables which should are obtained from the hardware or maintained by this component. More...


Defines

#define IX_ETH_ACC_NUMBER_OF_PORTS
 Defines related to the number of NPE's and mapping between PortId and NPE.

#define IX_IEEE803_MAC_ADDRESS_SIZE
 Defines the size of the MAC address NPE.

#define IX_ETH_ACC_NUM_TX_PRIORITIES
 The number of transmit priorities.

#define IX_ETHACC_RX_MBUF_MIN_SIZE
 This defines the recommanded minimum size of MBUF's submitted to the frame receive service.

#define IXP425_ETH_ACC_MII_MAX_ADDR
 This defines the highest MII address of any attached PHYs.

#define ixEthAccMiiPhyScan(phyPresent)
 : deprecated API entry point. This definition ensures backward compatibility

#define ixEthAccMiiPhyConfig(phyAddr, speed100, fullDuplex, autonegotiate)
 : deprecated API entry point. This definition ensures backward compatibility

#define ixEthAccMiiPhyReset(phyAddr)
 : deprecated API entry point. This definition ensures backward compatibility

#define ixEthAccMiiLinkStatus(phyAddr, linkUp, speed100, fullDuplex, autoneg)
 : deprecated API entry point. This definition ensures backward compatibility

#define ixEthAccMiiShow(phyAddr)
 : deprecated API entry point. This definition ensures backward compatibility


Typedefs

typedef void(* IxEthAccPortTxDoneCallback )(UINT32 callbackTag, IX_MBUF *buffer)
 Function prototype for Ethernet Tx Buffer Done callback. Registered via ixEthAccTxBufferDoneCallbackRegister.

typedef void(* IxEthAccPortRxCallback )(UINT32 callbackTag, IX_MBUF *buffer, IxEthAccPortId portId)
 Function prototype for Ethernet Frame Rx callback. Registered via ixEthAccPortRxCallbackRegister.


Enumerations

enum  IxEthAccStatus {
  IX_ETH_ACC_SUCCESS,
  IX_ETH_ACC_FAIL,
  IX_ETH_ACC_INVALID_PORT,
  IX_ETH_ACC_PORT_UNINITIALIZED,
  IX_ETH_ACC_MAC_UNINITIALIZED,
  IX_ETH_ACC_INVALID_ARG,
  IX_ETH_TX_Q_FULL,
  IX_ETH_ACC_NO_SUCH_ADDR
}
 This is an enum to define the Ethernet Access status. More...

enum  IxEthAccPortId {
  IX_ETH_PORT_1,
  IX_ETH_PORT_2
}
 This is an emum to define the IXP425 Mac Ethernet device. More...

enum  IxEthAccTxPriority {
  IX_ETH_ACC_TX_PRIORITY_0,
  IX_ETH_ACC_TX_PRIORITY_1,
  IX_ETH_ACC_TX_PRIORITY_2,
  IX_ETH_ACC_TX_PRIORITY_3,
  IX_ETH_ACC_TX_PRIORITY_4,
  IX_ETH_ACC_TX_PRIORITY_5,
  IX_ETH_ACC_TX_PRIORITY_6,
  IX_ETH_ACC_TX_PRIORITY_7,
  IX_ETH_ACC_TX_DEFAULT_PRIORITY
}
 enum to submit a frame with relative priority. More...

enum  IxEthAccDuplexMode {
  IX_ETH_ACC_FULL_DUPLEX,
  IX_ETH_ACC_HALF_DUPLEX
}
 Definition to provision the duplex mode of the MAC. More...

enum  IxEthAccTxSchedulerDiscipline {
  FIFO_NO_PRIORITY,
  FIFO_PRIORITY
}
 Definition for the port transmit scheduling discipline Definition for the port transmit scheduling discipline. More...


Functions

IxEthAccStatus ixEthAccInit (void)
 Initialize the Ethernet Access Service.

void ixEthAccUnload (void)
 Unload the Ethernet Access Service.

IxEthAccStatus ixEthAccPortInit (IxEthAccPortId portId)
 Initialize an Ethernet MAC Port.

IxEthAccStatus ixEthAccPortTxFrameSubmit (IxEthAccPortId portId, IX_MBUF *buffer, IxEthAccTxPriority priority)
 This function shall be used to submit MBUFs buffers for transmission on a particular MAC device.

IxEthAccStatus ixEthAccPortTxDoneCallbackRegister (IxEthAccPortId portId, IxEthAccPortTxDoneCallback txCallbackFn, UINT32 callbackTag)
 This function registers a callback function to facilitate the return of transmit buffers to the user.

IxEthAccStatus ixEthAccPortRxCallbackRegister (IxEthAccPortId portId, IxEthAccPortRxCallback rxCallbackFn, UINT32 callbackTag)
 The function registered through this function shall be called once per received Ethernet frame.

IxEthAccStatus ixEthAccPortRxFreeReplenish (IxEthAccPortId portId, IX_MBUF *buffer)
 This function provides buffers for the Ethernet receive path.

IxEthAccStatus ixEthAccPortEnable (IxEthAccPortId portId)
 Enable a port.

IxEthAccStatus ixEthAccPortDisable (IxEthAccPortId portId)
 Disable a port.

IxEthAccStatus ixEthAccPortEnabledQuery (IxEthAccPortId portId, BOOL *enabled)
 Get the enabled state of a port.

IxEthAccStatus ixEthAccPortPromiscuousModeClear (IxEthAccPortId portId)
 Put the Ethernet MAC device in non-promiscuous mode.

IxEthAccStatus ixEthAccPortPromiscuousModeSet (IxEthAccPortId portId)
 Put the MAC device in promiscuous mode.

IxEthAccStatus ixEthAccPortUnicastMacAddressSet (IxEthAccPortId portId, IxEthAccMacAddr *macAddr)
 Configure unicast MAC address for a particular port.

IxEthAccStatus ixEthAccPortUnicastMacAddressGet (IxEthAccPortId portId, IxEthAccMacAddr *macAddr)
 Get unicast MAC address for a particular MAC port.

IxEthAccStatus ixEthAccPortMulticastAddressJoin (IxEthAccPortId portId, IxEthAccMacAddr *macAddr)
 ADD a multicast address to the MAC address table.

IxEthAccStatus ixEthAccPortMulticastAddressJoinAll (IxEthAccPortId portId)
 Filter all frames with multicast dest.

IxEthAccStatus ixEthAccPortMulticastAddressLeave (IxEthAccPortId portId, IxEthAccMacAddr *macAddr)
 Remove a multicast address from the MAC address table.

IxEthAccStatus ixEthAccPortMulticastAddressLeaveAll (IxEthAccPortId portId)
 Clear the MAC address table.

IxEthAccStatus ixEthAccPortUnicastAddressShow (IxEthAccPortId portId)
 Display unicast address has been configured using ixEthAccUnicastMacAddressSet.

void ixEthAccPortMulticastAddressShow (IxEthAccPortId portId)
 Display multicast address which have been configured using ixEthAccMulticastAddressJoin Display multicast address which have been configured using ixEthAccMulticastAddressJoin.

IxEthAccStatus ixEthAccPortDuplexModeSet (IxEthAccPortId portId, IxEthAccDuplexMode mode)
 Set the duplex mode for the MAC.

IxEthAccStatus ixEthAccPortDuplexModeGet (IxEthAccPortId portId, IxEthAccDuplexMode *mode)
 Get the duplex mode for the MAC.

IxEthAccStatus ixEthAccPortTxFrameAppendPaddingEnable (IxEthAccPortId portId)
 Enable the appending of padding bytes to runt frames submitted to this port.

IxEthAccStatus ixEthAccPortTxFrameAppendPaddingDisable (IxEthAccPortId portId)
 Disable the appending of padding bytes to the runt frames submitted to this port.

IxEthAccStatus ixEthAccPortTxFrameAppendFCSEnable (IxEthAccPortId portId)
 Enable the appending of Ethernet FCS to all frames submitted to this port.

IxEthAccStatus ixEthAccPortTxFrameAppendFCSDisable (IxEthAccPortId portId)
 Disable the appending of Ethernet FCS to all frames submitted to this port.

IxEthAccStatus ixEthAccPortRxFrameAppendFCSEnable (IxEthAccPortId portId)
 Forward frames with FCS included in the receive buffer to the user.

IxEthAccStatus ixEthAccPortRxFrameAppendFCSDisable (IxEthAccPortId portId)
 Disable the appending of Ethernet FCS to all frames submitted to this port.

IxEthAccStatus ixEthAccTxSchedulingDisciplineSet (IxEthAccPortId portId, IxEthAccTxSchedulerDiscipline sched)
 Set the port scheduling to one of IxEthAccTxSchedulerDiscipline Set the port scheduling to one of IxEthAccTxSchedulerDiscipline.

IxEthAccStatus ixEthAccMibIIStatsGet (IxEthAccPortId portId,IxEthEthObjStats *retStats)
 Return the statistics maintained for a port. Return the statistics maintained for a port.

IxEthAccStatus ixEthAccMibIIStatsGetClear (IxEthAccPortId portId, IxEthEthObjStats *retStats)
 Return and clear the statistics maintained for a port. Return and clear the statistics maintained for a port.

IxEthAccStatus ixEthAccMibIIStatsClear (IxEthAccPortId portId)
 Clear the statistics maintained for a port. Clear the statistics maintained for a port.

IxEthAccStatus ixEthAccMacInit (IxEthAccPortId portId)
 Initialize the ethernet MAC settings.

void ixEthAccStatsShow (IxEthAccPortId portId)
 Display a ports statistics on the standard io console using printf. Display a ports statistics on the standard io console using printf.

IxEthAccStatus ixEthAccMiiReadRtn (UINT8 phyAddr, UINT8 phyReg, UINT16 *value)
 Read a 16 bit value from a PHY.

IxEthAccStatus ixEthAccMiiWriteRtn (UINT8 phyAddr, UINT8 phyReg, UINT16 value)
 Write a 16 bit value to a PHY.

IxEthAccStatus ixEthAccMiiStatsShow (UINT32 phyAddr)
 Display detailed information on a specified PHY.


Detailed Description

this file contains the public API of IXP425 Ethernet Access (IxEthAcc) API component

Design notes: The mbuf address is to be specified in the least significant 28-bit location [0:27]. The most significant 4-bit [31:29] are for interal use only.

Version:
Revision
1.72
-- Intel Copyright Notice --
Copyright 2002-2003 Intel Corporation All Rights Reserved.
The source code contained or described herein and all documents related to the source code ("Material") are owned by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or its suppliers and licensors.
The Material is protected by worldwide copyright and trade secret laws and treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted, distributed, or disclosed in any way except in accordance with the applicable license agreement .
No license under any patent, copyright, trade secret or other intellectual property right is granted to or conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement, estoppel, except in accordance with the applicable license agreement.
Unless otherwise agreed by Intel in writing, you may not remove or alter this notice or any other notice embedded in Materials by Intel or Intel's suppliers or licensors in any way.
For further details, please see the file README.TXT distributed with this software.
-- End Intel Copyright Notice --

Definition in file IxEthAcc.h.

Automatically generated from sources. © Intel Corp. 2003