* [PATCH v2 01/11] wiphy: change wiphy_control_port_capable -> enabled
@ 2021-10-05 22:00 James Prestwood
0 siblings, 0 replies; only message in thread
From: James Prestwood @ 2021-10-05 22:00 UTC (permalink / raw)
To: iwd
[-- Attachment #1: Type: text/plain, Size: 3284 bytes --]
Move the reading of ControlPortOverNL80211 into wiphy itself and
renamed wiphy_control_port_capable to wiphy_control_port_enabled.
This makes things easier for any modules interested in control
port support since they will only have to check this one API rather
than read the settings and check capability.
---
src/netdev.c | 7 +------
src/wiphy.c | 16 +++++++++++++---
src/wiphy.h | 2 +-
3 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/src/netdev.c b/src/netdev.c
index fbf3b067..de155da1 100644
--- a/src/netdev.c
+++ b/src/netdev.c
@@ -203,7 +203,6 @@ static struct l_netlink *rtnl = NULL;
static struct l_genl_family *nl80211;
static struct l_queue *netdev_list;
static struct watchlist netdev_watches;
-static bool pae_over_nl80211;
static bool mac_per_ssid;
static unsigned int iov_ie_append(struct iovec *iov,
@@ -6096,7 +6095,7 @@ struct netdev *netdev_create_from_genl(struct l_genl_msg *msg,
return NULL;
}
- if (!pae_over_nl80211 || !wiphy_control_port_capable(wiphy)) {
+ if (!wiphy_control_port_enabled(wiphy)) {
pae_io = pae_open(ifindex);
if (!pae_io) {
l_error("Unable to open PAE interface");
@@ -6233,10 +6232,6 @@ static int netdev_init(void)
&LOW_SIGNAL_THRESHOLD_5GHZ))
LOW_SIGNAL_THRESHOLD_5GHZ = -76;
- if (!l_settings_get_bool(settings, "General", "ControlPortOverNL80211",
- &pae_over_nl80211))
- pae_over_nl80211 = true;
-
rand_addr_str = l_settings_get_value(settings, "General",
"AddressRandomization");
if (rand_addr_str && !strcmp(rand_addr_str, "network"))
diff --git a/src/wiphy.c b/src/wiphy.c
index 84d2a152..1a333aad 100644
--- a/src/wiphy.c
+++ b/src/wiphy.c
@@ -555,8 +555,11 @@ bool wiphy_uses_default_if(struct wiphy *wiphy)
return false;
}
-bool wiphy_control_port_capable(struct wiphy *wiphy)
+bool wiphy_control_port_enabled(struct wiphy *wiphy)
{
+ const struct l_settings *settings = iwd_get_config();
+ bool enabled;
+
if (wiphy->driver_info &&
wiphy->driver_info->flags & FORCE_PAE) {
l_info("Not using Control Port due to driver quirks: %s",
@@ -564,8 +567,15 @@ bool wiphy_control_port_capable(struct wiphy *wiphy)
return false;
}
- return wiphy_has_ext_feature(wiphy,
- NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211);
+ if (!wiphy_has_ext_feature(wiphy,
+ NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211))
+ return false;
+
+ if (!l_settings_get_bool(settings, "General",
+ "ControlPortOverNL80211", &enabled))
+ enabled = true;
+
+ return enabled;
}
const uint8_t *wiphy_get_permanent_address(struct wiphy *wiphy)
diff --git a/src/wiphy.h b/src/wiphy.h
index d6487074..f7b6e1c4 100644
--- a/src/wiphy.h
+++ b/src/wiphy.h
@@ -102,7 +102,7 @@ bool wiphy_supports_firmware_roam(struct wiphy *wiphy);
const char *wiphy_get_driver(struct wiphy *wiphy);
const char *wiphy_get_name(struct wiphy *wiphy);
bool wiphy_uses_default_if(struct wiphy *wiphy);
-bool wiphy_control_port_capable(struct wiphy *wiphy);
+bool wiphy_control_port_enabled(struct wiphy *wiphy);
const uint8_t *wiphy_get_permanent_address(struct wiphy *wiphy);
const uint8_t *wiphy_get_extended_capabilities(struct wiphy *wiphy,
uint32_t iftype);
--
2.31.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-10-05 22:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-05 22:00 [PATCH v2 01/11] wiphy: change wiphy_control_port_capable -> enabled James Prestwood
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.