> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of
> Alexander Lobakin
> Sent: Tuesday, February 10, 2026 17:37
> To: Kohei Enju <[email protected]>
> Cc: [email protected]; [email protected]; Nguyen, Anthony 
> L
> <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>; Andrew Lunn <[email protected]>;
> David S. Miller <[email protected]>; Eric Dumazet
> <[email protected]>; Jakub Kicinski <[email protected]>; Paolo Abeni
> <[email protected]>; [email protected]
> Subject: Re: [Intel-wired-lan] [PATCH v1 iwl-net] iavf: fix netdev->max_mtu to
> respect actual hardware limit
> 
> From: Kohei Enju <[email protected]>
> Date: Tue, 10 Feb 2026 15:57:14 +0000
> 
> > iavf sets LIBIE_MAX_MTU as netdev->max_mtu, ignoring vf_res->max_mtu
> > from PF [1]. This allows setting an MTU beyond the actual hardware
> > limit, causing TX queue timeouts [2].
> >
> > Set correct netdev->max_mtu using vf_res->max_mtu from the PF.
> >
> > Note that currently PF drivers such as ice/i40e set the frame size in
> > vf_res->max_mtu, not MTU. Convert vf_res->max_mtu to MTU before
> > setting
> > netdev->max_mtu.
> >
> > [1]
> >  # ip -j -d link show $DEV | jq '.[0].max_mtu'
> >  16356
> >
> > [2]
> >  iavf 0000:00:05.0 enp0s5: NETDEV WATCHDOG: CPU: 1: transmit queue 0
> > timed out 5692 ms  iavf 0000:00:05.0 enp0s5: NIC Link is Up Speed is
> > 10 Gbps Full Duplex  iavf 0000:00:05.0 enp0s5: NETDEV WATCHDOG: CPU:
> > 6: transmit queue 3 timed out 5312 ms  iavf 0000:00:05.0 enp0s5: NIC
> > Link is Up Speed is 10 Gbps Full Duplex  ...
> >
> > Fixes: 5fa4caff59f2 ("iavf: switch to Page Pool")
> > Signed-off-by: Kohei Enju <[email protected]>
> 
> Reviewed-by: Alexander Lobakin <[email protected]>
> 
> Although I'm not sure the 'Fixes:' tag is correct. Was vs_res->max_mtu 
> accounted
> before switching to Page Pool? If so, then yes, my fault.
> Otherwise, this issue is older than libie.
> I'm asking as IIRC before I did set max_mtu to the libie definition, there 
> was a
> hardcoded value already.
> 
> > ---
> > Ideally we may fix ice/i40e to set max MTU (not frame size) in
> > vf_res->max_mtu on the PF side, but this would break PF/VF API
> > compatibility between different kernel versions and would need
> > modifications on code that treats vf_res->max_mtu as the frame size.
> >
> > If it's acceptable to change the PF/VF API, this patch would be simply:
> >     netdev->max_mtu = min_not_zero(adapter->vf_res->max_mtu,
> >                                    LIBIE_MAX_MTU);
> > ---
> >  drivers/net/ethernet/intel/iavf/iavf_main.c | 17 ++++++++++++++++-
> >  1 file changed, 16 insertions(+), 1 deletion(-)
> Thanks,
> Olek


Tested-by: Rafal Romanowski <[email protected]>

Reply via email to