summaryrefslogtreecommitdiff
path: root/wireless.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-06-04 08:41:34 +0200
committerFelix Fietkau <nbd@nbd.name>2021-06-04 08:41:36 +0200
commit7f199050f395d5295a3f665bcd2eb8cc755d08aa (patch)
tree6d11b708d2801fefbd946cfcada33a9ebcd938b6 /wireless.c
parentcb6ee9608e10029875389092140de65fa6a66714 (diff)
downloadnetifd-7f199050f395d5295a3f665bcd2eb8cc755d08aa.tar.gz
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 <nbd@nbd.name>
Diffstat (limited to 'wireless.c')
-rw-r--r--wireless.c4
1 files changed, 3 insertions, 1 deletions
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",