]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
eth: fbnic: Update Headroom
authorMohsin Bashir <mohsin.bashr@gmail.com>
Wed, 13 Aug 2025 22:13:12 +0000 (15:13 -0700)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 19 Aug 2025 08:51:16 +0000 (10:51 +0200)
Fbnic currently reserves a minimum of 64B headroom, but this is
insufficient for inserting additional headers (e.g., IPV6) via XDP, as
only 24 bytes are available for adjustment. To address this limitation,
increase the headroom to a larger value while ensuring better page use.
Although the resulting headroom (192B) is smaller than the recommended
value (256B), forcing the headroom to 256B would require aligning to
256B (as opposed to the current 128B), which can push the max headroom
to 511B.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Mohsin Bashir <mohsin.bashr@gmail.com>
Link: https://patch.msgid.link/20250813221319.3367670-3-mohsin.bashr@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/meta/fbnic/fbnic_txrx.h

index 7d27712d54625c3a7c39b9e89fa23109637a266c..66c84375e2998f2149a3c0b68e86d693a7443551 100644 (file)
@@ -50,8 +50,9 @@ struct fbnic_net;
 
 #define FBNIC_RX_TROOM \
        SKB_DATA_ALIGN(sizeof(struct skb_shared_info))
+#define FBNIC_RX_HROOM_PAD             128
 #define FBNIC_RX_HROOM \
-       (ALIGN(FBNIC_RX_TROOM + NET_SKB_PAD, 128) - FBNIC_RX_TROOM)
+       (ALIGN(FBNIC_RX_TROOM + FBNIC_RX_HROOM_PAD, 128) - FBNIC_RX_TROOM)
 #define FBNIC_RX_PAD                   0
 #define FBNIC_RX_PAYLD_OFFSET          0
 #define FBNIC_RX_PAYLD_PG_CL           0