summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/netifd-wireless.sh1
-rw-r--r--wireless.c4
2 files changed, 4 insertions, 1 deletions
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",