?? ixethacc.h
字號:
* * @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 + -