hostapd: add multicast_to_unicast and per_sta_vif
authorEtan Kissling <etan_kissling@apple.com>
Wed, 13 Jan 2021 08:52:02 +0000 (09:52 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Thu, 14 Jan 2021 00:52:49 +0000 (00:52 +0000)
This allows configuration of multicast_to_unicast and per_sta_vif options.
- multicast_to_unicast requests multicast-to-unicast conversion.
- per_sta_vif assigns each station its own AP_VLAN interface.

Signed-off-by: Etan Kissling <etan_kissling@apple.com>
package/network/services/hostapd/Makefile
package/network/services/hostapd/files/hostapd.sh

index f57b0729748577d0cf9bb21c09f120c89fd81223..a6d56d1433813b7496145f8dfca49f1f87bda23d 100644 (file)
@@ -7,7 +7,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hostapd
-PKG_RELEASE:=23
+PKG_RELEASE:=24
 
 PKG_SOURCE_URL:=http://w1.fi/hostap.git
 PKG_SOURCE_PROTO:=git
index 7d9ee5121eb538a5728e29e45506f14b46d9eb5b..cee9a8eaa2777bbee10ee4501d331259f16ed97c 100644 (file)
@@ -331,6 +331,8 @@ hostapd_common_add_bss_config() {
        config_add_array airtime_sta_weight
        config_add_int airtime_bss_weight airtime_bss_limit
 
+       config_add_boolean multicast_to_unicast per_sta_vif
+
        config_add_array hostapd_bss_options
 }
 
@@ -480,7 +482,8 @@ hostapd_set_bss_options() {
                acct_server acct_secret acct_port acct_interval \
                bss_load_update_period chan_util_avg_period sae_require_mfp \
                multi_ap multi_ap_backhaul_ssid multi_ap_backhaul_key skip_inactivity_poll \
-               airtime_bss_weight airtime_bss_limit airtime_sta_weight
+               airtime_bss_weight airtime_bss_limit airtime_sta_weight \
+               multicast_to_unicast per_sta_vif
 
        set_default isolate 0
        set_default maxassoc 0
@@ -942,6 +945,16 @@ hostapd_set_bss_options() {
                json_for_each_item append_operator_icon operator_icon
        fi
 
+       set_default multicast_to_unicast 0
+       if [ "$multicast_to_unicast" -gt 0 ]; then
+               append bss_conf "multicast_to_unicast=$multicast_to_unicast" "$N"
+       fi
+
+       set_default per_sta_vif 0
+       if [ "$per_sta_vif" -gt 0 ]; then
+               append bss_conf "per_sta_vif=$per_sta_vif" "$N"
+       fi
+
        json_get_values opts hostapd_bss_options
        for val in $opts; do
                append bss_conf "$val" "$N"