On Mon, 1 Feb 2021 18:24:20 -0800 Tony Nguyen wrote:
> From: Eryk Rybak <[email protected]>
>
> When attempting to link XDP prog with MTU larger than supported,
> user is not informed why XDP linking fails. Adding proper
> error message: "MTU too large to enable XDP".
> Due to the lack of support for non-static variables in netlinks
> extended ACK feature, additional information has been added to dmesg
> to better inform about invalid MTU setting.
>
> Signed-off-by: Aleksandr Loktionov <[email protected]>
> Signed-off-by: Eryk Rybak <[email protected]>
> Tested-by: Kiran Bhandare <[email protected]>
> Signed-off-by: Tony Nguyen <[email protected]>
> @@ -12459,8 +12460,13 @@ static int i40e_xdp_setup(struct i40e_vsi *vsi,
> int i;
>
> /* Don't allow frames that span over multiple buffers */
> - if (frame_size > vsi->rx_buf_len)
> + if (frame_size > vsi->rx_buf_len) {
> + NL_SET_ERR_MSG_MOD(extack, "MTU too large to enable XDP");
> + dev_info(&pf->pdev->dev,
> + "MTU of %u bytes is too large to enable XDP (maximum:
> %u bytes)\n",
> + vsi->netdev->mtu, vsi->rx_buf_len);
Extack should be enough.