From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 ED176EDC for ; Tue, 12 Dec 2023 01:50:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VV7vWYe+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 23AD8C433C8; Tue, 12 Dec 2023 01:50:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702345817; bh=aEACnAx0dW+r4yPxCfeacKoyKPR/3sAEe5mRq6573xA=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=VV7vWYe+q3Gl7u5Tx5beeqrbJad5CyPuYfpQcJAQ++E7/J+PILpkyRxF+u2P3gsnU kTSd4Qhh68xO8CuSZH203It3E/cJ4rr/L2sATBB0McXSX/eav0KmDRmaDBwVll5hOs YW6KcxRCf5wMn8hx0p+iYBrFeRw+UbiCexe/mQh8vRLSI5QWfRKZhSMZcx4yf9DVO/ 4wy9WnX33Ht49liH88yMoe5VeFd6MFBW4kwu+w+h9zT5qNu2RW2FieAepfCwUe3E4e a8FIB4FkJVK0e4UUe56AR52YG6H1Yda4r3Hr9hkDeLQlORs1Mj56MJVLAE7YRfIx0p Y08ubX4OBof2w== Date: Mon, 11 Dec 2023 17:50:16 -0800 From: Jakub Kicinski To: Ahmed Zaki Cc: , , , , , "Chittim, Madhu" , "Samudrala, Sridhar" Subject: Re: [RFC] ethtool: raw packet filtering Message-ID: <20231211175016.461e2692@kernel.org> In-Reply-To: References: <459ef75b-69dc-4baa-b7e4-6393b0b358ce@intel.com> <20231206081605.0fad0f58@kernel.org> <20231206182524.0dc8b680@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Mon, 11 Dec 2023 16:34:42 -0700 Ahmed Zaki wrote: > I agree on the n-tuple hurdles, but is there a tc/nft API that you have > in mind? Not sure where are the overlaps/duplication. > > I couldn't find anything that can be extended to offload RX packet > filtering/matching. Or did you mean __create__ new APIs? Look at net/sched/cls_flower.c and grep around for struct flow_rule. struct flow_rule was supposed to be the common representation for all flows at driver level, ethtool, TC flower, nftables. Very limited success on the ethtool side, but grepping for it should lead you to the other two uAPIs.