Re: [PATCH 05/15] vendor_quirks: initial skeleton

Denis Kenzior <[email protected]> Tue, 26 Aug 2025 09:56:44 -0500
Newsgroups dev.linux.lists.iwd
Message-ID <[email protected]>
Hi James,

On 8/22/25 2:51 PM, James Prestwood wrote:
> This module will provide a database for known issues or quirks with
> wireless vendors. For now the list of quirks is limited to 32 as
> that is the size returned in the bit mask. This could be extended
> to 64 in the future if needed, but of course the goal is to never
> reach that level.

You can always do something like:

struct vendor_quirks {
uint32_t behavior_a : 1;
uint32_t behavior_b : 1;
};

struct vendor_quirks vendor_quirks(const uint8_t *oui);

and just keep extending these as needed.  Let the compiler figure out how much 
space is actually needed.  Also makes the flags less verbose and more compact.

> 
> The vendor_quirks() API is intended to be called from scan.c when
> parsing vendor attributes. This will lookup any quirks associated
> with the OUI provided and a mask of quirks will be returned. This
> can be repeated against all the vendor OUI's seen in the scan. The
> result is then a bitmask containing all quirks for that BSS. This
> can then be referenced later during various operations in IWD.

Now, are you sure that just the oui is enough? What about mac address ranges or 
maybe IE contents?

Regards,
-Denis