/* * Copyright c Realtek Semiconductor Corporation, 2009 * All rights reserved. * * Program : Switch table basic operation driver * Abstract : * Author : hyking (hyking_liu@realsil.com.cn) */ #ifndef RTL865X_ASICBASIC_H #define RTL865X_ASICBASIC_H #define RTL8651_ASICTABLE_ENTRY_LENGTH (8 * sizeof(uint32)) #if defined(RTL865X_TEST) || defined(RTL865X_MODEL_USER) || defined(RTL865X_MODEL_KERNEL) #define RTL8651_ASICTABLE_BASE_OF_ALL_TABLES pVirtualSWTable #else #define RTL8651_ASICTABLE_BASE_OF_ALL_TABLES REAL_SWTBL_BASE #endif /* RTL865X_TEST */ enum { TYPE_L2_SWITCH_TABLE = 0, TYPE_ARP_TABLE, //1 TYPE_L3_ROUTING_TABLE, //2 TYPE_MULTICAST_TABLE, //3 TYPE_NETINTERFACE_TABLE,//4 TYPE_EXT_INT_IP_TABLE, //5 TYPE_VLAN_TABLE, //6 TYPE_VLAN1_TABLE, //7 TYPE_SERVER_PORT_TABLE, //8 TYPE_L4_TCP_UDP_TABLE, //9 TYPE_L4_ICMP_TABLE, //10 TYPE_PPPOE_TABLE, //11 TYPE_ACL_RULE_TABLE, //12 TYPE_NEXT_HOP_TABLE, //13 TYPE_RATE_LIMIT_TABLE, //14 TYPE_ALG_TABLE, //15 #if defined(CONFIG_RTL_8685S_HWNAT) // IPv6 modify TYPE_DS_LITE_TABLE, //16 TYPE_6RD_TABLE, //17 TYPE_IPv6_ROUTING_TABLE,//18 TYPE_IPv6_NEXTHOP_TABLE,//19 TYPE_IPV6_NEIGH_TABLE, //20 TYPE_IPv6_MULTICAST_TABLE,//21 #endif /* CONFIG_RTL_8685S_HWNAT */ #if defined(CONFIG_RTL_HW_NAPT_4KENTRY) TYPE_L4_EXT_TCP_UDP_TABLE=25,//0xbb190000 #endif }; /*#define rtl8651_asicTableAccessAddrBase(type) (RTL8651_ASICTABLE_BASE_OF_ALL_TABLES + 0x10000 * (type)) */ #define rtl8651_asicTableAccessAddrBase(type) (RTL8651_ASICTABLE_BASE_OF_ALL_TABLES + ((type)<<16) ) extern int8 RtkHomeGatewayChipName[16]; extern int32 RtkHomeGatewayChipNameID; extern int32 RtkHomeGatewayChipRevisionID; int32 _rtl8651_addAsicEntry(uint32 tableType, uint32 eidx, void *entryContent_P); int32 _rtl8651_forceAddAsicEntry(uint32 tableType, uint32 eidx, void *entryContent_P); int32 _rtl8651_readAsicEntry(uint32 tableType, uint32 eidx, void *entryContent_P); //int32 _rtl8651_readAsicEntryStopTLU(uint32 tableType, uint32 eidx, void *entryContent_P); //No need to Stop_Table_Lookup process int32 _rtl8651_delAsicEntry(uint32 tableType, uint32 startEidx, uint32 endEidx); #endif