From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f177.google.com (mail-dy1-f177.google.com [74.125.82.177]) (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 8A94E33A713 for ; Sun, 22 Mar 2026 07:11:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.177 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774163503; cv=none; b=erWyc2YdahxWkXargcpr6pBPZBqS+zI4bug1ThDQ7MQpcv0ttm3PA/2+DTLzbz/zZABxc8F9tFh3ZGgJwM6Nf+1EFYPLPsIg8PdMzDfnQb51PAfOg93G6GNTDtFHfdJVNVVjh3ILLExI0+Hf0zAPkd92fqNmfZXVOBY/Tjhp8Ao= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774163503; c=relaxed/simple; bh=Kuu/KCtElsU7pIeBSMNLm9DwMD7pPN5VzQXIuJI7N1g=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=RnayWx5CtmWZGXiO6XwnvRFljka+e0jjGD75n2upVs6eL8ePlQ1TbcIZwauGVE+oOP86/Vu6nrGNt5IaRW3tAxbufl0zLCQ9FuASEPTjLJ6B6Qkj3Rp94qVHEM5RK8vjccZcSnKMVK2WfN8AQTJbDzm6OrKNqgXNvPF3YfT5CI4= 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=CQZovMMh; arc=none smtp.client-ip=74.125.82.177 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="CQZovMMh" Received: by mail-dy1-f177.google.com with SMTP id 5a478bee46e88-2bd9a485bd6so2469857eec.1 for ; Sun, 22 Mar 2026 00:11:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1774163502; x=1774768302; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=SGAsPQktqc4FZugs1UeRZbzQYPPz69mZ+0Bu64YRsnc=; b=CQZovMMhMwc7n/a4Pm6jdkuItzq3bOZ0CCzMlTeB/AoBTKA32VaVWpXfiRJBIF+Sn0 ixTWYEOHbsmEW/XJFgaMzbc71jfNjXpj89Bwi1D3U50zWn1N4m3iKzfEokRc8LmXgJ0f 2Kl1LKHSvak66OlKVTJBWIoUmxlaksE3KQI5mdizLhTwR4KewkHu3BxlHAwUxm5cbqzZ 9xnoSmgwsccaVQmMViKdigerrpEeBiO0HNj7Vzhue/SMnnt3VCZFQUVAvj8DLA8/xXcU Gc86spC5QL8AVsxtiJZJyIESbFGs1h+utOQZcnO0lQEIB/bQmH5FQtdSD9ePNVMKdl7U eXxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774163502; x=1774768302; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=SGAsPQktqc4FZugs1UeRZbzQYPPz69mZ+0Bu64YRsnc=; b=tNByhFqDTCvclGDZneRhxrGq7hBXVNmyc8YVuw2w6UUosLaQv3je7q6DhJPcdr2N42 q/jFrjnU7rOks+QsHLLP8JJEPsyUaMxrtqkhPop06WOKyt3PVO1DnVW+xCk+VQtfdwqo dD63g35mz02R/2P4/H03UztSlsVyHuuLCDNOWgN1FrQgZe26UGoyTu3DPtq8z7EXyMyF ZTlG4riVyFl5hSqQZEzBhyPMZeeMrLutSmUUUWGedPI9Gpodn327/TNBNhBbX2Ps/zSD zI3RBYZraSPfXynZYedO/mcBON4YJ2cWUGCQBDj6/xL5nE9v7Mx6U11ENvuVkF3gE09h LLWQ== X-Forwarded-Encrypted: i=1; AJvYcCXjFM8tLhMtgwW7OXonwF/EufMnoeJHoa6BJ/dbWvjLRmI4PxU5W8iGHzQhhnL3GZNcgMoodYaH4xZmdrk=@vger.kernel.org X-Gm-Message-State: AOJu0Yycoge6lVP1c/468ayPqaYvoZxQ9qH//HsCUSOzBjhy7VYcpEHV PmSaxEr6btnP3jR5Ar1PSQsCGhvvhBYn5Ptmv8p1ISD7dkT948HbVLH0 X-Gm-Gg: ATEYQzy5+qSDflh7hjMWTe7VpXfpXUSH/NyBByG7OFUQP+bB3UlanmptCdyRracxUuf jRLCu16AWUpNGVeaS+GciJEk4Z6436IRPdO/g49M3/0TqwshJxItUc6mCfZWiuOMhA1E4aznJsM 2CfBEEZu+HrQ9j8Dc3Ob9hCxZfb+NZDCqfb+cmVi2NRiCId1Un1yomJVpsQagvJWq9afaXUYldl 3impJQhI8uC2ItaxkK6UNdkciLPW18irh7BMyepDq2lQQx7gV0RfhZ0EqNC2p6B8z5kWZ03GKcL HE6ZmZ8aNOb3kKjbv8+max+jjYGnk5UgKLxcf/cMQhBWQ4HIYdFRhR9EzklbV7Bpdq9nwEzUoC7 NeUZ8R494PQ9ZkGeS/NmQN501MK0hjaon3xhuhkUMI3Iv6OEShN7UNwAvP+lYLXTtoWkOMh+LXg rsniLOP5gAYBIIIOGyv+FrFnB/Q0wkJPAKik1hRkyCi4d0244JN0HTd61A0e/j X-Received: by 2002:a05:7022:2227:b0:128:ce44:be8f with SMTP id a92af1059eb24-12a726572c7mr4140330c88.2.1774163501581; Sun, 22 Mar 2026 00:11:41 -0700 (PDT) Received: from ?IPV6:2620:10d:c085:21e1::1129? ([2620:10d:c090:400::5:dc02]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c10b14bac4sm12191223eec.4.2026.03.22.00.11.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 22 Mar 2026 00:11:41 -0700 (PDT) Message-ID: Date: Sun, 22 Mar 2026 00:11:39 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next 08/10] net: lan966x: add PCIe FDMA XDP support To: Daniel Machon , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Horatiu Vultur , Steen Hegelund , UNGLinuxDriver@microchip.com, Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , Herve Codina , Arnd Bergmann , Greg Kroah-Hartman Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org References: <20260320-lan966x-pci-fdma-v1-0-ef54cb9b0c4b@microchip.com> <20260320-lan966x-pci-fdma-v1-8-ef54cb9b0c4b@microchip.com> Content-Language: en-US From: Mohsin Bashir In-Reply-To: <20260320-lan966x-pci-fdma-v1-8-ef54cb9b0c4b@microchip.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > +static int lan966x_xdp_pci_run(struct lan966x_port *port, void *data, > + u32 data_len) > +{ > + struct bpf_prog *xdp_prog = port->xdp_prog; > + struct lan966x *lan966x = port->lan966x; > + struct xdp_buff xdp; > + u32 act; > + > + xdp_init_buff(&xdp, lan966x->rx.max_mtu, &port->xdp_rxq); > + > + xdp_prepare_buff(&xdp, > + data - XDP_PACKET_HEADROOM, > + IFH_LEN_BYTES + XDP_PACKET_HEADROOM, > + data_len - IFH_LEN_BYTES, > + false); > + > + act = bpf_prog_run_xdp(xdp_prog, &xdp); > + switch (act) { > + case XDP_PASS: > + return FDMA_PASS; > + case XDP_TX: > + return lan966x_fdma_pci_xmit_xdpf(port, data, data_len) ? > + FDMA_DROP : FDMA_TX; What if the BPF program modifies packet boundaries (e.g., headroom/tailroom adjustment)? After bpf_prog_run_xdp(), xdp.data and xdp.data_end may differ from the original data and data_len, but lan966x_fdma_pci_xmit_xdpf() is called with the original values. Wouldn't any adjustments made by the XDP program be silently lost? > + default: > + bpf_warn_invalid_xdp_action(port->dev, xdp_prog, act); > + fallthrough; > + case XDP_ABORTED: > + trace_xdp_exception(port->dev, xdp_prog, act); > + fallthrough; > + case XDP_DROP: > + return FDMA_DROP; > + } > +} > +