From patchwork Wed Feb 12 16:23:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Prestwood X-Patchwork-Id: 13972063 Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEB7320B7F7 for ; Wed, 12 Feb 2025 16:24:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739377449; cv=none; b=g8VapwGt2xr2E4zjvaxuzYqrHJ4Pp62FIrGk7PQlOLSK/SDDtD319ybWQK0nHSxbUJe84NRiAxMRu7znn5ITnUBN6zCH8b8kvRnn+A/0eA0M7rO43rBjhlOv6fm/6HZDidtpxWtCM7KK7E03BKggl0BnH4zoBqIXWeIDlsu0o7I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739377449; c=relaxed/simple; bh=ykejZzXyXZzTxqDjHa5U7M2vXkmVWua+9D+cVByWsOs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YqwJQq3J6A8Wb0m9jxVNntbIx+otesU80BDpoJqUkdU4yFDfj2Zr79n0us3qU2hlFbHl5/5d9+5gnEUxzd78tGuHIqgg0wcKU4trgWrY6VjSOKqePMLpW+dPFFylJEYnU6XrYDcvxBkcCaPOX/j4gZHNFfvJ16zrPOSPn8q1zAE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mKnoVFCI; arc=none smtp.client-ip=209.85.222.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mKnoVFCI" Received: by mail-qk1-f181.google.com with SMTP id af79cd13be357-7c05d75007cso479449085a.1 for ; Wed, 12 Feb 2025 08:24:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739377446; x=1739982246; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0pCkHdx9LiuuyEfXsXgtMCMDq8bWGJ7vMMayCSWHOZo=; b=mKnoVFCIBtQogk18EGQS81VsiXKN0Kv9jo5jDcZMFArsfkMp6RQDrTuuW//PD0MMfA ofq6OPMuF24vEsxRaJSq6NSGJqf3udsnYJM2i4KNqivl2r3iY2G1AYoGRRbzyhNCW+N5 T1Zx62WLND/wE6qfvc8T9aXo6RGrlMuVn40Op4O61zvoIs26P35EnlQAUqm+90OH5SpU c+DDeUTIk9TYKndEtTwtLJ1fMeWic6tIs2gsQenbJRLYVy9qq+iH8HEd1FGgPivPzVVg GhwJGNVvN/Nd9h8z4VjRKcoRIgc7lFAjNo0sP7oE00A7wWPIEt0KJE7kwK2cRadulz7Z lKlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739377446; x=1739982246; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0pCkHdx9LiuuyEfXsXgtMCMDq8bWGJ7vMMayCSWHOZo=; b=NssFhpwnUgV31sXlNU3cap9mikwrcJMcAnjkS6doo9ixELa1xMAvlHrCDIHYHeucP0 QS/DX/eDM0GFDuxpDZkgg8MMuO6Px/u4bCRM9Hj5JZnHAP/12yzrGB4QSnldCLPNaZ3y kVqdaehwx5d0MkFcWIaquJU331+mcjTquDIxMS3cHKKIMOcbjTX7qrOQ2EpIw+7BUvh4 n0CrBFfctZ4HGqgxnutu1XWPNk1oTXVcMOxgmnbpHj/EveCcmKXFHtHsSAh7gQBPJAmc sapMDXKAT51zE/nOPHKzAsfa0Zr6i5zC/uQhVZgWfLp7Z6VBgNqLtYazRKdLv03mPCzi MWXg== X-Gm-Message-State: AOJu0Yw6N7u6KBATjJPLO7a/Z3U9jldt7FfxIeog2adMyAI4f5HczO8v phi3KvKf9uOlqe1N1lCsMu/k7xOHOki0GikRWXgzE+nIW9H9Js2z9TPGHg== X-Gm-Gg: ASbGncvJVhhDF0ejH9BubW5e3tZhxyBqz1iy7kc8Rx+wCXX0c040u7wk83uKVM4gvb5 M3JUfEBZf4HdHA+Rs8hddDqtI6ctm0r9bSBq1re0Nez2CZOMfQt7S7G5GnN3aoMC7hEtptLzeBf RFjkYg0lYSBBakry7lbN2GkCMCajF5jS+NHXPuTWqBmIkw3Clc7v5Mr8apRpljtGP6kMUhWiwu7 u6rge7F87sBaAT+CS96O3bhvJzZob23PaF5FEoTcowOJUolvLWLN+/3GyHW/lG+JVUHdF7CeEVa s8OuPOQZAooGBvLETFHU8Zw6TKlObonYOFzOmTat9vfLy4W2+w== X-Google-Smtp-Source: AGHT+IFyXqkZBgcAeRbcSOhTAT8QvVPoVbitEDdIEgFy8cszCEQmpso2ckI3FML2cjRJ5CAw82L9Vw== X-Received: by 2002:a05:620a:192a:b0:7c0:7906:966b with SMTP id af79cd13be357-7c07a13ea7dmr3069385a.22.1739377446371; Wed, 12 Feb 2025 08:24:06 -0800 (PST) Received: from LOCLAP699.locus-rst-dev-locuspark.locus ([152.193.78.90]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c0768e23casm73272685a.44.2025.02.12.08.24.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Feb 2025 08:24:06 -0800 (PST) From: James Prestwood To: iwd@lists.linux.dev Cc: James Prestwood Subject: [PATCH 1/4] netdev: don't set CQM thresholds for fullmac cards Date: Wed, 12 Feb 2025 08:23:58 -0800 Message-Id: <20250212162401.130792-2-prestwoj@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250212162401.130792-1-prestwoj@gmail.com> References: <20250212162401.130792-1-prestwoj@gmail.com> Precedence: bulk X-Mailing-List: iwd@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Since roaming is handled by the firmware setting CQM thresholds for roaming is pointless. --- src/netdev.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/netdev.c b/src/netdev.c index ecf61823..e0a39851 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -3827,6 +3827,15 @@ static void netdev_cmd_set_cqm_cb(struct l_genl_msg *msg, void *user_data) static int netdev_cqm_rssi_update(struct netdev *netdev) { struct l_genl_msg *msg; + struct netdev_handshake_state *nhs = l_container_of(netdev->handshake, + struct netdev_handshake_state, super); + + /* + * Fullmac cards handle roaming in firmware, there is no need to set + * CQM thresholds + */ + if (nhs->type == CONNECTION_TYPE_FULLMAC) + return 0; l_debug(""); From patchwork Wed Feb 12 16:23:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Prestwood X-Patchwork-Id: 13972065 Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9A402135A1 for ; Wed, 12 Feb 2025 16:24:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739377450; cv=none; b=BJItTxtian0uwL+woEFOAK3WvYeaIHqYzJzqqeQQXrvb5H81msmUeyvUrWhSWA9GbVr5g1dSxvfsThClUxFeSkjcn3vZnkMVGOyrR1bNCxdy2ZMbXRoSeVQ+rhGhBxJe8fpZtJ1Ka83MoHI9cKqlTaiHmsmkf08u0Ryv68SiSoU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739377450; c=relaxed/simple; bh=SmDp/AtwyZaX+QYNLJpfT8SgFvWBptq86hr4LPtCP6E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ZLrhEKTPHr+UAArkt60mz9HBiHjUf85Ycgjvy6V981Z2VyS0ANgQSPm9Qxv+l2B1+0g2aTQwJxQsSf/g4ilAuH2QFUtrqMlVUdn/M2ymdH9jN+HcgLfn2exqFhnyp7ck+1ngqhYEAswZHJBQQU6R5neaR0EFewTgSC0GakPGTp4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XWBYZxjB; arc=none smtp.client-ip=209.85.222.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XWBYZxjB" Received: by mail-qk1-f174.google.com with SMTP id af79cd13be357-7be8efa231aso716508385a.2 for ; Wed, 12 Feb 2025 08:24:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739377447; x=1739982247; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=s2J5CivVdq8MUSEFFn1kXe7VS21AwQII0bR9xpTJfhY=; b=XWBYZxjBnQg4CVNVQ8SXjWYhABwkRf6Pg+5GgSdlFVI7+xcW0fVfuWQT1Pvn69ZEqV fhi4XQ4kWt6uDWldK//x4AgOI0nnJJ6Y6vJcasbijiHkYHmUke0E+bd4lZuxJrEhhCpN n9Fvr2dCeBgv20kmB7brIlf1JtaoT3tQLTsCIcnVOznGto4C4v5IAjI5ev4HTrt4vbVj ZGbtZ1RAD3wNj3X1kM8P8+MLtRHkhnHdmD/vQx7967RvVOYZKF50/Jqeok2vzP+uByGr vpXkA5LO15lW/4fY5kG1crQ0jm8mWvbOEFkqfqxznpXIDFyiInYF+5wwmAQIJ9Vb5pB1 /qnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739377447; x=1739982247; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s2J5CivVdq8MUSEFFn1kXe7VS21AwQII0bR9xpTJfhY=; b=qHjUoVr09YFd7arEK+y/uIwBxRAcBCHYODYtKMURAJ/DKO9RFdlGjrIl0rUJFzHPqJ LDin1MHiFZfUTEV0qPZy4fsTquZqjOfGfoOfLAhfsewLU+e5dM0AVQPpXBSk4C/tk7mz 6WifX9Lj37cboAKIlwQipqeH8eKIsaybcFAutdFbKBIKwR978+/rZAbxd/OK4XCYLckr e5jwrzOgq00MDN5DeD/z50FLSFzdkcIElPxWoua1sIvPPaux2565SPpMbrMReONlIEui zyJ8FciyrkPIWizNxjH+zeLjykuSMksNYUBUOjDmQoKxtMiHm8OqhsdqTE8zSqrxihfN W6Cg== X-Gm-Message-State: AOJu0YxMMerKl+KYqa2W6lsCXhmyrxJ6tSxpFmlWZYDZEoE4fGh+Clgl dwJ8lUZTttClyn0Wl5KhUK0khYyOjqhrA9QECggo26RFjEOPEjkesV5irA== X-Gm-Gg: ASbGnctk7C0FkXl9SToHA8Ft3Pq++kkSViCmVeURAF1uU+at+CqOfEXYKLpRqVzi+tG E+O6aUmY6aVVIBm/Cf7zrCqBIyXclYCtw1KMwKUthCI4eibb/oWsH/yBqEQv1em3zqNDyhjfmcH /7P7YEvHfwlHq9dr+5LEu8LpjXIe6isHxGelx2wu7FPz9aMagLD14MyZRq9/Y+sWq92GkRVgTPn q99sXt3T8Zn3XuFJTZgtb/cs8IKu8R0QjdaoMir0tov7TatLuayLsl3180HpebicYAcJZrmJ4AL vOxAWWcAZdpSuM6YZNO46g0oxIjuk8wKk/n1g0w7MyyeMRDIzA== X-Google-Smtp-Source: AGHT+IE2eF7a0XKQCQNJEWmferPOUQZpPAYCgzszD2s8Ll+X3Y6BXnA2hqCbQgXjRaPWdI1fg1j4MA== X-Received: by 2002:a05:620a:4612:b0:7b6:d28b:42a4 with SMTP id af79cd13be357-7c06fc69b03mr600049685a.19.1739377447583; Wed, 12 Feb 2025 08:24:07 -0800 (PST) Received: from LOCLAP699.locus-rst-dev-locuspark.locus ([152.193.78.90]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c0768e23casm73272685a.44.2025.02.12.08.24.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Feb 2025 08:24:07 -0800 (PST) From: James Prestwood To: iwd@lists.linux.dev Cc: James Prestwood Subject: [PATCH 2/4] netdev: remove/update some iwd_notice logs Date: Wed, 12 Feb 2025 08:23:59 -0800 Message-Id: <20250212162401.130792-3-prestwoj@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250212162401.130792-1-prestwoj@gmail.com> References: <20250212162401.130792-1-prestwoj@gmail.com> Precedence: bulk X-Mailing-List: iwd@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The iwd_notice function was more meant for special purpose events not general debug prints. For these error conditions we should be using l_warn. For the informational "External Auth to SSID" log we already print this information when connecting from station. In addition there are logs when performing external auth so it should be very obvious external auth is being used without this log. --- src/netdev.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/netdev.c b/src/netdev.c index e0a39851..06282c2a 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -5524,23 +5524,18 @@ static void netdev_external_auth_event(struct l_genl_msg *msg, } if (action == NL80211_EXTERNAL_AUTH_ABORT) { - iwd_notice(IWD_NOTICE_CONNECT_INFO, "External Auth Aborted"); + l_warn("External Auth Aborted"); goto error; } - iwd_notice(IWD_NOTICE_CONNECT_INFO, - "External Auth to SSID: %s, bssid: "MAC, - util_ssid_to_utf8(ssid.iov_len, ssid.iov_base), - MAC_STR(bssid)); - if (hs->ssid_len != ssid.iov_len || memcmp(hs->ssid, ssid.iov_base, hs->ssid_len)) { - iwd_notice(IWD_NOTICE_CONNECT_INFO, "Target SSID mismatch"); + l_warn("Target SSID mismatch"); goto error; } if (memcmp(hs->aa, bssid, ETH_ALEN)) { - iwd_notice(IWD_NOTICE_CONNECT_INFO, "Target BSSID mismatch"); + l_warn("Target BSSID mismatch"); goto error; } From patchwork Wed Feb 12 16:24:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Prestwood X-Patchwork-Id: 13972066 Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F78F1E766F for ; Wed, 12 Feb 2025 16:24:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739377451; cv=none; b=nME0eoodJUJxmWGMzq6wBWjhSvvG6B6Jv/FImuyf8beT57OIvOmjd+vcKDr1uSOtUIVCsTo0T8pKFF7C1ky4FUYbWPLpTT4Q77EYb08NKeBOqP+5BB7dNtsCTZTM7v9an2lKz1sRdFnRhtce2k6FMsaMKZzTEYUf6UygOPMZoA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739377451; c=relaxed/simple; bh=+DCMZ2LM0nVjfgckaV+YUbb48NqnCI8TCVbzN+JMA1E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kA29lPo/Rle6qwORxoZ+Z5NE4g2T9uDy6fZuT6XrcpT5eMtrAF6ih76gwx5axC7/27Eue+unSKjdV/naxagruOJmpbffqriJBpGS27ccTIpNDylnJYAlH6sBmr7eZ4+9ETGhJpJWM9YI9N1y9d6oI0NvxE49RON3WJuNFvuEGtg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OYBHBx9I; arc=none smtp.client-ip=209.85.222.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OYBHBx9I" Received: by mail-qk1-f174.google.com with SMTP id af79cd13be357-7c068097157so94267285a.1 for ; Wed, 12 Feb 2025 08:24:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739377449; x=1739982249; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XqvdKB6mCNP7VvwkXgDUr9M/uGoOEvyDJ8tVke4NyxU=; b=OYBHBx9InJTVW/Z4woVa5ZwOTdga6QP/PeenI6jELQuZl3X4uZvmmXqZHTFRfPmdp3 SYySav2txyQfR4Lr6Jl1DhsExCg3+nh06TTuRcj3w6dqm/WM89PfOUDsZYyEtwsr5xyz 39DQTs7fxO2vErlygVqDnvFHeO0B64bCPpL1zu/a6/HC4rDhEoAKtLBpAxVQXuX5wend UNKAANfe4vcQs1cCIkMnQgq9FtYFfarJl2RETIq0dRdbiyra4NWrsfkorbIrBseTZzOH qNXvFfqR9YFpiV47b7+hZmOsTxkZL4uipTyG252Q5MA9bYEvxsluwwdnEvBnGNRKJFCk aeHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739377449; x=1739982249; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XqvdKB6mCNP7VvwkXgDUr9M/uGoOEvyDJ8tVke4NyxU=; b=U1E4zxO7PES6CUbkUEDBCeZK+6Zs36DGixT8pa/iSoyAlEXFLRZBpxhVSp/218CSww HEvWHOL/F/6QnlBXs478ibpewpm+xa4Xzgss1kBJdhT+Vwz5KeXG7TjBRbdj4ftGgSFw EMWBN8EIHPNtHzorN6v774kclvQgUl0wiBT54RjKfN7DpRWqOrXjOR4BiVzhoNSmCMEj yiyVjvo6nm0xUIiL7MyO3z3xoJGoKPS4sQbC31u9X+Qmk2A4EdWJiOVVqtDnAQnB7ykE j3djgTNqpFJCz6QwpKMWLf0qk1ho+R4KIB7IqoyRHeFVvwyi2JN4TFq+QPtOm01sj2kG RWJQ== X-Gm-Message-State: AOJu0YzoTWm7CcUUupLxV2Wtc5heW9f9GuoJo5P3igLEFRh3BU4tAYZ4 TsK37t2tyRNI/q8p6Kd1bWC4E2NM6aDsH2njvjGNFeoezbsq9Cv0IGwg7w== X-Gm-Gg: ASbGncth7FMEZaQnZa8ENyersyQxgz4ne3eu7LcX6Ld8Nckf11IlSV/6KtAvK2MZ9XC WXmQEMd0qBjgejiaoDLluzC8sqAS5BkwMnSqFxgSh3Mr29fNO8o2cJDXUf5PhBH1j0X49Dr3LE0 hUf0HEFOex1Dyush6eOa1ljWKxuy1cdnVLO8vNwso/4vpEjQ6g5pbRs76YwoixDQYBqx/XWCqv2 QYlTi+VuSAcMCwMPbyHkJlPVEOfqfIEbW2x+R7/2TNJ4mMRD2LJMpxNgKLGsJxgKXmrYiH1vLar jsk7DjUNvvP1dReLH5MHBUdeE3h6f5gsDTBrnViEEkdd1bcz8A== X-Google-Smtp-Source: AGHT+IGuuMtxN7atsEjU9S2sUjlPggLOl8moJ7VtVNs+wJkcaCf6wrJJA+xxEecREwpFLBeJ8un+iw== X-Received: by 2002:a05:620a:244f:b0:7b6:dd11:5e5f with SMTP id af79cd13be357-7c068fbda12mr1242734985a.13.1739377448773; Wed, 12 Feb 2025 08:24:08 -0800 (PST) Received: from LOCLAP699.locus-rst-dev-locuspark.locus ([152.193.78.90]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c0768e23casm73272685a.44.2025.02.12.08.24.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Feb 2025 08:24:08 -0800 (PST) From: James Prestwood To: iwd@lists.linux.dev Cc: James Prestwood Subject: [PATCH 3/4] netdev: implement PMKSA for fullmac drivers Date: Wed, 12 Feb 2025 08:24:00 -0800 Message-Id: <20250212162401.130792-4-prestwoj@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250212162401.130792-1-prestwoj@gmail.com> References: <20250212162401.130792-1-prestwoj@gmail.com> Precedence: bulk X-Mailing-List: iwd@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Supporting PMKSA on fullmac drivers requires that we set the PMKSA into the kernel as well as remove it. Since station has a removal path netdev_remove_pmksa needed to be added which station will call. This will handle both removing IWD's PMKSA cache as well as in the kernels. On addition its similar, we add to both IWDs cache and the kernels. --- src/netdev.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/netdev.h | 2 ++ 2 files changed, 70 insertions(+) diff --git a/src/netdev.c b/src/netdev.c index 06282c2a..42fb6a4b 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -1498,6 +1498,52 @@ static void netdev_setting_keys_failed(struct netdev_handshake_state *nhs, handshake_event(&nhs->super, HANDSHAKE_EVENT_SETTING_KEYS_FAILED, &err); } +static void netdev_set_pmksa(struct handshake_state *hs) +{ + struct l_genl_msg *msg; + uint32_t expiration = (uint32_t)hs->expiration; + + if (!hs->have_pmkid) + return; + + msg = l_genl_msg_new(NL80211_CMD_SET_PMKSA); + + l_genl_msg_append_attr(msg, NL80211_ATTR_IFINDEX, 4, &hs->ifindex); + l_genl_msg_append_attr(msg, NL80211_ATTR_PMKID, 16, hs->pmkid); + l_genl_msg_append_attr(msg, NL80211_ATTR_MAC, ETH_ALEN, hs->aa); + l_genl_msg_append_attr(msg, NL80211_ATTR_SSID, hs->ssid_len, hs->ssid); + l_genl_msg_append_attr(msg, NL80211_ATTR_PMK_LIFETIME, 4, &expiration); + l_genl_msg_append_attr(msg, NL80211_ATTR_PMK, hs->pmk_len, hs->pmk); + + if (!l_genl_family_send(nl80211, msg, NULL, NULL, NULL)) + l_error("error sending SET_PMKSA"); +} + +void netdev_remove_pmksa(struct netdev *netdev) +{ + struct l_genl_msg *msg; + struct handshake_state *hs = netdev->handshake; + struct netdev_handshake_state *nhs = l_container_of(hs, + struct netdev_handshake_state, super); + + handshake_state_remove_pmksa(netdev->handshake); + + if (nhs->type != CONNECTION_TYPE_FULLMAC) + return; + + /* Fullmac cards need to set/remove the PMKSA within the kernel */ + + msg = l_genl_msg_new(NL80211_CMD_DEL_PMKSA); + + l_genl_msg_append_attr(msg, NL80211_ATTR_IFINDEX, 4, &netdev->index); + l_genl_msg_append_attr(msg, NL80211_ATTR_PMKID, 16, hs->pmkid); + l_genl_msg_append_attr(msg, NL80211_ATTR_MAC, ETH_ALEN, hs->aa); + l_genl_msg_append_attr(msg, NL80211_ATTR_SSID, hs->ssid_len, hs->ssid); + + if (!l_genl_family_send(nl80211, msg, NULL, NULL, NULL)) + l_error("error sending DEL_PMKSA"); +} + static void try_handshake_complete(struct netdev_handshake_state *nhs) { l_debug("ptk_installed: %u, gtk_installed: %u, igtk_installed: %u", @@ -1518,6 +1564,9 @@ static void try_handshake_complete(struct netdev_handshake_state *nhs) l_debug("Invoking handshake_event()"); + if (nhs->type == CONNECTION_TYPE_FULLMAC) + netdev_set_pmksa(&nhs->super); + handshake_state_cache_pmksa(&nhs->super); if (handshake_event(&nhs->super, HANDSHAKE_EVENT_COMPLETE)) @@ -6469,6 +6518,23 @@ static void netdev_get_link(struct netdev *netdev) L_WARN_ON(netdev->get_link_cmd_id == 0); } +static void netdev_flush_pmksa(struct netdev *netdev) +{ + struct l_genl_msg *msg = l_genl_msg_new(NL80211_CMD_FLUSH_PMKSA); + + /* + * We only utilize the kernel's PMKSA cache for fullmac cards, so no + * need to flush if this is a softmac + */ + if (wiphy_supports_cmds_auth_assoc(netdev->wiphy)) + return; + + l_genl_msg_append_attr(msg, NL80211_ATTR_IFINDEX, 4, &netdev->index); + + if (!l_genl_family_send(nl80211, msg, NULL, NULL, NULL)) + l_error("Failed to flush PMKSA"); +} + struct netdev *netdev_create_from_genl(struct l_genl_msg *msg, const uint8_t *set_mac) { @@ -6544,6 +6610,8 @@ struct netdev *netdev_create_from_genl(struct l_genl_msg *msg, netdev_get_link(netdev); + netdev_flush_pmksa(netdev); + return netdev; } diff --git a/src/netdev.h b/src/netdev.h index 6299934e..0c7d7550 100644 --- a/src/netdev.h +++ b/src/netdev.h @@ -218,6 +218,8 @@ int netdev_get_all_stations(struct netdev *netdev, netdev_get_station_cb_t cb, void netdev_handshake_failed(struct handshake_state *hs, uint16_t reason_code); +void netdev_remove_pmksa(struct netdev *netdev); + struct netdev *netdev_find(int ifindex); uint32_t netdev_watch_add(netdev_watch_func_t func, From patchwork Wed Feb 12 16:24:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Prestwood X-Patchwork-Id: 13972067 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D85F24C679 for ; Wed, 12 Feb 2025 16:24:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739377453; cv=none; b=hBx/kG5/0ERFkW4YtfM9bKwTzra+4cU4wpSRYIURcB6+vM7bMFu/lfiu1UsCDlSqiu0m4GYKfZWHxlk6gNz/fN7UKba6kvIOCOm7kpI+fefzuJzwvJiA00OMI9Gq7kfVDm6jor1/PLgQzd23d1P2uX6nZFxenWUMBdPu5pkzMLc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739377453; c=relaxed/simple; bh=nv298Z4vCnD231+r++rWcrLd/T5SxsLNs2kNNpQPnYg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eb3Q2i7CsDEW0vceehWIBH+/rzxPy0cP8yZhWQl8eVAG/PdIMof6eWkFOipmSR0KjCCYc5o/5bMNq8HTxuv08uSt1SV80DMFND5iFtBLACTQ/YRMgg1/BkNv5Ovk1CJM+2nzNeOfJvKqjBk+RlZMB2Pv7lw6Ix7BITCjlqPNvwE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VJ6SOf/W; arc=none smtp.client-ip=209.85.222.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VJ6SOf/W" Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-7c077c9cbb9so40431985a.1 for ; Wed, 12 Feb 2025 08:24:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739377450; x=1739982250; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/gSawnzKv+M75QpHih4EnqDB47zGSwAjjOsQ0HZS99s=; b=VJ6SOf/W0yM9IAYnkDadoOBpQD4RSUSZsFQnF5fU4CUDBm6i6YEdnqIV68ne+dIEDC eOpyrF7eaW4qLNsmyECkluTWF0JtBd1dw7hIQvjksX+wsw5VauVkmXqnxbU96QTCOzed BDVUbkvp3+mgcwZfzeXTJL1XaXIt3QmQofXyChhvall2Kezl9+ZUpcpCwqx19VNqKC1H ARYg4q7FpIO1fhQz3EtUdCC9COHMYEr9924dzwn7lrOgswfI0WM4XC0f6eemBz1hkD19 9BGCfypze7CptcMF6AsMmwKdL5FJtqSgLNfl9t5FdakuUcBaGaOkgFzaoFxqmo1H8M5X aJyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739377450; x=1739982250; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/gSawnzKv+M75QpHih4EnqDB47zGSwAjjOsQ0HZS99s=; b=p2Pb3pkFuicHJUgZu45mjSsbTTTJEGlpVo3VBkN90r+/UJOd/CQUX10wBiMa0eGxAL x1DYWh/BHJoqRQBHeEbLEsuYi+mQbY1hNAMZUvozSJHHuwcx/2wM3Dejw5+pooAxau0r Yl29QyFfw+dLgpBEi9Q5qvb4Fh2km/3SJ1fsvSTMo4Qpur4yiuSK5FbEF0JS/T6JjoA0 QPC4Lb2GPhTi7chPeFgIN5NXL6Fx5C/LouEEhm0Ws+7eF4SqIfWl6+dnf0cEZ9ZJFceP SQIvS5rjTtKM1E1uSHb0iQQqhEdyoPvcimfEFTlVV1xgGvZpzJpPpPOZZNw8ffvMxo91 WOqg== X-Gm-Message-State: AOJu0Yxhdz8O2LIrq19uKEgRrDUO8t+qXib4rFFVAPh/Yp/7PRAiXc7l 0aTwUnNBjtlYX17WvYEDQUlUG3u9C58HL6rqOfdEedx3wyeGjuvajpaOoA== X-Gm-Gg: ASbGncv0FnfuXUBjIu4efQzWpw7IQXMetD6BHq+QEvQq8fNjRcSigSGVHginBW0RM/6 CRkZVep7RkNsq8/e6UW17h5Vdgf/XRrPTnyiyG3nIIXEpeqV7QQX5wnYp2ezC9Zy/oR+sk6Qf/8 qTiKtsuvfPcrlPYreS6uxuWzafJL96zS89LlaJInzWv9egD/WiBM78s1ExDzIdqGGYErsnNFaG+ s9VuzIaS22DllrwKgMXjYm7YwI2R4Ria4o5jJ/B3x9VO80wsWlSQEQUQD3LEwNRw+wpmuIBeSWc t6Cx4HqzUWPYToRCM+u0/4+CD6FhoQPJKQGFEc7RSWSsAapCOw== X-Google-Smtp-Source: AGHT+IHiQzguFWRcAgq8RoJZiFXEeYexTDDnK/azykbYSua9mlmGmBmUld6cHAanjwP5JHz9RXmfcg== X-Received: by 2002:a05:620a:8903:b0:7b6:d0be:ca31 with SMTP id af79cd13be357-7c0704e6302mr567225685a.25.1739377449964; Wed, 12 Feb 2025 08:24:09 -0800 (PST) Received: from LOCLAP699.locus-rst-dev-locuspark.locus ([152.193.78.90]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c0768e23casm73272685a.44.2025.02.12.08.24.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Feb 2025 08:24:09 -0800 (PST) From: James Prestwood To: iwd@lists.linux.dev Cc: James Prestwood Subject: [PATCH 4/4] station: use netdev_remove_pmksa Date: Wed, 12 Feb 2025 08:24:01 -0800 Message-Id: <20250212162401.130792-5-prestwoj@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250212162401.130792-1-prestwoj@gmail.com> References: <20250212162401.130792-1-prestwoj@gmail.com> Precedence: bulk X-Mailing-List: iwd@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 --- src/station.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/station.c b/src/station.c index bb6debb9..37f98179 100644 --- a/src/station.c +++ b/src/station.c @@ -3432,7 +3432,7 @@ static bool station_pmksa_fallback(struct station *station, uint16_t status) * Remove the PMKSA from the handshake and return true to re-try the * same BSS without PMKSA. */ - handshake_state_remove_pmksa(station->hs); + netdev_remove_pmksa(station->netdev); station_debug_event(station, "pmksa-invalid-pmkid");