mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-11-02 03:17:48 +00:00
hostapd: backport multicast_to_unicast patch
Fixes: WIFI-10766 Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
@@ -376,7 +376,7 @@ hostapd_common_add_bss_config() {
|
|||||||
config_add_array airtime_sta_weight
|
config_add_array airtime_sta_weight
|
||||||
config_add_int airtime_bss_weight airtime_bss_limit
|
config_add_int airtime_bss_weight airtime_bss_limit
|
||||||
|
|
||||||
config_add_boolean multicast_to_unicast proxy_arp per_sta_vif
|
config_add_boolean multicast_to_unicast multicast_to_unicast_all proxy_arp per_sta_vif
|
||||||
|
|
||||||
config_add_array hostapd_bss_options
|
config_add_array hostapd_bss_options
|
||||||
config_add_boolean default_disabled
|
config_add_boolean default_disabled
|
||||||
@@ -625,7 +625,7 @@ hostapd_set_bss_options() {
|
|||||||
bss_load_update_period chan_util_avg_period sae_require_mfp sae_pwe \
|
bss_load_update_period chan_util_avg_period sae_require_mfp sae_pwe \
|
||||||
multi_ap multi_ap_backhaul_ssid multi_ap_backhaul_key skip_inactivity_poll \
|
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 proxy_arp per_sta_vif \
|
multicast_to_unicast_all proxy_arp per_sta_vif \
|
||||||
eap_server eap_user_file ca_cert server_cert private_key private_key_passwd server_id \
|
eap_server eap_user_file ca_cert server_cert private_key private_key_passwd server_id \
|
||||||
vendor_elements fils
|
vendor_elements fils
|
||||||
|
|
||||||
@@ -1138,9 +1138,9 @@ hostapd_set_bss_options() {
|
|||||||
[ -n "$server_id" ] && append bss_conf "server_id=$server_id" "$N"
|
[ -n "$server_id" ] && append bss_conf "server_id=$server_id" "$N"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set_default multicast_to_unicast 0
|
set_default multicast_to_unicast_all 0
|
||||||
if [ "$multicast_to_unicast" -gt 0 ]; then
|
if [ "$multicast_to_unicast_all" -gt 0 ]; then
|
||||||
append bss_conf "multicast_to_unicast=$multicast_to_unicast" "$N"
|
append bss_conf "multicast_to_unicast=$multicast_to_unicast_all" "$N"
|
||||||
fi
|
fi
|
||||||
set_default proxy_arp 0
|
set_default proxy_arp 0
|
||||||
if [ "$proxy_arp" -gt 0 ]; then
|
if [ "$proxy_arp" -gt 0 ]; then
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
From bc5541179ce55bb693d8f3125f341bd8b7d0660f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Felix Fietkau <nbd@nbd.name>
|
||||||
|
Date: Tue, 6 Sep 2022 12:22:12 +0200
|
||||||
|
Subject: [PATCH] hostapd: rename hostapd multicast_to_unicast option to
|
||||||
|
multicast_to_unicast_all
|
||||||
|
|
||||||
|
There are two feature currently altered by the multicast_to_unicast option.
|
||||||
|
1. bridge level multicast_to_unicast via IGMP snooping
|
||||||
|
2. hostapd/mac80211 config multicast_to_unicast setting
|
||||||
|
|
||||||
|
The hostapd/mac80211 setting has the side effect of converting *all* multicast
|
||||||
|
or broadcast traffic into per-station duplicated unicast traffic, which can
|
||||||
|
in some cases break expectations of various protocols.
|
||||||
|
It also has been observed to cause ARP lookup failure between stations
|
||||||
|
connected to the same interface.
|
||||||
|
|
||||||
|
The bridge level feature is much more useful, since it only covers actual
|
||||||
|
multicast traffic managed by IGMP, and it implicitly defaults to 1 already.
|
||||||
|
|
||||||
|
Renaming the hostapd/mac80211 option to multicast_to_unicast_all should avoid
|
||||||
|
unintentionally enabling this feature
|
||||||
|
|
||||||
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
---
|
||||||
|
package/network/services/hostapd/files/hostapd.sh | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
|
||||||
|
index ff9f197c82..3ac9e7b590 100644
|
||||||
|
--- a/package/network/services/hostapd/files/hostapd.sh
|
||||||
|
+++ b/package/network/services/hostapd/files/hostapd.sh
|
||||||
|
@@ -376,7 +376,7 @@ 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 proxy_arp per_sta_vif
|
||||||
|
+ config_add_boolean multicast_to_unicast multicast_to_unicast_all proxy_arp per_sta_vif
|
||||||
|
|
||||||
|
config_add_array hostapd_bss_options
|
||||||
|
config_add_boolean default_disabled
|
||||||
|
@@ -625,7 +625,7 @@ hostapd_set_bss_options() {
|
||||||
|
bss_load_update_period chan_util_avg_period sae_require_mfp sae_pwe \
|
||||||
|
multi_ap multi_ap_backhaul_ssid multi_ap_backhaul_key skip_inactivity_poll \
|
||||||
|
airtime_bss_weight airtime_bss_limit airtime_sta_weight \
|
||||||
|
- multicast_to_unicast proxy_arp per_sta_vif \
|
||||||
|
+ multicast_to_unicast_all proxy_arp per_sta_vif \
|
||||||
|
eap_server eap_user_file ca_cert server_cert private_key private_key_passwd server_id \
|
||||||
|
vendor_elements fils
|
||||||
|
|
||||||
|
@@ -1138,9 +1138,9 @@ hostapd_set_bss_options() {
|
||||||
|
[ -n "$server_id" ] && append bss_conf "server_id=$server_id" "$N"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- set_default multicast_to_unicast 0
|
||||||
|
- if [ "$multicast_to_unicast" -gt 0 ]; then
|
||||||
|
- append bss_conf "multicast_to_unicast=$multicast_to_unicast" "$N"
|
||||||
|
+ set_default multicast_to_unicast_all 0
|
||||||
|
+ if [ "$multicast_to_unicast_all" -gt 0 ]; then
|
||||||
|
+ append bss_conf "multicast_to_unicast=$multicast_to_unicast_all" "$N"
|
||||||
|
fi
|
||||||
|
set_default proxy_arp 0
|
||||||
|
if [ "$proxy_arp" -gt 0 ]; then
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
Reference in New Issue
Block a user