Received: by 2002:ab2:3350:0:b0:1f4:6588:b3a7 with SMTP id o16csp1339405lqe; Mon, 8 Apr 2024 06:24:38 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUvJNHg0iGXPBCQT8n5YDuAhjuk7Sx3a+XVexfk/Eiyr6pdB+BySUinl8dBrwFP4t8fROExxXO4UyIwakESYmT+tH7uhEEs3QHL0K3y9Q== X-Google-Smtp-Source: AGHT+IGCvCPpE1KFpcREdavLVFprVBwDSEftmYUEXwtrLVVgGxLIY3JcClPhS6D+4AkwSWM7l9fi X-Received: by 2002:a05:6808:4281:b0:3c5:fbd0:c7d9 with SMTP id dq1-20020a056808428100b003c5fbd0c7d9mr284369oib.13.1712582678173; Mon, 08 Apr 2024 06:24:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712582678; cv=pass; d=google.com; s=arc-20160816; b=cjnQvmen9jh47yCcP3r0qtGKjs3MrboysjaGhO1zY+cAXKxrHelDB4eiopZgfIT7/Q 3/bBz9gJMv3EWNUwZNiIQFBAZ5jdO3VY/JeISbGCaBoOs1lNAY4i8XxaFeb6JvQkXKwV 6RdHm654yaeZvmAGrZqv/CoiAdpTCrk+pJ7xIm450/ZlyBP1Y33rkKEHTesn1vBwqfw3 EzGPnhSXUCIHUWTvIKJinbMdK3z/cWAOcQiF1xUA+e1RH8A3nvvC9X8kSNWZRlYM1YKc ZD+9whGLm3PkUHDRin1gzztrqKHNy5IZndtNjlzgZhiIqx8KHdDkyDGX1of/Dj63XOfu 7fzw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=I2el0ZGzTqbsafC3IQu1lrnwTrw55oVgDScf3TBDYCE=; fh=938viA9k1ccK6J5qK5wK1J5SmYAIRtzf5Iyc8Ouj03s=; b=G/vaZzZF9ma3GcIVm+Mgy5pYisdC1dAMZ+4AmNIgo6cl+sVIfT7M205jOB+Hr8sm8E ryPo/3G6YRg0Czye8oyPTxhoIfu2RNlghlYRhrZGNpqVDoarQTCoJ9UKuJqn0gasm2P+ dMVoS3oYjUCLbpZyG+iXmocVnzIAVin+HGqtH+YxzZt0II4yD+JefABUOhT/K9wtyBfw wrC+bpcZYgTqxbLsIHD6cBQZ4UBDm8ezr2yDvLWHjL/74y7ANMMraQm3i1qgZQpqq6Eb bZ3BSnrR/3MxEqiFLfEBgv+UelITHPJj26b3lxG2qk+PJYqUOG1JuK/zHgAsKCT8eulD N1og==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@fiberby.net header.s=202008 header.b=ukQgap4V; arc=pass (i=1 spf=pass spfdomain=fiberby.net dkim=pass dkdomain=fiberby.net dmarc=pass fromdomain=fiberby.net); spf=pass (google.com: domain of linux-kernel+bounces-135427-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-135427-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=fiberby.net Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id t19-20020a05622a149300b0043467e01934si429970qtx.154.2024.04.08.06.24.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Apr 2024 06:24:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-135427-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@fiberby.net header.s=202008 header.b=ukQgap4V; arc=pass (i=1 spf=pass spfdomain=fiberby.net dkim=pass dkdomain=fiberby.net dmarc=pass fromdomain=fiberby.net); spf=pass (google.com: domain of linux-kernel+bounces-135427-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-135427-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=fiberby.net Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id DC45F1C21808 for ; Mon, 8 Apr 2024 13:24:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 58E6185C74; Mon, 8 Apr 2024 13:20:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fiberby.net header.i=@fiberby.net header.b="ukQgap4V" Received: from mail1.fiberby.net (mail1.fiberby.net [193.104.135.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1135862148; Mon, 8 Apr 2024 13:20:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.104.135.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712582416; cv=none; b=BNXvUscJdEzUTPwk+dnyV0BoR6CLODkKllcD4AVFruV9EhPId+vfQ3RPfgASMWboLHnIIduYjEmw36iFKQeGh5kxoS4a7XligT2u8o682tFWTYAnsyWpVUSxoy2m9zeydAreFrz3yAU0j4MBLvQ5N9P1h1uidZd06+/rfHkbH1w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712582416; c=relaxed/simple; bh=Lg7MpZIv/xYXPJQLm776tfjlApa0oKTGhqiiIowID+0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=PbD0TLboJpL0GLu77qyOSojNH53xGPEkU2D830PCAwUUCHeU8rg2CuoLrYsQ8O2+X8Hcr+0fmGXWnJNSki+mhpfEckX6PtLXKdqQWTSJvpjiLpZdSfjadyVkuzFu7K0ZW01ExVTQqvhX7E2tilRNpMYfyK6bjd04G4lIBGUjWCA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fiberby.net; spf=pass smtp.mailfrom=fiberby.net; dkim=pass (2048-bit key) header.d=fiberby.net header.i=@fiberby.net header.b=ukQgap4V; arc=none smtp.client-ip=193.104.135.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fiberby.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fiberby.net Received: from x201s (193-104-135-243.ip4.fiberby.net [193.104.135.243]) by mail1.fiberby.net (Postfix) with ESMTPSA id 7791E600A2; Mon, 8 Apr 2024 13:10:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fiberby.net; s=202008; t=1712581838; bh=Lg7MpZIv/xYXPJQLm776tfjlApa0oKTGhqiiIowID+0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ukQgap4VNE/vEA18w+LsctfzZJVVbH5993hCpyEXFwbO5RsxzLSdiYuvYQdSZSSBr 0Zwu+kMItoPPBwuiVadpvYwGoAyGRfMwC62RwOIMI6Vr14reFCwrdT4iqYeo3z31ek lrpFvy8acFixr7vXWudQheEMb4t3ZaIzkKLTevsFUgej9H/l6x6ZqrRlG+eMmBgm8L X3d5xObHrLSUacMgbYs3fYwQ87bCWJsYjIgPvQJUJ/xpv7kd+5IQOBvppvgq7rB3OL 44KJjW1ifhYrLrm2/uX4n7kdckW1L/D2o9p34JkeUKkyVGd7BEJRMDS0IH28O7WadB kPdBkZjsvE+Ww== Received: by x201s (Postfix, from userid 1000) id F02F5205049; Mon, 08 Apr 2024 13:09:39 +0000 (UTC) From: =?UTF-8?q?Asbj=C3=B8rn=20Sloth=20T=C3=B8nnesen?= To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Louis Peens , Taras Chornyi , Woojung Huh , UNGLinuxDriver@microchip.com Cc: =?UTF-8?q?Asbj=C3=B8rn=20Sloth=20T=C3=B8nnesen?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Yanguo Li , oss-drivers@corigine.com, Andrew Lunn , Florian Fainelli , Vladimir Oltean , Edward Cree , Jamal Hadi Salim , Cong Wang , Jiri Pirko Subject: [PATCH net-next 3/6] flow_offload: add flow_rule_no_control_flags() Date: Mon, 8 Apr 2024 13:09:21 +0000 Message-ID: <20240408130927.78594-4-ast@fiberby.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240408130927.78594-1-ast@fiberby.net> References: <20240408130927.78594-1-ast@fiberby.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This helper can be used by drivers, that doesn't support any control flags, to reject any attempt to install rules with control flags. This is aimed at drivers, which uses flow_rule_match_control(), but doesn't implement any control flags. Only compile-tested. Signed-off-by: Asbjørn Sloth Tønnesen --- include/net/flow_offload.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h index c1317b14da08c..415d225204a1f 100644 --- a/include/net/flow_offload.h +++ b/include/net/flow_offload.h @@ -471,6 +471,19 @@ static inline bool flow_rule_no_unsupp_control_flags(const u32 supp_flags, return false; } +/** + * flow_rule_no_control_flags() - check for presence of any control flags + * @flags: flags present in rule + * @extack: The netlink extended ACK for reporting errors. + * + * Returns true if no control flags are set, false otherwise. + */ +static inline bool flow_rule_no_control_flags(const u32 flags, + struct netlink_ext_ack *extack) +{ + return flow_rule_no_unsupp_control_flags(0, flags, extack); +} + struct flow_stats { u64 pkts; u64 bytes; -- 2.43.0