[RFC] libertas: first stab at cfg80211 support

Johannes Berg johannes at sipsolutions.net
Mon Sep 28 10:57:37 EDT 2009


On Mon, 2009-09-28 at 16:54 +0200, Holger Schurig wrote:

> Yes, it has three netdevs, but they aren't all setup at 
> card-initialization time.
> 
> 
> Some details: "struct private" contains:
> 
>         struct net_device *dev;
>         struct net_device *mesh_dev; /* Virtual device */
>         struct net_device *rtap_net_dev;
> 
> The old code did have an
> 
>         dev = alloc_etherdev(sizeof(struct lbs_private));"
> 
> and the other two netdevs got initialized at some other location:
> 
> * priv->lbs_add_mesh() in lbs_add_mesh()
>   via "alloc_netdev(0, "msh%d", ether_setup)". And lbs_add_mesh()
>   is called only when the hardware supports this.
> * rtap_net_dev is created in lbs_add_rtap() and again I haven't
>   change the creation of this thingy.
> 
> Please note that when I'm using the card in station mode, both 
> mesh_dev and rtap_net_dev are NULL. My firmware doesn't have 
> mesh code, and only when I set the card into monitor mode will 
> the rtap_net_dev created.
> 
> 
> I kept this behavior for now: at initialzation I call:
> 
>         wdev = lbs_wdev_alloc(sizeof(struct lbs_private), dmdev);
> 	wdev->xyz = initialization;
>         ...
>         dev = alloc_netdev()
> 
> 
> For me it's not clear if I should create wdev's for mesh_dev and 
> rtap_net_dev as well. However, I'm not able to check the mesh 
> code anyway: my firmware doesn't support this. And for 
> rtap_net_dev I'm not sure if this shouldn't be handled 
> differently in a cfg80211 scenario, e.g. via 
> lbs_cfg80211_change_iface().

Interesting.

> A hint of what I should then would be most welcome :-)

It might make sense to support adding interfaces with nl80211, since
apparently it has mesh and monitor interfaces.

johannes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/libertas-dev/attachments/20090928/d75011db/attachment.sig>


More information about the libertas-dev mailing list