1#ifndef _RTL8367C_ASICDRV_RMA_H_ 2#define _RTL8367C_ASICDRV_RMA_H_ 3 4#include <rtl8367c_asicdrv.h> 5 6#define RTL8367C_RMAMAX 0x2F 7 8enum RTL8367C_RMAOP 9{ 10 RMAOP_FORWARD = 0, 11 RMAOP_TRAP_TO_CPU, 12 RMAOP_DROP, 13 RMAOP_FORWARD_EXCLUDE_CPU, 14 RMAOP_END 15}; 16 17 18typedef struct rtl8367c_rma_s{ 19 20#ifdef _LITTLE_ENDIAN 21 rtk_uint16 portiso_leaky:1; 22 rtk_uint16 vlan_leaky:1; 23 rtk_uint16 keep_format:1; 24 rtk_uint16 trap_priority:3; 25 rtk_uint16 discard_storm_filter:1; 26 rtk_uint16 operation:2; 27 rtk_uint16 reserved:7; 28#else 29 rtk_uint16 reserved:7; 30 rtk_uint16 operation:2; 31 rtk_uint16 discard_storm_filter:1; 32 rtk_uint16 trap_priority:3; 33 rtk_uint16 keep_format:1; 34 rtk_uint16 vlan_leaky:1; 35 rtk_uint16 portiso_leaky:1; 36#endif 37 38}rtl8367c_rma_t; 39 40 41extern ret_t rtl8367c_setAsicRma(rtk_uint32 index, rtl8367c_rma_t* pRmacfg); 42extern ret_t rtl8367c_getAsicRma(rtk_uint32 index, rtl8367c_rma_t* pRmacfg); 43extern ret_t rtl8367c_setAsicRmaCdp(rtl8367c_rma_t* pRmacfg); 44extern ret_t rtl8367c_getAsicRmaCdp(rtl8367c_rma_t* pRmacfg); 45extern ret_t rtl8367c_setAsicRmaCsstp(rtl8367c_rma_t* pRmacfg); 46extern ret_t rtl8367c_getAsicRmaCsstp(rtl8367c_rma_t* pRmacfg); 47extern ret_t rtl8367c_setAsicRmaLldp(rtk_uint32 enabled, rtl8367c_rma_t* pRmacfg); 48extern ret_t rtl8367c_getAsicRmaLldp(rtk_uint32 *pEnabled, rtl8367c_rma_t* pRmacfg); 49 50#endif /*#ifndef _RTL8367C_ASICDRV_RMA_H_*/ 51 52