Re: [PATCH net 1/3] net: fec: dynamically set the NETDEV_XDP_ACT_NDO_XMIT feature of XDP

From: Andrew Lunn
Date: Tue Jul 04 2023 - 19:41:54 EST


On Tue, Jul 04, 2023 at 04:29:14PM +0800, wei.fang@xxxxxxx wrote:
> From: Wei Fang <wei.fang@xxxxxxx>
>
> When a XDP program is installed or uninstalled, fec_restart() will
> be invoked to reset MAC and buffer descriptor rings. It's reasonable
> not to transmit any packet during the process of reset. However, the
> NETDEV_XDP_ACT_NDO_XMIT bit of xdp_features is enabled by default,
> that is to say, it's possible that the fec_enet_xdp_xmit() will be
> invoked even if the process of reset is not finished. In this case,
> the redirected XDP frames might be dropped and available transmit BDs
> may be incorrectly deemed insufficient. So this patch disable the
> NETDEV_XDP_ACT_NDO_XMIT feature by default and dynamically configure
> this feature when the bpf program is installed or uninstalled.

I don't know much about XDP, so please excuse what might be a stupid
question.

Is this a generic issue? Should this
xdp_features_clear_redirect_target(dev) /
xdp_features_set_redirect_target(dev, false) be done in the core?

Andrew