Skip to content

Commit

Permalink
hostapd: rename hostapd multicast_to_unicast option to multicast_to_u…
Browse files Browse the repository at this point in the history
…nicast_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>
  • Loading branch information
nbd168 committed Sep 6, 2022
1 parent 88c9056 commit 09ea1db
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions package/network/services/hostapd/files/hostapd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,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
Expand Down Expand Up @@ -547,7 +547,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 \
ppsk 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 ocv

Expand Down Expand Up @@ -1130,9 +1130,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
Expand Down

0 comments on commit 09ea1db

Please sign in to comment.