• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2017 Realtek Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  *****************************************************************************/
15 #ifndef __RTW_MESH_HWMP_H_
16 #define __RTW_MESH_HWMP_H_
17 
18 #ifndef DBG_RTW_HWMP
19 #define DBG_RTW_HWMP 0
20 #endif
21 #if DBG_RTW_HWMP
22 #define RTW_HWMP_DBG(fmt, arg...) RTW_PRINT(fmt, ##arg)
23 #else
24 #define RTW_HWMP_DBG(fmt, arg...) RTW_DBG(fmt, ##arg)
25 #endif
26 
27 #ifndef INFO_RTW_HWMP
28 #define INFO_RTW_HWMP 0
29 #endif
30 #if INFO_RTW_HWMP
31 #define RTW_HWMP_INFO(fmt, arg...) RTW_PRINT(fmt, ##arg)
32 #else
33 #define RTW_HWMP_INFO(fmt, arg...) RTW_INFO(fmt, ##arg)
34 #endif
35 
36 
37 void rtw_ewma_err_rate_init(struct rtw_ewma_err_rate *e);
38 unsigned long rtw_ewma_err_rate_read(struct rtw_ewma_err_rate *e);
39 void rtw_ewma_err_rate_add(struct rtw_ewma_err_rate *e, unsigned long val);
40 int rtw_mesh_path_error_tx(_adapter *adapter,
41 			   u8 ttl, const u8 *target, u32 target_sn,
42 			   u16 target_rcode, const u8 *ra);
43 void rtw_ieee80211s_update_metric(_adapter *adapter, u8 mac_id,
44 				  u8 per, u8 rate,
45 				  u8 bw, u8 total_pkt);
46 void rtw_mesh_rx_path_sel_frame(_adapter *adapter, union recv_frame *rframe);
47 void rtw_mesh_queue_preq(struct rtw_mesh_path *mpath, u8 flags);
48 void rtw_mesh_path_start_discovery(_adapter *adapter);
49 void rtw_mesh_path_timer(void *ctx);
50 void rtw_mesh_path_tx_root_frame(_adapter *adapter);
51 void rtw_mesh_work_hdl(_workitem *work);
52 void rtw_ieee80211_mesh_path_timer(void *ctx);
53 void rtw_ieee80211_mesh_path_root_timer(void *ctx);
54 BOOLEAN rtw_ieee80211_mesh_root_setup(_adapter *adapter);
55 void rtw_mesh_work(_workitem *work);
56 void rtw_mesh_atlm_param_req_timer(void *ctx);
57 
58 #endif /* __RTW_MESH_HWMP_H_ */
59 
60 
61