From: Jonathan Liu <net147@gmail.com>
To: connman@lists.linux.dev
Cc: Jonathan Liu <net147@gmail.com>
Subject: [PATCH] Revert "rtnl: Ignore adding/removing interface to/from bridge"
Date: Mon, 9 Sep 2024 14:45:15 +1000 [thread overview]
Message-ID: <20240909044515.2863247-1-net147@gmail.com> (raw)
This reverts commit 64ba5d457c77ebb65b0a23910d26089973fb6ce7.
It is causing the wireless interface to remain in AP mode and the tether
SSID to still be visible after disabling tethering when using
wpa_supplicant. This can be confirmed with "iw dev wlan0 info" which
shows "type managed" before enabling tethering, "type AP" after enabling
tethering and "type AP" after disabling terhering when it should change
back to "type managed".
---
src/rtnl.c | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
diff --git a/src/rtnl.c b/src/rtnl.c
index a28370ae..64ba6086 100644
--- a/src/rtnl.c
+++ b/src/rtnl.c
@@ -926,7 +926,7 @@ static inline void print_attr(struct rtattr *attr, const char *name)
print(" attr %d (len %d)\n", attr->rta_type, len);
}
-static void rtnl_link(struct nlmsghdr *hdr, bool *has_master)
+static void rtnl_link(struct nlmsghdr *hdr)
{
struct ifinfomsg *msg;
struct rtattr *attr;
@@ -968,7 +968,6 @@ static void rtnl_link(struct nlmsghdr *hdr, bool *has_master)
print_attr(attr, "priority");
break;
case IFLA_MASTER:
- *has_master = true;
print_attr(attr, "master");
break;
case IFLA_WIRELESS:
@@ -1001,32 +1000,22 @@ static void rtnl_link(struct nlmsghdr *hdr, bool *has_master)
static void rtnl_newlink(struct nlmsghdr *hdr)
{
- bool has_master = false;
struct ifinfomsg *msg = (struct ifinfomsg *) NLMSG_DATA(hdr);
- rtnl_link(hdr, &has_master);
+ rtnl_link(hdr);
if (hdr->nlmsg_type == IFLA_WIRELESS)
connman_warn_once("Obsolete WEXT WiFi driver detected");
- /* ignore RTM_NEWLINK when adding interface to bridge */
- if (has_master)
- return;
-
process_newlink(msg->ifi_type, msg->ifi_index, msg->ifi_flags,
msg->ifi_change, msg, IFA_PAYLOAD(hdr));
}
static void rtnl_dellink(struct nlmsghdr *hdr)
{
- bool has_master = false;
struct ifinfomsg *msg = (struct ifinfomsg *) NLMSG_DATA(hdr);
- rtnl_link(hdr, &has_master);
-
- /* ignore RTM_DELLINK when removing interface from bridge */
- if (has_master)
- return;
+ rtnl_link(hdr);
process_dellink(msg->ifi_type, msg->ifi_index, msg->ifi_flags,
msg->ifi_change, msg, IFA_PAYLOAD(hdr));
--
2.46.0
next reply other threads:[~2024-09-09 4:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-09 4:45 Jonathan Liu [this message]
2024-09-09 7:00 ` [PATCH] Revert "rtnl: Ignore adding/removing interface to/from bridge" patchwork-bot+connman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240909044515.2863247-1-net147@gmail.com \
--to=net147@gmail.com \
--cc=connman@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox