From 5deb3317cb51ac52de922bb55f8492624018906d Mon Sep 17 00:00:00 2001 From: Roman Yeryomin Date: Thu, 13 Sep 2012 00:40:35 +0300 Subject: Add realtek target files Signed-off-by: Roman Yeryomin --- .../files/include/net/rtl/rtl865x_localPublic.h | 117 +++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 target/linux/realtek/files/include/net/rtl/rtl865x_localPublic.h (limited to 'target/linux/realtek/files/include/net/rtl/rtl865x_localPublic.h') diff --git a/target/linux/realtek/files/include/net/rtl/rtl865x_localPublic.h b/target/linux/realtek/files/include/net/rtl/rtl865x_localPublic.h new file mode 100644 index 000000000..8d638ada8 --- /dev/null +++ b/target/linux/realtek/files/include/net/rtl/rtl865x_localPublic.h @@ -0,0 +1,117 @@ +#ifndef RTL865X_LOCAL_PUBLIC_H +#define RTL865X_LOCAL_PUBLIC_H + +#if defined(CONFIG_RTL_HW_QOS_SUPPORT) +#include +#endif + +#define FROM_LOCAL_PUBLIC 1 +#define TO_LOCAL_PUBLIC 2 +#define RX_LAN_PACKET 1 +#define RX_WAN_PACKET 2 +#define TX_LAN_PACKET 3 +#define TX_WAN_PACKET 4 + +#define MAX_HW_LOCAL_PUBLIC_NUM 2 +#define DEF_LOCAL_PUBLIC_NUM 32 +#define MAX_LOCAL_PUBLIC_NUM 32 + +#define LOCAL_PUBLIC_VLAN_START 3198 +#define LOCAL_PUBLIC_VLAN_END 4094 +#define MCAST_NETIF_VLAN_ID 3197 + +struct rtl865x_localPublic +{ + unsigned int ipAddr; + unsigned int netMask; + unsigned int defGateway; + unsigned int hw; + unsigned int inAsic; + + unsigned char port; + unsigned char mac[6]; + unsigned char dev[16]; + + unsigned char lpNetif[16]; + unsigned int lpVid; + unsigned char defGwMac[6]; + + //must at the tail... + struct + { + struct rtl865x_localPublic *tqe_next; + struct rtl865x_localPublic**tqe_prev; + }next; + +}; + +#if defined(CONFIG_RTL_PUBLIC_SSID) +struct rtl865x_public_ssid_entry +{ + struct list_head list; + unsigned int public_addr; + unsigned int flags; +}; +#endif + +struct rtl865x_pktInfo +{ + /*input parameter*/ + unsigned char *data; + unsigned char port; + unsigned char action; + unsigned char dev[16]; + + /*output parameter*/ + unsigned char *arpHdr; + unsigned char *ipHdr; + unsigned char fromLocalPublic; + unsigned char toLocalPublic; + unsigned int srcIp; + unsigned int dstIp; +}; + +struct rtl865x_localPublicPara +{ + unsigned int maxEntryNum; +}; + +struct rtl865x_interface_info +{ + unsigned char ifname[16]; + unsigned char isWan; + unsigned short if_type; + unsigned short vid; + unsigned short fid; + unsigned int memPort; + unsigned int untagSet; + unsigned int mtu; +}; + +int rtl865x_initLocalPublic(struct rtl865x_localPublicPara* para); + +int rtl865x_reInitLocalPublic(void); + +int rtl865x_addLocalPublic(struct rtl865x_localPublic* newEntry); + +int rtl865x_delLocalPublic(struct rtl865x_localPublic* delEntry); + +int rtl865x_checkLocalPublic(struct rtl865x_pktInfo *pktInfo); + +int rtl865x_isLocalPublicIp(unsigned int ipAddr); + +int rtl865x_getLocalPublicInfo(unsigned int ipAddr, struct rtl865x_localPublic *localPublicInfo); + +int rtl865x_localPublicEnabled(void); +int rtl865x_getLocalPublicMac(unsigned int ip, unsigned char mac[]); +int rtl865x_getAllLocalPublic(struct rtl865x_localPublic localPublicArray[], int arraySize); +#if defined(CONFIG_RTL_HW_QOS_SUPPORT) +int rtl_checkLocalPublicNetifIngressRule(rtl865x_AclRule_t *rule); +#endif +#if defined(CONFIG_RTL_PUBLIC_SSID) +int rtl865x_is_public_ssid_entry(unsigned int ipAddr); +int rtl865x_from_public_ssid_device(unsigned char *name); +#endif + +int rtl865x_setMCastSrcMac(unsigned char *srcMac); +#endif -- cgit v1.2.3