From nobody Thu Apr 2 19:02:14 2026 Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) (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 F217C1E98EF for ; Thu, 12 Feb 2026 01:01:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770858115; cv=none; b=SMvPi7++J2/CemCxYQVz+eP2HKsy3bDxzXRTvN4mfm2BIlxo3XBMU75BMSHS1bnvquaeA+Bls25YnOqM+pqOlZyq878gas696pfrMdLWqtpTbSllSq5LYNztPKJEF5LHq3gR5zkaJ4QgBNs/esUpR28Hc5eLfKF5ml556hIBAIY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770858115; c=relaxed/simple; bh=zktDEYYU3DDBRPUPo4PVQU/HdJL8/6FwLa6TYkRnm1s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oeGXnEPL47cdvfsJeQjhLWovDdJ7ZQdkJ2BKmEhIoJKxpGbL9b72v5/PwHWxkhAC6wtPSQGI4n2wYo6rBLRPrw6TVxfaI4ALxV+hvx+tBo3jZe14gSfdpFqvb6DIK6gSZ/TfZz3GQqnHPCX4ehJSGBJNJWMGaZvA0Be8mi+NbWE= 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=XH2OgMbu; arc=none smtp.client-ip=209.85.128.180 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="XH2OgMbu" Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-7974d908318so5340107b3.1 for ; Wed, 11 Feb 2026 17:01:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770858111; x=1771462911; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=YeC44Eh/w10HWx6k5aqFmc4ViuCuD52xfeamBzvXwS4=; b=XH2OgMbujxDgCk98940EQ07oa9zNBVng00frwNtKeCOraNUCUBtL73i20O036f2/Fn hK7p7jWU6OnfkEVj4VfryhyaprlBjWFzZMr4fLzA68fNaaSJoKvVKuFsLQcmcmVk4fCM qqKhYeyvDmk9CBfp4jO2irJYwT3XmUZkp0j1jGASA3/a4v4rOW6vXxzFJoqR0Bm6LkY2 hvgk8UcQTwZQ3puvVgMINmju9SWCoQBorUWQrnsNy67DId5WrfI3fEXNqlqlXvQDfnea KN02R9IcEPfFJYY3zvhRYuPD1cGex96fmQI4QEXxtKsea5g3tBTqY9nIa0Fd6C+PWrTs I0tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770858111; x=1771462911; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=YeC44Eh/w10HWx6k5aqFmc4ViuCuD52xfeamBzvXwS4=; b=Db6x+1U5DTYvfLuVkm3kiaAQ1AKnk2Q58KvmZBi/a/suNMb+A0Kg8SDkLVb1iTR70C A8q755apkm3hqwryQfoJ6OzS6iA+EdU0ewXG0A0Sw61xlxvi3sYpEoA5Zt+w1oIHnhRK 6U2GgHQOhoxYRcpp6uWYEbASoxa8TvmQuDw925zC6EwgLIixAmxvViV6R4YrxDNAmx1y oUx1Z1r6vdzlM/Z8dQWZEEekAHpMP+jCHJshoM1jvLcz39T+jRtA7rLgAds0U/6S0QWt /lKLJgWXO2sNp1A0kOISga2sEOlg+6dvn44U8dDB0xQn3EnaGjBSR06/SFgJHmdT5CSC rVTA== X-Forwarded-Encrypted: i=1; AJvYcCUzX6HDuQr/ZBY5Huz5+TqLq8dNK68/EhUflxApVXWeMWSOdp+vZH0yE0XtYMOZRYmmsz1YGsW+E+faXVI=@vger.kernel.org X-Gm-Message-State: AOJu0YyZGuhAU27wf2TNPB9oSpy58meYW9Ltyuik9LLEj1YlJHDkdcQN nwsTVLn9Raym5dU3L1hjM9R2yeBQvFGtrpw9F4kUURgIOLhfLbQgdlwjG93Lrw== X-Gm-Gg: AZuq6aKIdnmwqsYOUwrQ7Pwd67Acr88SOvS6UahcPjaHib0Gwdo4rs63Xu0yJyBq9bM 42ROxPyaITlHhr/rOTpmRFg+nE597WsyVXG4vyF3zHBMzncIxSben+Q0uCwBy2ygtlb+bUyVHhG nGt+/ZGNdDvuhRz1t+rToENK25lduNh3p1sAt4qzRxQPeWn/7JXWqfCJz5b0MUoI0WbeAXqLKSG hGE6/1PU9GLTZt/24swZtNMonUfvpQtNcW8TIb00ms68t8Zx+yLW8Tkco0wQqduprNrFfZw10ze mrE0Ppl2xfIeTjqh7Tca7M3esKlWfCMsx1B48HsW72bwlAQN0Z7HiSdUgkh1MvJ/2ePXPw/0+Pi BM09EkE5pAcIEOUv2mfLW4EkQ3QNQT2QyVe7C9Ur0+bH+lnYDj2wYE/LCQnqEtiNbwP3OvKeG4m +dU+2OfssmC3w6FAH4aWF4jw== X-Received: by 2002:a05:690c:a053:b0:788:247f:3648 with SMTP id 00721157ae682-7973768d21fmr11485697b3.66.1770858110863; Wed, 11 Feb 2026 17:01:50 -0800 (PST) Received: from localhost ([2a03:2880:25ff:71::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7966c16f201sm32051927b3.10.2026.02.11.17.01.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Feb 2026 17:01:50 -0800 (PST) From: Bobby Eshleman Date: Wed, 11 Feb 2026 17:00:43 -0800 Subject: [PATCH net 3/4] eth: fbnic: set DMA_HINT_L4 for all flows 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: quoted-printable Message-Id: <20260211-fbnic-tcp-hds-fixes-v1-3-55d050e6f606@meta.com> References: <20260211-fbnic-tcp-hds-fixes-v1-0-55d050e6f606@meta.com> In-Reply-To: <20260211-fbnic-tcp-hds-fixes-v1-0-55d050e6f606@meta.com> To: Alexander Duyck , Jakub Kicinski , kernel-team@meta.com, Andrew Lunn , "David S. Miller" , Eric Dumazet , Paolo Abeni , Mohsin Bashir , Shuah Khan Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Bobby Eshleman X-Mailer: b4 0.14.3 From: Bobby Eshleman fbnic always advertises ETHTOOL_TCP_DATA_SPLIT_ENABLED via ethtool .get_ringparam. To enable proper splitting for all flow types, even for IP/Ethernet flows, this patch sets DMA_HINT_L4 unconditionally for all RSS and NFC flow steering rules. According to the spec, L4 falls back to L3 if no valid L4 is found, and L3 falls back to L2 if no L3 is found. This makes sure that the correct header boundary is used regardless of traffic type. This is important for zero-copy use cases where we must ensure that all ZC packets are split correctly. Fixes: 2b30fc01a6c7 ("eth: fbnic: Add support for HDS configuration") Signed-off-by: Bobby Eshleman --- drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c | 3 +++ drivers/net/ethernet/meta/fbnic/fbnic_rpc.c | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c b/drivers/net/= ethernet/meta/fbnic/fbnic_ethtool.c index 693ebdf38705..5edc28ba2955 100644 --- a/drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c +++ b/drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c @@ -1142,6 +1142,9 @@ static int fbnic_set_cls_rule_ins(struct fbnic_net *f= bn, return -EINVAL; } =20 + dest |=3D FIELD_PREP(FBNIC_RPC_ACT_TBL0_DMA_HINT, + FBNIC_RCD_HDR_AL_DMA_HINT_L4); + /* Write action table values */ act_tcam->dest =3D dest; act_tcam->rss_en_mask =3D fbnic_flow_hash_2_rss_en_mask(fbn, hash_idx); diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_rpc.c b/drivers/net/ethe= rnet/meta/fbnic/fbnic_rpc.c index 7f31e890031c..42a186db43ea 100644 --- a/drivers/net/ethernet/meta/fbnic/fbnic_rpc.c +++ b/drivers/net/ethernet/meta/fbnic/fbnic_rpc.c @@ -338,9 +338,8 @@ void fbnic_rss_reinit(struct fbnic_dev *fbd, struct fbn= ic_net *fbn) else if (tstamp_mask & (1u << flow_type)) dest |=3D FBNIC_RPC_ACT_TBL0_TS_ENA; =20 - if (act1_value[flow_type] & FBNIC_RPC_TCAM_ACT1_L4_VALID) - dest |=3D FIELD_PREP(FBNIC_RPC_ACT_TBL0_DMA_HINT, - FBNIC_RCD_HDR_AL_DMA_HINT_L4); + dest |=3D FIELD_PREP(FBNIC_RPC_ACT_TBL0_DMA_HINT, + FBNIC_RCD_HDR_AL_DMA_HINT_L4); =20 rss_en_mask =3D fbnic_flow_hash_2_rss_en_mask(fbn, flow_type); =20 --=20 2.47.3