On Fri, 04 Dec 2020 10:38:06 +0100 Toke Høiland-Jørgensen wrote: > Jakub Kicinski <kuba@xxxxxxxxxx> writes: > > On Thu, 03 Dec 2020 22:35:18 +0100 Toke Høiland-Jørgensen wrote: > >> Since we offloaded and non-offloaded programs can co-exist there doesn't > >> really seem to be any reason for the check anyway, and it's only used in > >> three drivers so let's just get rid of the callback entirely. > > > > I don't remember exactly now, but I think the concern was that using > > the unspecified mode is pretty ambiguous when interface has multiple > > programs attached. > > Right. I did scratch my head a bit for why the check was there in the > first place, but that makes sense, actually :) > > So how about we disallow unload without specifying a mode, but only if > more than one program is loaded? Are you including replacing as a form of unload? :) IMHO the simpler the definition of the API / constraint the better. "You must specify the same flags" is pretty simple, as is copying the old behavior rather than trying to come up with new rules. But up to you, I don't mind either way, really.. > Since the core code tracks all the programs now, this could just be > enforced there and we would avoid all the weird interactions with the > drivers trying to enforce it... Yup, enforcing in the core now would make perfect sense.