From patchwork Sun Apr 28 19:47:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Baligh Gasmi gasmibal@gmail.com" X-Patchwork-Id: 1928697 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=s/21Ndit; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=iXBbY5gK; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VSH830gqTz23ny for ; Mon, 29 Apr 2024 05:48:32 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=7bKjBu6E04/zXGD9xQfbwgRnqYkgJ5jNpa/349SB82s=; b=s/21NditwOABxq ZbqgVmWj1gNR97sKApiEU7Lj/4qcQPY74xhjzi5KczxPhjjArMBvFAs5hgMxLHLoSUXHj+MA0+8BA 3WlG+dG0Dg4u6F59qlCwFYzH/rLzy5gwPZF7+6ackaXuSDaJ49e9eWM4KN9KSFX+zyeIakTGPCy1n VGiGNy72VA1ziflsgOhgg4/G1O9Okzlm2PN1be3QGo/qH3RxtazZg0+CPo91nkaPXsaYgVi/0JANC hAvtDbJU5SF5dSCyqRqddVbkWN9XhlU9xUmzApc2Krm1gDNllmOjf57cHP0V+lQs+qINA/ygGxDO7 iaSHjRFYgePUJK/t+Ekw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1AV8-00000000bPv-0mkU; Sun, 28 Apr 2024 19:47:54 +0000 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1AV5-00000000bPF-0shS for hostap@lists.infradead.org; Sun, 28 Apr 2024 19:47:52 +0000 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-41ba1ba5592so13831265e9.1 for ; Sun, 28 Apr 2024 12:47:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714333665; x=1714938465; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=hTSxVhRcblQhebWQiPm9nc4tHp7GSY6ZU1Ek6+lkeEI=; b=iXBbY5gKpLDwKw/t3Bb7ZF6rMPxN6SR4+d4+AoupGy7l1FBRq0xEgJTwxdE/kPBhPr vm4IGFJJSJ2UUEUVWsY0tJRVbI0S7eBDTjU+LEyvjSnzIiSs58ZUNJpUVIHEt4DCXJrL E/D4Hay5LSZsQqa4dT5hR8b/Vk+hhxCwCtFvAXig9qLgCYMZNmV9lZNqk4F6yZtQn+mp /wWdjXP9fxN8NStFAH+NSTGO9bLJpYo2rO4d4ql1rro3FfGTlylbA+j3pyQegMyjrkzs p6rpaYEeM2zy9vpoxactX9ht1LantHg9J88KciYJ5kcHkymd+DzDHqMDmpZFXH7++iTV wckw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714333665; x=1714938465; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hTSxVhRcblQhebWQiPm9nc4tHp7GSY6ZU1Ek6+lkeEI=; b=AAEosPZ5K5z+2gaXsyuyEOBBALyjLrajRFDyfV4p2P4yVcEYGzHF2wWKJV9FRfBUDA sWOHij+6c+i+2EZyd5WMDqPgz+q2mAksQptXeySSVrQZJshQ++X3IBcAgGT+oaL51eoz 3Ci2smW7hkF628vZkctynhmKJRmrrmSrdCDo9SbQ0aH8L3nXwGAEXMLt9D6vQGppI7Su EGBK4kKZ4Au2MjExesEZ/VbE7CmBKOCr8z+VWniVB82o784sVsYOG2zCd7ls77mwd81g ciqCCH3/vdQPYwORKr6Smym9Yz2NkyXxbYo35sqqY+BXcaq2ebf/ozdejaaJL4Uq2UT4 sMzg== X-Gm-Message-State: AOJu0YyM0U//O1DaaCUphM4Nvv0blt0hi6AnhWXtN/d3zgkgtLgLIO8p Q+FzSebZ6UM/XtrsZ7rOCrE0qeuB1LrB97h3T25yxIVQe4qbVOrbXtHW5d3L X-Google-Smtp-Source: AGHT+IEhv9vPZ2oHUY9h4ghfTHUvmtzNm8n7L6y8yy3KOd8A+8ehH/kQ4oGX5BFn48MDIRH9KxHlMw== X-Received: by 2002:a05:600c:4e87:b0:418:d2c5:5c65 with SMTP id f7-20020a05600c4e8700b00418d2c55c65mr8585738wmq.37.1714333665079; Sun, 28 Apr 2024 12:47:45 -0700 (PDT) Received: from sah1lpt685.softathome.com (lfbn-idf1-1-880-155.w86-245.abo.wanadoo.fr. [86.245.84.155]) by smtp.gmail.com with ESMTPSA id d9-20020adfe2c9000000b00349a5b8eba6sm27842813wrj.34.2024.04.28.12.47.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Apr 2024 12:47:44 -0700 (PDT) From: "Baligh Gasmi gasmibal@gmail.com" To: hostap@lists.infradead.org Cc: "Baligh Gasmi gasmibal@gmail.com" Subject: [PATCH] multi-ap: honor wds_sta even with multi_ap Date: Sun, 28 Apr 2024 21:47:21 +0200 Message-ID: <20240428194721.1307781-1-gasmibal@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240428_124751_273357_9B38C39A X-CRM114-Status: UNSURE ( 9.76 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: When multi_ap is active, hostapd creates an AP-VLAN interface for 4addr stations, even though wds_sta is not configured. A check should be added to determine if wds_sta is active before re-enabling the WDS mode by creating an AP-VLAN for 4addr stations. Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [gasmibal(at)gmail.com] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:332 listed in] [list.dnswl.org] X-BeenThere: hostap@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org When multi_ap is active, hostapd creates an AP-VLAN interface for 4addr stations, even though wds_sta is not configured. A check should be added to determine if wds_sta is active before re-enabling the WDS mode by creating an AP-VLAN for 4addr stations. Signed-off-by: Baligh Gasmi --- src/ap/ieee802_11.c | 1 + src/ap/sta_info.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c index 54cff1038..3a32aab44 100644 --- a/src/ap/ieee802_11.c +++ b/src/ap/ieee802_11.c @@ -6561,6 +6561,7 @@ static void handle_assoc_cb(struct hostapd_data *hapd, if ((sta->flags & WLAN_STA_WDS) || (sta->flags & WLAN_STA_MULTI_AP && (hapd->conf->multi_ap & BACKHAUL_BSS) && + hapd->conf->wds_sta && !(sta->flags & WLAN_STA_WPS))) { int ret; char ifname_wds[IFNAMSIZ + 1]; diff --git a/src/ap/sta_info.c b/src/ap/sta_info.c index 87d63e188..b2f6e834f 100644 --- a/src/ap/sta_info.c +++ b/src/ap/sta_info.c @@ -235,6 +235,7 @@ void ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta) if ((sta->flags & WLAN_STA_WDS) || (sta->flags & WLAN_STA_MULTI_AP && (hapd->conf->multi_ap & BACKHAUL_BSS) && + hapd->conf->wds_sta && !(sta->flags & WLAN_STA_WPS))) hostapd_set_wds_sta(hapd, NULL, sta->addr, sta->aid, 0);