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