xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8821cs/include/rtw_br_ext.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /******************************************************************************
2*4882a593Smuzhiyun  *
3*4882a593Smuzhiyun  * Copyright(c) 2007 - 2017 Realtek Corporation.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * This program is free software; you can redistribute it and/or modify it
6*4882a593Smuzhiyun  * under the terms of version 2 of the GNU General Public License as
7*4882a593Smuzhiyun  * published by the Free Software Foundation.
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * This program is distributed in the hope that it will be useful, but WITHOUT
10*4882a593Smuzhiyun  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11*4882a593Smuzhiyun  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12*4882a593Smuzhiyun  * more details.
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *****************************************************************************/
15*4882a593Smuzhiyun #ifndef _RTW_BR_EXT_H_
16*4882a593Smuzhiyun #define _RTW_BR_EXT_H_
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun #if 1	/* rtw_wifi_driver */
19*4882a593Smuzhiyun #define CL_IPV6_PASS	1
20*4882a593Smuzhiyun #define MACADDRLEN		6
21*4882a593Smuzhiyun #define _DEBUG_ERR		RTW_INFO
22*4882a593Smuzhiyun #define _DEBUG_INFO		/* RTW_INFO */
23*4882a593Smuzhiyun #define DEBUG_WARN		RTW_INFO
24*4882a593Smuzhiyun #define DEBUG_INFO		/* RTW_INFO */
25*4882a593Smuzhiyun #define DEBUG_ERR		RTW_INFO
26*4882a593Smuzhiyun /* #define GET_MY_HWADDR		((GET_MIB(priv))->dot11OperationEntry.hwaddr) */
27*4882a593Smuzhiyun #define GET_MY_HWADDR(padapter)		(adapter_mac_addr(padapter))
28*4882a593Smuzhiyun #endif /* rtw_wifi_driver */
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun #define NAT25_HASH_BITS		4
31*4882a593Smuzhiyun #define NAT25_HASH_SIZE		(1 << NAT25_HASH_BITS)
32*4882a593Smuzhiyun #define NAT25_AGEING_TIME	300
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun #ifdef CL_IPV6_PASS
35*4882a593Smuzhiyun 	#define MAX_NETWORK_ADDR_LEN	17
36*4882a593Smuzhiyun #else
37*4882a593Smuzhiyun 	#define MAX_NETWORK_ADDR_LEN	11
38*4882a593Smuzhiyun #endif
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun struct nat25_network_db_entry {
41*4882a593Smuzhiyun 	struct nat25_network_db_entry	*next_hash;
42*4882a593Smuzhiyun 	struct nat25_network_db_entry	**pprev_hash;
43*4882a593Smuzhiyun 	atomic_t						use_count;
44*4882a593Smuzhiyun 	unsigned char					macAddr[6];
45*4882a593Smuzhiyun 	unsigned long					ageing_timer;
46*4882a593Smuzhiyun 	unsigned char				networkAddr[MAX_NETWORK_ADDR_LEN];
47*4882a593Smuzhiyun };
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun enum NAT25_METHOD {
50*4882a593Smuzhiyun 	NAT25_MIN,
51*4882a593Smuzhiyun 	NAT25_CHECK,
52*4882a593Smuzhiyun 	NAT25_INSERT,
53*4882a593Smuzhiyun 	NAT25_LOOKUP,
54*4882a593Smuzhiyun 	NAT25_PARSE,
55*4882a593Smuzhiyun 	NAT25_MAX
56*4882a593Smuzhiyun };
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun struct br_ext_info {
59*4882a593Smuzhiyun 	unsigned int	nat25_disable;
60*4882a593Smuzhiyun 	unsigned int	macclone_enable;
61*4882a593Smuzhiyun 	unsigned int	dhcp_bcst_disable;
62*4882a593Smuzhiyun 	int		addPPPoETag;		/* 1: Add PPPoE relay-SID, 0: disable */
63*4882a593Smuzhiyun 	unsigned char	nat25_dmzMac[MACADDRLEN];
64*4882a593Smuzhiyun 	unsigned int	nat25sc_disable;
65*4882a593Smuzhiyun };
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun void nat25_db_cleanup(_adapter *priv);
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun #endif /* _RTW_BR_EXT_H_ */
70