> From: Intel-wired-lan <[email protected]> On Behalf Of
> Maciej Fijalkowski
> Sent: Wednesday, March 3, 2021 9:09 PM
> To: [email protected]
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; Topel, Bjorn <[email protected]>; Karlsson,
> Magnus <[email protected]>
> Subject: [Intel-wired-lan] [PATCH intel-net 3/3] ixgbe: move headroom
> initialization to ixgbe_configure_rx_ring
>
> 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 <[email protected]>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
Tested-by: Vishakha Jambekar <[email protected]>