summaryrefslogtreecommitdiff
path: root/wireless.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-09-20 18:00:03 +0200
committerFelix Fietkau <nbd@nbd.name>2021-09-20 18:00:05 +0200
commit06d11bbf1f2b61dcdb1b7088eec539fcd00b28a0 (patch)
tree114d96a01139ae345722c45e5240026f9e7ebaa9 /wireless.c
parent6fa9b042ff4dc2ef91a8b8c49cbc02cdfca0cf28 (diff)
downloadnetifd-06d11bbf1f2b61dcdb1b7088eec539fcd00b28a0.tar.gz
wireless: only enable proxyarp/isolate for AP vifs
The settings might be present in the config as leftovers when switching a vif from AP to sta mode. In that case, they will not be applied by wpad, so they also must not be used by netifd Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'wireless.c')
-rw-r--r--wireless.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/wireless.c b/wireless.c
index 29feb6a..fbd42ed 100644
--- a/wireless.c
+++ b/wireless.c
@@ -793,6 +793,13 @@ wireless_interface_init_config(struct wireless_interface *vif)
if ((cur = tb[VIF_ATTR_NETWORK]))
vif->network = cur;
+ cur = tb[VIF_ATTR_MODE];
+ if (cur)
+ vif->ap_mode = !strcmp(blobmsg_get_string(cur), "ap");
+
+ if (!vif->ap_mode)
+ return;
+
cur = tb[VIF_ATTR_ISOLATE];
if (cur)
vif->isolate = blobmsg_get_bool(cur);
@@ -801,9 +808,6 @@ wireless_interface_init_config(struct wireless_interface *vif)
if (cur)
vif->proxyarp = blobmsg_get_bool(cur);
- cur = tb[VIF_ATTR_MODE];
- if (cur)
- vif->ap_mode = !strcmp(blobmsg_get_string(cur), "ap");
}
/* vlist update call for wireless interface list */