On 9/11/2024 7:10 PM, Johannes Berg wrote:
On Wed, 2024-09-11 at 18:45 +0530, Karthikeyan Periyasamy wrote:
I guess it depends on how you interpret "combined". It must be something
that can actually be done *regardless* of radio assignment, to be
compatible with older userspace.
So if you think "combined" == "superset of all radios" then your
understanding is incorrect. You need to think "combined" == "what the
device can do without caring about radio assignment".
The current implementation of radio specific advertisement global iface
combination (NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS) expects the
superset of all radios, wherever the radio idx is -1 from caller of
cfg80211_iter_combinations().
How so?
ieee80211_link_reserve_chanctx() calls
ieee80211_can_create_new_chanctx() with radio_idx (-1) to calculate the
max channel (ieee80211_max_num_channels) after the iface combination
check (cfg80211_iter_combinations) passed for the global iface
combination. Here the expectation is number of channel context is less
than the number of different channel. So in multi-radio advertisement,
each radio support atleast one channel, so totally multiple different
channels advertised in the global iface combination to pass this
ieee80211_max_num_channels().
--
Karthikeyan Periyasamy
--
கார்த்திகேயன் பெரியசாமி