rtw_mesh_hwmp.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. #ifndef DBG_RTW_HWMP
  18. #define DBG_RTW_HWMP 0
  19. #endif
  20. #if DBG_RTW_HWMP
  21. #define RTW_HWMP_DBG(fmt, arg...) RTW_PRINT(fmt, ##arg)
  22. #else
  23. #define RTW_HWMP_DBG(fmt, arg...) RTW_DBG(fmt, ##arg)
  24. #endif
  25. #ifndef INFO_RTW_HWMP
  26. #define INFO_RTW_HWMP 0
  27. #endif
  28. #if INFO_RTW_HWMP
  29. #define RTW_HWMP_INFO(fmt, arg...) RTW_PRINT(fmt, ##arg)
  30. #else
  31. #define RTW_HWMP_INFO(fmt, arg...) RTW_INFO(fmt, ##arg)
  32. #endif
  33. void rtw_ewma_err_rate_init(struct rtw_ewma_err_rate *e);
  34. unsigned long rtw_ewma_err_rate_read(struct rtw_ewma_err_rate *e);
  35. void rtw_ewma_err_rate_add(struct rtw_ewma_err_rate *e, unsigned long val);
  36. int rtw_mesh_path_error_tx(_adapter *adapter,
  37. u8 ttl, const u8 *target, u32 target_sn,
  38. u16 target_rcode, const u8 *ra);
  39. void rtw_ieee80211s_update_metric(_adapter *adapter, u8 mac_id,
  40. u8 per, u8 rate,
  41. u8 bw, u8 total_pkt);
  42. void rtw_mesh_rx_path_sel_frame(_adapter *adapter, union recv_frame *rframe);
  43. void rtw_mesh_queue_preq(struct rtw_mesh_path *mpath, u8 flags);
  44. void rtw_mesh_path_start_discovery(_adapter *adapter);
  45. void rtw_mesh_path_timer(void *ctx);
  46. void rtw_mesh_path_tx_root_frame(_adapter *adapter);
  47. void rtw_mesh_work_hdl(_workitem *work);
  48. void rtw_ieee80211_mesh_path_timer(void *ctx);
  49. void rtw_ieee80211_mesh_path_root_timer(void *ctx);
  50. BOOLEAN rtw_ieee80211_mesh_root_setup(_adapter *adapter);
  51. void rtw_mesh_work(_workitem *work);
  52. void rtw_mesh_atlm_param_req_timer(void *ctx);
  53. #endif /* __RTW_MESH_HWMP_H_ */