> -----Original Message----- > From: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> > Sent: 2023年7月5日 7:54 > To: Andrew Lunn <andrew@xxxxxxx>; Wei Fang <wei.fang@xxxxxxx> > Cc: davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx; > pabeni@xxxxxxxxxx; ast@xxxxxxxxxx; daniel@xxxxxxxxxxxxx; > hawk@xxxxxxxxxx; john.fastabend@xxxxxxxxx; Shenwei Wang > <shenwei.wang@xxxxxxx>; Clark Wang <xiaoning.wang@xxxxxxx>; > netdev@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; > linux-kernel@xxxxxxxxxxxxxxx; bpf@xxxxxxxxxxxxxxx > Subject: Re: [PATCH net 1/3] net: fec: dynamically set the > NETDEV_XDP_ACT_NDO_XMIT feature of XDP > > Andrew Lunn <andrew@xxxxxxx> writes: > > > 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? > > No, because not all drivers require an XDP program to be attached to support > being a redirect target (which is one of the reasons we introduced these > feature bits in the first place :)). > Hi Toke, Thanks for your explanation so much. :)