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

📄 ixethacc.h

📁 AMCC POWERPC 44X系列的U-BOOT文件
💻 H
📖 第 1 页 / 共 5 页
字号:
 * * @li Reentrant    - yes * @li ISR Callable - no *  * @sa ixEthAccPortPromiscuousModeClear * * @param portId @ref IxEthAccPortId [in] - Ethernet port id. *  * @return IxEthAccStatus  * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatus ixEthAccPortPromiscuousModeSet(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortUnicastMacAddressSet(      IxEthAccPortId portId,                                                  IxEthAccMacAddr *macAddr) * * @brief Configure unicast MAC address for a particular port * * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] - Ethernet port id. * @param *macAddr @ref IxEthAccMacAddr [in] - Ethernet Mac address. * * @return IxEthAccStatus  * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatus ixEthAccPortUnicastMacAddressSet(IxEthAccPortId portId,													   IxEthAccMacAddr *macAddr);/** * @ingroup IxEthAcc * * @fn ixEthAccPortUnicastMacAddressGet(	IxEthAccPortId portId, 					IxEthAccMacAddr *macAddr) * * @brief Get unicast MAC address for a particular MAC port  * * @pre * The MAC address must first be set via @a ixEthAccMacPromiscuousModeSet * If the MAC address has not been set, the function returns a  * IX_ETH_ACC_MAC_UNINITIALIZED status * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] - Ethernet port id. * @param *macAddr @ref IxEthAccMacAddr [out] - Ethernet MAC address. * * @return  IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_MAC_UNINITIALIZED : port MAC address is not initialized. * @li @a IX_ETH_ACC_FAIL : macAddr is invalid. * * <hr> */PUBLIC IxEthAccStatusixEthAccPortUnicastMacAddressGet(IxEthAccPortId portId,								 IxEthAccMacAddr *macAddr);/** * @ingroup IxEthAcc * * @fn ixEthAccPortMulticastAddressJoin(      IxEthAccPortId portId,                                             IxEthAccMacAddr *macAddr) * * @brief Add a multicast address to the MAC address table. * *  @note *  Due to the operation of the Ethernet MAC multicast filtering mechanism, frames which do not  *  have a multicast destination address which were provisioned via this API may be forwarded  *  to the NPE's. This is a result of the hardware comparison  algorithm used in the destination mac address logic *  within the Ethernet MAC.  * *  See Also: IXP425 hardware development manual. *  * Other functions modify the MAC filtering * * @li @a ixEthAccPortMulticastAddressJoinAll() - all multicast *     frames are forwarded to the application * @li @a ixEthAccPortMulticastAddressLeaveAll() - rollback the *     effects of @a ixEthAccPortMulticastAddressJoinAll() * @li @a ixEthAccPortMulticastAddressLeave() - unprovision a new  *     filtering address * @li @a ixEthAccPortMulticastAddressJoin() - provision a new  *     filtering address * @li @a ixEthAccPortPromiscuousModeSet() - all frames are  *     forwarded to the application regardless of the multicast  *     address provisioned * @li @a ixEthAccPortPromiscuousModeClear() - frames are forwarded  *     to the application following the multicast address provisioned * * In all cases, unicast and broadcast addresses are forwarded to  * the application. * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] - Ethernet port id. * @param *macAddr @ref IxEthAccMacAddr [in] - Ethernet Mac address. * * @return IxEthAccStatus  * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_FAIL : Error writing to the MAC registers * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortMulticastAddressJoin(IxEthAccPortId portId,								 IxEthAccMacAddr *macAddr);/** * @ingroup IxEthAcc * * @fn ixEthAccPortMulticastAddressJoinAll(  IxEthAccPortId portId) * * @brief Filter all frames with multicast dest. * * This function clears the MAC address table, and then sets * the MAC to forward ALL multicast frames to the NPE. * Specifically, it forwards all frames whose destination address * has the LSB of the highest byte set  (01:00:00:00:00:00).  This * bit is commonly referred to as the "multicast bit". * Broadcast frames will still be forwarded.  * * Other functions modify the MAC filtering * * @li @a ixEthAccPortMulticastAddressJoinAll() - all multicast *     frames are forwarded to the application * @li @a ixEthAccPortMulticastAddressLeaveAll() - rollback the *     effects of @a ixEthAccPortMulticastAddressJoinAll() * @li @a ixEthAccPortMulticastAddressLeave() - unprovision a new  *     filtering address * @li @a ixEthAccPortMulticastAddressJoin() - provision a new  *     filtering address * @li @a ixEthAccPortPromiscuousModeSet() - all frames are  *     forwarded to the application regardless of the multicast  *     address provisioned * @li @a ixEthAccPortPromiscuousModeClear() - frames are forwarded  *     to the application following the multicast address provisioned * * In all cases, unicast and broadcast addresses are forwarded to  * the application. * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] - Ethernet port id. * * @return IxEthAccStatus  * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortMulticastAddressJoinAll(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortMulticastAddressLeave( IxEthAccPortId portId,                                         IxEthAccMacAddr *macAddr) * * @brief Remove a multicast address from the MAC address table. * * Other functions modify the MAC filtering * * @li @a ixEthAccPortMulticastAddressJoinAll() - all multicast *     frames are forwarded to the application * @li @a ixEthAccPortMulticastAddressLeaveAll() - rollback the *     effects of @a ixEthAccPortMulticastAddressJoinAll() * @li @a ixEthAccPortMulticastAddressLeave() - unprovision a new  *     filtering address * @li @a ixEthAccPortMulticastAddressJoin() - provision a new  *     filtering address * @li @a ixEthAccPortPromiscuousModeSet() - all frames are  *     forwarded to the application regardless of the multicast  *     address provisioned * @li @a ixEthAccPortPromiscuousModeClear() - frames are forwarded  *     to the application following the multicast address provisioned * * In all cases, unicast and broadcast addresses are forwarded to  * the application. * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] - Ethernet port id. * @param *macAddr @ref IxEthAccMacAddr [in] - Ethernet Mac address. * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_NO_SUCH_ADDR :  Failed if MAC address was not in the table. * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortMulticastAddressLeave(IxEthAccPortId portId,								  IxEthAccMacAddr *macAddr);/** * @ingroup IxEthAcc * * @fn ixEthAccPortMulticastAddressLeaveAll( IxEthAccPortId portId) * * @brief This function unconfigures the multicast filtering settings * * This function first clears the MAC address table, and then sets * the MAC as configured by the promiscuous mode current settings. * * Other functions modify the MAC filtering * * @li @a ixEthAccPortMulticastAddressJoinAll() - all multicast *     frames are forwarded to the application * @li @a ixEthAccPortMulticastAddressLeaveAll() - rollback the *     effects of @a ixEthAccPortMulticastAddressJoinAll() * @li @a ixEthAccPortMulticastAddressLeave() - unprovision a new  *     filtering address * @li @a ixEthAccPortMulticastAddressJoin() - provision a new  *     filtering address * @li @a ixEthAccPortPromiscuousModeSet() - all frames are  *     forwarded to the application regardless of the multicast  *     address provisioned * @li @a ixEthAccPortPromiscuousModeClear() - frames are forwarded  *     to the application following the multicast address provisioned * * In all cases, unicast and broadcast addresses are forwarded to  * the application. * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] - Ethernet port id. * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortMulticastAddressLeaveAll(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortUnicastAddressShow(IxEthAccPortId portId) * * @brief Displays unicast MAC address * * Displays unicast address which is configured using  * @a ixEthAccUnicastMacAddressSet. This function also displays the MAC filter used * to filter multicast frames. * * Other functions modify the MAC filtering * * @li @a ixEthAccPortMulticastAddressJoinAll() - all multicast *     frames are forwarded to the application * @li @a ixEthAccPortMulticastAddressLeaveAll() - rollback the *     effects of @a ixEthAccPortMulticastAddressJoinAll() * @li @a ixEthAccPortMulticastAddressLeave() - unprovision a new  *     filtering address * @li @a ixEthAccPortMulticastAddressJoin() - provision a new  *     filtering address * @li @a ixEthAccPortPromiscuousModeSet() - all frames are  *     forwarded to the application regardless of the multicast  *     address provisioned * @li @a ixEthAccPortPromiscuousModeClear() - frames are forwarded  *     to the application following the multicast address provisioned * * In all cases, unicast and broadcast addresses are forwarded to  * the application. * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] - Ethernet port id. * * @return void * * <hr> */PUBLIC IxEthAccStatus ixEthAccPortUnicastAddressShow(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortMulticastAddressShow( IxEthAccPortId portId) * * @brief Displays multicast MAC address * * Displays multicast address which have been configured using @a ixEthAccMulticastAddressJoin *  * @li Reentrant    - yes * @li ISR Callable - no *  * @param portId @ref IxEthAccPortId [in] - Ethernet port id. * * @return void * * <hr> */PUBLIC void ixEthAccPortMulticastAddressShow( IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortDuplexModeSet( IxEthAccPortId portId, IxEthAccDuplexMode mode ) * * @brief  Set the duplex mode for the MAC. * * Configure the IXP400 MAC to either full or half duplex.  * * @note  * The configuration should match that provisioned on the PHY. * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] * @param mode @ref IxEthAccDuplexMode [in] * * @return IxEthAccStatus  * @li @a IX_ETH_ACC_SUCCESS  * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatus ixEthAccPortDuplexModeSet(IxEthAccPortId portId,IxEthAccDuplexMode mode);/** * @ingroup IxEthAcc * * @fn ixEthAccPortDuplexModeGet( IxEthAccPortId portId, IxEthAccDuplexMode *mode ) * * @brief  Get the duplex mode for the MAC. * * return the duplex configuration of the IXP400 MAC. * * @note * The configuration should match that provisioned on the PHY. * See @a ixEthAccDuplexModeSet * * @li Reentrant    - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] * @param *mode @ref IxEthAccDuplexMode [out] * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS  * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> * */PUBLIC IxEthAccStatus ixEthAccPortDuplexModeGet(IxEthAccPortId portId,IxEthAccDuplexMode *mode );/** * @ingroup IxEthAcc * * @fn ixEthAccPortTxFrameAppendPaddingEnable( IxEthAccPortId portId) * * @brief  Enable padding bytes to be appended to runt frames submitted to * this port *  * Enable up to 60 null-bytes padding bytes to be appended to runt frames  * submitted to this port. This is the default behavior of the access  * component. * * @warning Do not change this behaviour while the port is enabled. * * @note When Tx padding is enabled, Tx FCS generation is turned on * * @li Reentrant    - yes * @li ISR Callable - no

⌨️ 快捷键说明

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