On Wed, 22 May 2019 at 20:32, Jakub Kicinski <jakub.kicinski@xxxxxxxxxxxxx> wrote: > [...] > > You should be able to just call install with the original flags, and > install handler should do the right maths again to direct it either to > drv or generic, no? > On a related note: I ran the test_offload.py test (thanks for pointing that out!), and realized that my view of load flags was incorrect. To double-check: Given an XDP DRV capable netdev "eth0". # ip link set dev eth0 xdp obj foo.o sec .text # ip link set dev eth0 xdpdrv off and # ip link set dev eth0 xdpdrv obj foo.o sec .text # ip link set dev eth0 xdp off and # ip link set dev eth0 xdpdrv obj foo.o sec .text # ip link -force set dev eth0 xdp obj foo.o sec .text and # ip link set dev eth0 xdp obj foo.o sec .text # ip link -force set dev eth0 xdpdrv obj foo.o sec .text Should all fail. IOW, there's a distinction between explicit DRV and auto-detected DRV? It's considered to be different flags. Correct? This was *not* my view. :-) Thanks, Björn