On Wed, 2023-03-29 at 21:05 -0700, Jakub Kicinski wrote: > On Wed, 29 Mar 2023 23:46:20 +0200 Johannes Berg wrote: > > + /** @SKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE: mac80211 drop reasons > > + * for unusable frames, see net/mac80211/drop.h > > + */ > > + SKB_DROP_REASON_SUBSYS_MAC80211_UNUSABLE, > > + > > + /** @SKB_DROP_REASON_SUBSYS_MAC80211_MONITOR: mac80211 drop reasons > > + * for frames still going to monitor, see net/mac80211/drop.h > > + */ > > + SKB_DROP_REASON_SUBSYS_MAC80211_MONITOR, > > heh, didn't expect you'd have two different subsystems TBH > Hah, me neither! But then when I came to implement it, I wanted to use some bit in the reason for he drop/unusable distinction. In fact I did that at first, until I got to the string list, and realised that no matter how I sliced it, I'd always have a very sparse array there. If I use the lowest bit it'd be as compact as possible, but I'd expect the two spaces to not be equivalently filled, so I'd still get a whole bunch NULLs in the array. So then I switched to using two subsystems, since that way we have two distinct string lists. johannes