Re: [RFC 2/4] cfg80211: Add new interface type for OCB mode

From: Johannes Berg
Date: Tue Jun 03 2014 - 16:11:22 EST


On Fri, 2014-05-30 at 18:56 +0200, Rostislav Lisovy wrote:
> Add new OCB mode (outside the context of the BSS) interface
> type as well as functions necessary to configure the interface
> when 'joining' such network.

I think you also want some API to leave (stop operating in) the network
again, and call that appropriately (e.g. on ifdown) and allow userspace
to call it.

> +struct ocb_setup {
> + struct cfg80211_chan_def chandef;
> + u32 basic_rates;
> +};

The channel seems obvious - but basic rates? Wouldn't OCB always just
use a single rate, basically? Certainly not *basic* rates (which are
required to be implemented for joining the BSS) since there is no BSS?


> + if (!setup->chandef.chan)
> + WARN_ON(!setup->chandef.chan);

That makes very little sense to me?


> @@ -892,6 +893,7 @@ cfg80211_get_chan_state(struct wireless_dev *wdev,
> *radar_detect |=
> BIT(wdev->chandef.width);
> }
> return;
> + case NL80211_IFTYPE_OCB:
> case NL80211_IFTYPE_MONITOR:
> case NL80211_IFTYPE_AP_VLAN:
> case NL80211_IFTYPE_WDS:

That certainly doesn't seem correct, in particular if you consider the
comment that's two lines down.

case NL80211_IFTYPE_P2P_DEVICE:
/* these interface types don't really have a channel
*/

It seems for OCB you need some indication that it's joined (maybe the
channel being non-NULL could do?) and then treat it here correctly has
having an exclusive lock on the channel.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/