On 8/28/2024 4:19 PM, Johannes Berg wrote:
Hi,
So ... I don't think this is correct, for multiple reasons.
One, you're completely removing *any* validation of the (global)
interface combinations in case per-radio interface combinations are
present. This is clearly not desirable. You're arguing the DFS vs.
multi-channel check shouldn't be done, but that doesn't imply removing
all checks entirely.
In case of per-radio interface combinations, two global interface
combinations advertised.
1. NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS (new global - supported
interface combinations for all radios combined)
nl80211.h
@NL80211_ATTR_WIPHY_RADIOS: Nested attribute describing physical radios
belonging to this wiphy. See &enum nl80211_wiphy_radio_attrs.
@NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS: Nested attribute listing the
supported interface combinations for all radios combined. In each
nested item, it contains attributes defined in
&enum nl80211_if_combination_attrs.
2. NL80211_ATTR_INTERFACE_COMBINATIONS (exist global - supported
interface combination of zeroth radio )
since new global is combined of all radios, so it fails most of the
check in wiphy_verify_combinations() like DFS only works on one channel,
Only a single P2P_DEVICE can be allowed.
Secondly, I'm not convinced that the DFS vs. multi-channel check should
actually be removed, though I'll admit that this may be a bit
questionable. My argument would be something like this: The global
interface combinations exist to let existing software (that isn't aware
of multi-radio yet) continue functioning as-is. Since it is not radio-
aware, multi-channel can mean many different things to it, including the
ability to use say two 2.4 GHz channels at the same time, by time-
sharing. This is e.g. used to support concurrent P2P-GO and (BSS) client
today. But DFS capability on this is broken, since you're not on the
correct channel all the time, hence the check.
Exist global interface combination is advertise the zeroth radio iface
combination. So it is validated as part of per-radio interface
combination check.
--
Karthikeyan Periyasamy
--
கார்த்திகேயன் பெரியசாமி