From 059a636ab58122b2cd1e30395c0be29d3e0f3929 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Wed, 15 May 2013 09:36:10 +0000
Subject: [PATCH] mac80211: add mesh_param support

This patch add mesh_param support in mac80211.sh
It suppose that this patch http://patchwork.openwrt.org/patch/3540/ is applied (add HT support for mesh)

Tested with rspro(ar9280)/wr1043nd, BB r36211
see also this http://lists.open80211s.org/pipermail/devel/2012-June/003352.html
(mesh_hwmp_rootmode 1 & mesh_gate_announcements 1
=> mesh_hwmp_rootmode 4 & mesh_gate_announcements 1)

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@free.fr>

SVN-Revision: 36640
---
 package/mac80211/Makefile                   |  2 +-
 package/mac80211/files/lib/wifi/mac80211.sh | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile
index f950862e7e..e5bcdc3b1c 100644
--- a/package/mac80211/Makefile
+++ b/package/mac80211/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=mac80211
 
 PKG_VERSION:=2013-04-16
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
 PKG_MD5SUM:=ec4cd40f0a8838aeea2ccff3ec5deb1a
 
diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh
index 580a6ded4b..a052a1cbfb 100644
--- a/package/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/mac80211/files/lib/wifi/mac80211.sh
@@ -531,6 +531,20 @@ enable_mac80211() {
 					${mcval:+mcast-rate $mcval} \
 					${keyspec:+keys $keyspec}
 			;;
+			mesh)
+				mp_list="mesh_retry_timeout mesh_confirm_timeout mesh_holding_timeout mesh_max_peer_links
+					mesh_max_retries mesh_ttl mesh_element_ttl mesh_auto_open_plinks mesh_hwmp_max_preq_retries
+					mesh_path_refresh_time mesh_min_discovery_timeout mesh_hwmp_active_path_timeout
+					mesh_hwmp_preq_min_interval mesh_hwmp_net_diameter_traversal_time mesh_hwmp_rootmode
+					mesh_hwmp_rann_interval mesh_gate_announcements mesh_fwding mesh_sync_offset_max_neighor
+					mesh_rssi_threshold mesh_hwmp_active_path_to_root_timeout mesh_hwmp_root_interval
+					mesh_hwmp_confirmation_interval mesh_power_mode mesh_awake_window"
+				for mp in $mp_list
+				do
+					config_get mp_val "$vif" "$mp" ""
+					[ -n "$mp_val" ] && iw dev "$ifname" set mesh_param "$mp" "$mp_val"
+				done
+			;;
 			sta)
 				if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then
 					wpa_supplicant_setup_vif "$vif" nl80211 "${hostapd_ctrl:+-H $hostapd_ctrl}" || {
-- 
2.30.2