From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH intel-net 3/3] ixgbe: move headroom initialization to ixgbe_configure_rx_ring
Date: Wed, 3 Mar 2021 16:39:28 +0100 [thread overview]
Message-ID: <20210303153928.11764-4-maciej.fijalkowski@intel.com> (raw)
In-Reply-To: <20210303153928.11764-1-maciej.fijalkowski@intel.com>
ixgbe_rx_offset(), that is supposed to initialize the Rx buffer headroom,
relies on __IXGBE_RX_BUILD_SKB_ENABLED flag.
Currently, the callsite of mentioned function is placed incorrectly
within ixgbe_setup_rx_resources() where Rx ring's build skb flag is not
set yet. This causes the XDP_REDIRECT to be partially broken due to
inability to create xdp_frame in the headroom space, as the headroom is
0.
Fix this by moving ixgbe_rx_offset() to ixgbe_configure_rx_ring() after
the flag setting, which happens to be set in ixgbe_set_rx_buffer_len.
Fixes: c0d4e9d223c5 ("ixgbe: store the result of ixgbe_rx_offset() onto ixgbe_ring")
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index fae84202d870..ac0d7a80de0d 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -4118,6 +4118,8 @@ void ixgbe_configure_rx_ring(struct ixgbe_adapter *adapter,
#endif
}
+ ring->rx_offset = ixgbe_rx_offset(ring);
+
if (ring->xsk_pool && hw->mac.type != ixgbe_mac_82599EB) {
u32 xsk_buf_len = xsk_pool_get_rx_frame_size(ring->xsk_pool);
@@ -6578,7 +6580,6 @@ int ixgbe_setup_rx_resources(struct ixgbe_adapter *adapter,
rx_ring->next_to_clean = 0;
rx_ring->next_to_use = 0;
- rx_ring->rx_offset = ixgbe_rx_offset(rx_ring);
/* XDP RX-queue info */
if (xdp_rxq_info_reg(&rx_ring->xdp_rxq, adapter->netdev,
--
2.20.1
next prev parent reply other threads:[~2021-03-03 15:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-03 15:39 [Intel-wired-lan] [PATCH intel-net 0/3] intel: Rx headroom fixes Maciej Fijalkowski
2021-03-03 15:39 ` [Intel-wired-lan] [PATCH intel-net 1/3] i40e: move headroom initialization to i40e_configure_rx_ring Maciej Fijalkowski
2021-03-04 8:53 ` Jesper Dangaard Brouer
2021-03-09 14:04 ` Bhandare, KiranX
2021-03-03 15:39 ` [Intel-wired-lan] [PATCH intel-net 2/3] ice: move headroom initialization to ice_setup_rx_ctx Maciej Fijalkowski
2021-03-09 14:02 ` Bhandare, KiranX
2021-03-03 15:39 ` Maciej Fijalkowski [this message]
2021-03-09 16:27 ` [Intel-wired-lan] [PATCH intel-net 3/3] ixgbe: move headroom initialization to ixgbe_configure_rx_ring Jambekar, Vishakha
2021-03-03 18:36 ` [Intel-wired-lan] [PATCH intel-net 0/3] intel: Rx headroom fixes Jesse Brandeburg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210303153928.11764-4-maciej.fijalkowski@intel.com \
--to=maciej.fijalkowski@intel.com \
--cc=intel-wired-lan@osuosl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox