From: Felix Fietkau Date: Fri, 4 Jun 2021 06:41:34 +0000 (+0200) Subject: wireless: pass the real network ifname to the setup script X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=7f199050f395d5295a3f665bcd2eb8cc755d08aa;p=project%2Fnetifd.git wireless: pass the real network ifname to the setup script If the network ifname is a VLAN on top of a VLAN-filtering bridge, hostapd needs to know the VLAN ifname to communicate with other APs, if 802.11r is enabled. Signed-off-by: Felix Fietkau --- diff --git a/scripts/netifd-wireless.sh b/scripts/netifd-wireless.sh index b920296..5527791 100644 --- a/scripts/netifd-wireless.sh +++ b/scripts/netifd-wireless.sh @@ -314,6 +314,7 @@ for_each_interface() { json_select "$_w_iface" if [ -n "$_w_types" ]; then json_get_var network_bridge bridge + json_get_var network_ifname bridge-ifname json_get_var multicast_to_unicast multicast_to_unicast json_select config _wireless_set_brsnoop_isolation "$multicast_to_unicast" diff --git a/wireless.c b/wireless.c index c465a16..55605bc 100644 --- a/wireless.c +++ b/wireless.c @@ -117,7 +117,7 @@ static void vif_config_add_bridge(struct blob_buf *buf, struct blob_attr *networks, bool prepare) { struct interface *iface; - struct device *dev = NULL; + struct device *dev = NULL, *orig_dev; struct blob_attr *cur; const char *network; int rem; @@ -143,6 +143,7 @@ vif_config_add_bridge(struct blob_buf *buf, struct blob_attr *networks, bool pre if (!dev) return; + orig_dev = dev; if (dev->hotplug_ops && dev->hotplug_ops->prepare) dev->hotplug_ops->prepare(dev, &dev); @@ -150,6 +151,7 @@ vif_config_add_bridge(struct blob_buf *buf, struct blob_attr *networks, bool pre return; blobmsg_add_string(buf, "bridge", dev->ifname); + blobmsg_add_string(buf, "bridge-ifname", orig_dev->ifname); if (dev->settings.flags & DEV_OPT_MULTICAST_TO_UNICAST) blobmsg_add_u8(buf, "multicast_to_unicast",