Re: State of the Union: Wireless / 802.11 master device

2006-01-20 Thread Stephen Hemminger
On Thu, 19 Jan 2006 14:23:35 -0500
"John W. Linville" <[EMAIL PROTECTED]> wrote:

> On Thu, Jan 19, 2006 at 08:03:43PM +0100, Stefan Rompf wrote:
> > Am Donnerstag 19 Januar 2006 16:56 schrieb John W. Linville:
> > 
> > > The above represents my thinking on the issue.  Ultimately the WiPHY
> > > (aka radio) device should be thought of as a new class of driver,
> > > distinct from a netdev.  If we have to reroute some infrastructure
> > > (i.e. qdisc) to make that practical, we should do so.
> > >
> > > It makes the job bigger, but I think it is the right way to go.
> > 
> > I couldn't disagree more. There is absolutely no point in duplicating 
> > infrastructure used for queuing, qdisc interface, NAPI, managing multicast 
> > reception, registration + reference count, statistics, etc. just to avoid 
> > the 
> > master device showing up in ifconfig.
> 
> I don't believe I suggested this.  I was implying that we teach the
> existing infrastructure how to deal with the wiphy device concept.
> 

I would make the master device its own class device.  The object hierarchy 
is:
   kobject
   class_device  (in /sys/class)
  net_device (in /sys/class/net)
 ether_device   

Properties of net_device are:
takes network related ioctl's (legacy)
can be controled by netlink as a device
can transmit sk_buff's
can be scheduled with NAPI, ...

An ether_device is just a sub-class of net_device that takes a
certain frame format (and responds to ethtool).

If your master_device takes 802.11 packets as sk_buff's then it should
be a net_device.

If you need to stub somethings or do some object refactoring to split
out net_device finer than that makes sense to.


-- 
Stephen Hemminger <[EMAIL PROTECTED]>
OSDL http://developer.osdl.org/~shemminger
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-19 Thread Mike Kershaw
On Thu, Jan 19, 2006 at 04:30:34PM +0100, feyd wrote:
> The point of the master not being netdev is to separate the two
> functions it serves - configuration and master interface, as combining
> them makes sense only for softmac devices.
> The single queue that all the packets have to pass and can be sheduled
> is the raw/rfmon device.
> 
> phy0 # not netdev, represents rather the radio
>  *->ap0  # no qdisc
>  *->sta0 # -//-
>  *->raw0 # qdisc

This should also let use use raw0 to write packets from userspace in a
consistent format (and this means the drivers will have to do some work
in some cases if they don't match the 'consistent format'.)

Right now I've been working on a userspace library to do common tx,
because of the 5 or so drivers that I know support it, many have their
own quirks about what they can do and how they format things (3addr,
4addr, different endians on the same host, etc).

I also think some sort of ioctl to get the feature set of the rawX
device would be good -- some can't inject all frames, some override
sequence/bsstimestamp, etc, and we need to know this from userspace for
some applications.  I *suppose* we could even include endian formats in
that, but I don't know that userspace ought to be dealing with endian
flipping for a specific card type.

-m

-- 
Mike Kershaw/Dragorn <[EMAIL PROTECTED]>
GPG Fingerprint: 3546 89DF 3C9D ED80 3381  A661 D7B2 8822 738B BDB1

"For every action there is an equal and opposite reaction.  Unfortunately, for
most people, that reaction is illiteracy."


pgpa40sonJ1h0.pgp
Description: PGP signature


Re: State of the Union: Wireless / 802.11 master device

2006-01-19 Thread John W. Linville
On Thu, Jan 19, 2006 at 08:03:43PM +0100, Stefan Rompf wrote:
> Am Donnerstag 19 Januar 2006 16:56 schrieb John W. Linville:
> 
> > The above represents my thinking on the issue.  Ultimately the WiPHY
> > (aka radio) device should be thought of as a new class of driver,
> > distinct from a netdev.  If we have to reroute some infrastructure
> > (i.e. qdisc) to make that practical, we should do so.
> >
> > It makes the job bigger, but I think it is the right way to go.
> 
> I couldn't disagree more. There is absolutely no point in duplicating 
> infrastructure used for queuing, qdisc interface, NAPI, managing multicast 
> reception, registration + reference count, statistics, etc. just to avoid the 
> master device showing up in ifconfig.

I don't think we should duplicate infrastructure.  I think we should
adapt and enhance that infrastructure in ways appropriate for wireless
networking.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-19 Thread John W. Linville
On Thu, Jan 19, 2006 at 08:03:43PM +0100, Stefan Rompf wrote:
> Am Donnerstag 19 Januar 2006 16:56 schrieb John W. Linville:
> 
> > The above represents my thinking on the issue.  Ultimately the WiPHY
> > (aka radio) device should be thought of as a new class of driver,
> > distinct from a netdev.  If we have to reroute some infrastructure
> > (i.e. qdisc) to make that practical, we should do so.
> >
> > It makes the job bigger, but I think it is the right way to go.
> 
> I couldn't disagree more. There is absolutely no point in duplicating 
> infrastructure used for queuing, qdisc interface, NAPI, managing multicast 
> reception, registration + reference count, statistics, etc. just to avoid the 
> master device showing up in ifconfig.

I don't believe I suggested this.  I was implying that we teach the
existing infrastructure how to deal with the wiphy device concept.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-19 Thread John W. Linville
On Thu, Jan 19, 2006 at 05:44:53PM +0100, Jiri Benc wrote:
> On Thu, 19 Jan 2006 10:56:19 -0500, John W. Linville wrote:
> > The above represents my thinking on the issue.  Ultimately the WiPHY
> > (aka radio) device should be thought of as a new class of driver,
> > distinct from a netdev.  If we have to reroute some infrastructure
> > (i.e. qdisc) to make that practical, we should do so.
> 
> I definitely agree. But it means that possibly large changes will be
> needed in the networking core. Do you think it will be acceptable for
> non-802.11 developers?

It depends, of course, on the patches.  If the end goal is sound
(as I believe it is) and the changes are responsible, I don't see
why we couldn't make such changes.

I can't help but believe that part of the problem with wireless so
far is based on the feeling that we need to tip-toe around and try
to morph ourselves to fit existing infrastructure.  If we need new
infrastructure, I think we should build it.

Does that mean we should rip-out existing architecture and break
things just because we don't like them?  No.  I only mean to say that
wireless should be a 1st class citizen, and that the kernel should
accomodate it properly.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-19 Thread Stefan Rompf
Am Donnerstag 19 Januar 2006 16:56 schrieb John W. Linville:

> The above represents my thinking on the issue.  Ultimately the WiPHY
> (aka radio) device should be thought of as a new class of driver,
> distinct from a netdev.  If we have to reroute some infrastructure
> (i.e. qdisc) to make that practical, we should do so.
>
> It makes the job bigger, but I think it is the right way to go.

I couldn't disagree more. There is absolutely no point in duplicating 
infrastructure used for queuing, qdisc interface, NAPI, managing multicast 
reception, registration + reference count, statistics, etc. just to avoid the 
master device showing up in ifconfig.

We would increase maintenance burden and development time, and this in a 
situation where we'll have more than enough code to write and test.

Let us be pragmatic: As soon as we realize that we need more then just a 
totally trivial part of the networking core, the master device should be a 
netdev.

Stefan
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-19 Thread Jiri Benc
On Thu, 19 Jan 2006 10:56:19 -0500, John W. Linville wrote:
> The above represents my thinking on the issue.  Ultimately the WiPHY
> (aka radio) device should be thought of as a new class of driver,
> distinct from a netdev.  If we have to reroute some infrastructure
> (i.e. qdisc) to make that practical, we should do so.

I definitely agree. But it means that possibly large changes will be
needed in the networking core. Do you think it will be acceptable for
non-802.11 developers?

Another possibility could be master net_device invisible to userspace.

-- 
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-19 Thread John W. Linville
On Thu, Jan 19, 2006 at 04:30:34PM +0100, feyd wrote:

> The design that is rather agreed on proposes a master device that is
> not netdev, is used for configuration of the shared resources (radio)
> and for virtual devices creation, where the virtual devices cannot
> switch mode.

The above represents my thinking on the issue.  Ultimately the WiPHY
(aka radio) device should be thought of as a new class of driver,
distinct from a netdev.  If we have to reroute some infrastructure
(i.e. qdisc) to make that practical, we should do so.

It makes the job bigger, but I think it is the right way to go.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-19 Thread feyd
Jouni Malinen wrote:
> This may be the case with designs that do not provide anything else
> than a simple interface for delivering and receiving frames. However,
> the benefits--and I would be prepared to say even requirements--of
> having a master device are extensive enough to use it with many wlan
> designs. If a generic design is desired for both types, even fullmac
> devices would need to keep the master netdev even if it is not really
> needed. Other option would be to make it optional to add the master
> netdev and have something else presenting the wlan device.

The point of the master not being netdev is to separate the two
functions it serves - configuration and master interface, as combining
them makes sense only for softmac devices.
The single queue that all the packets have to pass and can be sheduled
is the raw/rfmon device.

phy0 # not netdev, represents rather the radio
 *->ap0  # no qdisc
 *->sta0 # -//-
 *->raw0 # qdisc

> In addition, even fullmac devices may have uses for master netdev. For
> example, in AP mode with dynamic VLAN configuration (RADIUS
> authentication server selecting which VLAN to use), there may be
> benefits of being able to use multiple virtual interfaces (netdevs) that
> would logically be collected into master netdev for scheduling and
> transmission.

If I understand what you mean, it could look like this:

phy0
 *->ap0 # qdisc
 *->vlan0
 *->vlan1

There can be temptation to replace the phy0 by the ap0 (and by the raw0
in the former) so the master would still be netdev, but that would
require the ap0 to be able to switch modes.

The design that is rather agreed on proposes a master device that is
not netdev, is used for configuration of the shared resources (radio)
and for virtual devices creation, where the virtual devices cannot
switch mode.

Feyd

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-18 Thread Jouni Malinen
On Wed, Jan 18, 2006 at 09:18:26AM +0100, Feyd wrote:

> With fullmac devices the master interface makes no sense, it cannot be
> used for neither the sniffing or QoS. The design where the master device
> is something else than net_device is cleaner, it treats both soft/fullmac
> devices equaly, without need to special-case one of them.

This may be the case with designs that do not provide anything else
than a simple interface for delivering and receiving frames. However,
the benefits--and I would be prepared to say even requirements--of
having a master device are extensive enough to use it with many wlan
designs. If a generic design is desired for both types, even fullmac
devices would need to keep the master netdev even if it is not really
needed. Other option would be to make it optional to add the master
netdev and have something else presenting the wlan device.

In addition, even fullmac devices may have uses for master netdev. For
example, in AP mode with dynamic VLAN configuration (RADIUS
authentication server selecting which VLAN to use), there may be
benefits of being able to use multiple virtual interfaces (netdevs) that
would logically be collected into master netdev for scheduling and
transmission.

-- 
Jouni MalinenPGP id EFC895FA
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-18 Thread Feyd

Jouni Malinen wrote:

On Tue, Jan 17, 2006 at 01:05:16PM +0100, Jiri Benc wrote:

On Mon, 16 Jan 2006 19:07:51 -0800, Jouni Malinen wrote:

Actually, there is a use for the master device. It can be used to
monitor what is going on over the radio from all virtual APs/STAs, e.g.,
by running Ethereal on it.

You can add a new "soft" monitor interface and use it instead. There is
no need for separate master device.


Sure, you can do it that way, too. However, this is not the only use. I
just remembered another one: QoS. Devicescape 802.11 code uses a qdisc
on the master interface to take care of determining which hardware TX
queue to use with WMM (which uses four different TX queues).


With fullmac devices the master interface makes no sense, it cannot be
used for neither the sniffing or QoS. The design where the master device
is something else than net_device is cleaner, it treats both soft/fullmac
devices equaly, without need to special-case one of them.

Feyd

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-17 Thread Stephen Hemminger
On Tue, 17 Jan 2006 23:16:43 +0100
Stefan Rompf <[EMAIL PROTECTED]> wrote:

> Am Dienstag 17 Januar 2006 20:42 schrieb Jouni Malinen:
> 
> > Sure, you can do it that way, too. However, this is not the only use. I
> > just remembered another one: QoS. Devicescape 802.11 code uses a qdisc
> > on the master interface to take care of determining which hardware TX
> > queue to use with WMM (which uses four different TX queues).
> 
> so after all, it should be an implementation detail whether our master device 
> is a struct net_device or not, depending on how much infrastructure of the 
> networking core we need at this point.
> 
> Stefan

What ever it is, it needs to be a kobject, to allow for sysfs to work.
Also, please make it hot removable (like netdevices) so module can be unloaded
at any time (independent of ref counts).

Look at bonding, bridging, and VLAN to see how layered devices can work.




-- 
Stephen Hemminger <[EMAIL PROTECTED]>
OSDL http://developer.osdl.org/~shemminger
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-17 Thread Stefan Rompf
Am Dienstag 17 Januar 2006 20:42 schrieb Jouni Malinen:

> Sure, you can do it that way, too. However, this is not the only use. I
> just remembered another one: QoS. Devicescape 802.11 code uses a qdisc
> on the master interface to take care of determining which hardware TX
> queue to use with WMM (which uses four different TX queues).

so after all, it should be an implementation detail whether our master device 
is a struct net_device or not, depending on how much infrastructure of the 
networking core we need at this point.

Stefan
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-17 Thread Jouni Malinen
On Tue, Jan 17, 2006 at 02:55:31PM -0500, jamal wrote:
> On Tue, 2006-17-01 at 11:42 -0800, Jouni Malinen wrote:

> so if i understood correctly:
> You have a master netdevice which underneath it has child netdevices?

I'm not sure what exactly "child netdev" means, but it sounds like
something that could be indeed what the stack is using. The master
netdev has a queue and all other netdevs do not use their own queue
(i.e., they share the one used in the master netdev and all TX frames go
through that).

> >  Each
> > virtual interface do not include own queue and outgoing frames are
> > queued through the master device (again, this is something that matches
> > with VLAN implementation).

> If i understood you correctly, what you are doing is certainly
> reasonable. Instead of restructuring the netdevice layer to deal with
> with multiple independent h/ware tx queues you've added a mother device
> which does intermidiate queueing. 

The master netdev collects all TX frames and the special 802.11-aware
qdisc takes care of scheduling them, e.g., based on WMM access
categories to independent hardware TX queues.

> >  For WMM, the frames in different classes
> > would need to be scheduled from all virtual interfaces together, not
> > just separately. Would there be a better way of doing this without using
> > a master netdev and qdisc/netsched?

> I havent been following the thread so i dont understand this problem.
> Can you explain it in details?

Simon wrote some more details on related topic. The way I see this is
that there can be multiple virtual netdevs (e.g., multiple virtual APs)
using the same wlan radio. The frames for all these virtual APs should
be able to share the same scheduling procedure, e.g., to allow voice
calls get high priority regardless of which virtual AP is sending the
frames for these traffic flows. Being able to set this all with existing
tc tool for the master netdev looks like quite clean way of handling
this.

-- 
Jouni MalinenPGP id EFC895FA
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: State of the Union: Wireless

2006-01-17 Thread Simon Barber
To do qos properly there needs to be a single net_device that a single
qdisc can be installed on - this alone is a good reason for a master
net_device. (there must be a single 802.11 qdisc for a single physical
piece of hardware). Here is another reason (for hardware devices that do
not include a MLME in hardware):

In the Devicescape stack the hardware driver (called the low level
driver) uses an internal interface to the rest of the stack. The master
net_device is created by the rest of the stack (80211.o module). I would
like to change this, so that the hardware driver itself creates a
net_device, with an 802.11 ARP_HDR. This would be the master device, and
the interface between the kernel 802.11 code and a hardware 802.11
device that does not implement the MLME in hardware. The 80211.o module
in the kernel would hook itself into this device by watching for the
broadcast message when a new device is registered, and automatically
installing the 802.11 qdisc on the new device. When the hadware receives
802.11 frames the hardware device driver would set the protocol type to
802.11 before calling netif_rx, and the 80211.o module would register
itself as a protocol handler for 802.11.

This change would remove the current special internal interface in the
Devicescape stack between the hardware driver and the core of the stack
- and would make the stack better integrated with the kernel. The design
here is similar to the VLAN code for the RX direction, but using the
qdisc for both queueing and part of the stack implementation is a new
direction for the TX.

Simon


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Jiri Benc
Sent: Tuesday, January 17, 2006 2:05 AM
To: Jouni Malinen
Cc: Krzysztof Halasa; Mike Kershaw; netdev@vger.kernel.org; Stefan
Rompf; John W.Linville
Subject: Re: State of the Union: Wireless

On Mon, 16 Jan 2006 19:07:51 -0800, Jouni Malinen wrote:
> Actually, there is a use for the master device. It can be used to 
> monitor what is going on over the radio from all virtual APs/STAs, 
> e.g., by running Ethereal on it.

You can add a new "soft" monitor interface and use it instead. There is
no need for separate master device.

--
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe netdev" in the
body of a message to [EMAIL PROTECTED] More majordomo info at
http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-17 Thread jamal
On Tue, 2006-17-01 at 11:42 -0800, Jouni Malinen wrote:

> 
> Sure, you can do it that way, too. However, this is not the only use. I
> just remembered another one: QoS. Devicescape 802.11 code uses a qdisc
> on the master interface to take care of determining which hardware TX
> queue to use with WMM (which uses four different TX queues).

so if i understood correctly:
You have a master netdevice which underneath it has child netdevices?

>  Each
> virtual interface do not include own queue and outgoing frames are
> queued through the master device (again, this is something that matches
> with VLAN implementation).

If i understood you correctly, what you are doing is certainly
reasonable. Instead of restructuring the netdevice layer to deal with
with multiple independent h/ware tx queues you've added a mother device
which does intermidiate queueing. 

>  For WMM, the frames in different classes
> would need to be scheduled from all virtual interfaces together, not
> just separately. Would there be a better way of doing this without using
> a master netdev and qdisc/netsched?
> 

I havent been following the thread so i dont understand this problem.
Can you explain it in details?

cheers,
jamal


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless / 802.11 master device

2006-01-17 Thread Jouni Malinen
On Tue, Jan 17, 2006 at 01:05:16PM +0100, Jiri Benc wrote:
> On Mon, 16 Jan 2006 19:07:51 -0800, Jouni Malinen wrote:
> > Actually, there is a use for the master device. It can be used to
> > monitor what is going on over the radio from all virtual APs/STAs, e.g.,
> > by running Ethereal on it.
> 
> You can add a new "soft" monitor interface and use it instead. There is
> no need for separate master device.

Sure, you can do it that way, too. However, this is not the only use. I
just remembered another one: QoS. Devicescape 802.11 code uses a qdisc
on the master interface to take care of determining which hardware TX
queue to use with WMM (which uses four different TX queues). Each
virtual interface do not include own queue and outgoing frames are
queued through the master device (again, this is something that matches
with VLAN implementation). For WMM, the frames in different classes
would need to be scheduled from all virtual interfaces together, not
just separately. Would there be a better way of doing this without using
a master netdev and qdisc/netsched?

-- 
Jouni MalinenPGP id EFC895FA
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-17 Thread Jiri Benc
On Mon, 16 Jan 2006 19:07:51 -0800, Jouni Malinen wrote:
> Actually, there is a use for the master device. It can be used to
> monitor what is going on over the radio from all virtual APs/STAs, e.g.,
> by running Ethereal on it.

You can add a new "soft" monitor interface and use it instead. There is
no need for separate master device.

-- 
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-17 Thread Krzysztof Halasa
Jouni Malinen <[EMAIL PROTECTED]> writes:

> Actually, there is a use for the master device. It can be used to
> monitor what is going on over the radio from all virtual APs/STAs, e.g.,
> by running Ethereal on it.

Ok. Then I think all "master" operations should be applied to this
master netdev, and it could be obviously different from the rest
(different initial name and/or ARPHRD_ etc).

> Isn't VLANs implemented in the same way

It is.
-- 
Krzysztof Halasa
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-16 Thread Jouni Malinen
On Wed, Jan 11, 2006 at 07:25:11PM +0100, Krzysztof Halasa wrote:
> 3. To have a master device which isn't represented by a network
> device (ifconfig doesn't show it etc.) but can be accessed only by
> the wireless tools. Or just using sysfs, echo and cat can be best
> tools. The slaves (netdevs) can be created and deleted at will.
> 
> No obscure netdev with no apparent functionality and nothing special
> in the first, last or whichever netdev.

Actually, there is a use for the master device. It can be used to
monitor what is going on over the radio from all virtual APs/STAs, e.g.,
by running Ethereal on it. Isn't VLANs implemented in the same way with
the netdev added by the driver ("master device"). The low-level wireless
driver could do the same thing and then user space tools can add
whatever virtual interfaces are needed.

-- 
Jouni MalinenPGP id EFC895FA
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-13 Thread Krzysztof Halasa
Jiri Benc <[EMAIL PROTECTED]> writes:

> I think this is manageable.
>
> We need real 802.11 devices - all of frames, including management ones,
> end up in one queue (in one net_device). And we are not able to do
> Ethernet->802.11 conversion then, because we don't know how (and storing
> pointer to originating net_device or so in cb is not a solution, as the
> device can go away while the frame is queued). Also management frames
> with Ethernet headers are a bit hard to imagine.

Exactly. Testing DECNET etc. (anyone using it at all?) should not
be a problem - we don't carry DECNET over most link types anyway
and if someone wants it it could be easily added.

And we're going to support bridging with Ethernet, right?
-- 
Krzysztof Halasa
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-12 Thread Jiri Benc
On Wed, 11 Jan 2006 20:58:28 +0100, Stefan Rompf wrote:
> I see a third problem - the in kernel protocols. Just do a quick fgrep -r 
> ARPHRD_ over linux/net and you'll see what I mean. While moving away from the 
> ethernet emulation, we have to touch a bunch of protocols, even ones we 
> possibly cannot test, e.g. decnet. Even though I don't like the ethernet 
> emulation hack, I'm not sure if it is worth the pain just to be able to show 
> up as a real 802.11 device.

I think this is manageable.

We need real 802.11 devices - all of frames, including management ones,
end up in one queue (in one net_device). And we are not able to do
Ethernet->802.11 conversion then, because we don't know how (and storing
pointer to originating net_device or so in cb is not a solution, as the
device can go away while the frame is queued). Also management frames
with Ethernet headers are a bit hard to imagine.

-- 
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-12 Thread Jiri Benc
On Wed, 11 Jan 2006 13:29:09 -0500, John W. Linville wrote:
> > 3. To have a master device which isn't represented by a network
> > device (ifconfig doesn't show it etc.) but can be accessed only by
> > the wireless tools. Or just using sysfs, echo and cat can be best
> > tools. The slaves (netdevs) can be created and deleted at will.
> > 
> > No obscure netdev with no apparent functionality and nothing special
> > in the first, last or whichever netdev.
> 
> Yes, this is the option that is making the most sense to me.

Thinking a bit more about this, there is really no reason why the last
interface couldn't be removed. To retain backward compatibility, it is
only needed that one net_device appears after inserting a module/card.

-- 
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread feyd
Johannes Berg wrote:
>>> - "Global" configuration requests (setting channel etc.) can be performed on
>>>   any device and will affect all devices.
>> Yup.
> 
> I disagree. I rather envision a netlink protocol that says 'you cannot
> change the channel on just this single device' (unless the driver
> supports it), so you need a request saying 'change channel on all
> virtual devices'. Userspace helpers would tell the user that if
> necessary.

I second this. The global options are properties of the radio (and,
depending on how particular firmware handles things, maybe other stuff),
and should be configured there. The virtual interfaces should export
only their own properties (not limited to virtual stuff, when the card
allows for per packet txpower, the interfaces could allow to set the
txpower as their own independent property, for exmple), the parent
should be used for the rest. That whould nicely describe the sharing.

The ioctls could of course handle this transparently and allow to
configure anything over any virtual interface.

Feyd

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Stefan Rompf
Am Mittwoch 11 Januar 2006 15:49 schrieb Jiri Benc:

> - There should be only as few net_devices as needed. I. e. when the card
>   acts as a client to one AP, only one device is present.
> - The type of a device (AP, client, WDS link, monitor, etc.) should be
>   specified in the usual way (by iwconfig mode or whatever will eventually
>   replace it).
> - When you need a new device (e. g. because you want to connect to another
>   AP at the same time, or you want to add a new WDS link), you just invoke
>   some command and a new device will appear. Then you can configure the new
>   device in the usual way (iwconfig mode, etc.)

That proposal sounds fine to me, it gives users least headaches.

> There are two problems regarding native 802.11 devices:

I see a third problem - the in kernel protocols. Just do a quick fgrep -r 
ARPHRD_ over linux/net and you'll see what I mean. While moving away from the 
ethernet emulation, we have to touch a bunch of protocols, even ones we 
possibly cannot test, e.g. decnet. Even though I don't like the ethernet 
emulation hack, I'm not sure if it is worth the pain just to be able to show 
up as a real 802.11 device.

Stefan
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Stefan Rompf
Am Mittwoch 11 Januar 2006 20:23 schrieb Jeff Garzik:

> They may mean carrying some compat code in the kernel for a while, or
> some other solution...  The compat code could simply call netlink
> internally, for example.

after all, the most important achievement for driver writers is that there is 
no need to handle all WE configuration commands seperatly anymore, but get a 
configuration frame like dscapes struct ieee80211_conf instead. Whether the 
upper layer library fills it via WE or netlink, nobody cares. Netlink gives 
userspace the big advantage to change multiple settings at once.

Stefan
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Stefan Rompf
Am Mittwoch 11 Januar 2006 16:05 schrieb Mike Kershaw:

> As far as link type, theres no real reason radiotap couldn't be used
> internally, but theres also no reason it's needed on anything other than
> rfmon if we don't think we'll ever care about per-frame stats in
> non-rfmon.

a software AP could care for receive statistics to force a client to roam - 
but after all, this is not important enough to solve it now, so ACK.

Stefan
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Stephen Hemminger
On Wed, 11 Jan 2006 14:23:40 -0500
Jeff Garzik <[EMAIL PROTECTED]> wrote:

> Johannes Berg wrote:
> > On Wed, 2006-01-11 at 18:20 +0100, Jiri Benc wrote:
> > 
> > 
> >>Sure, it is way more better. But again, it's the question of
> >>compatibility. I think that at least for some time the new netlink API
> >>and WE should coexist. After some time, WE support can be removed.
> > 
> > 
> > Wouldn't it make more sense to put compatibility one layer up by
> > introducing a new helper command 'iwconfig' that has the same user-level
> > syntax but calls the netlink api instead?
> 
> 
> I agree with Jiri's base assertion -- we shouldn't completely obliterate 
> the userland API immediately, since Linux's holy grail is not breaking 
> userland.
> 
> They may mean carrying some compat code in the kernel for a while, or 
> some other solution...  The compat code could simply call netlink 
> internally, for example.
> 

Ideally, any new infrastructure could do all the compatibility translation so
existing drivers wouldn't see it.

-- 
Stephen Hemminger <[EMAIL PROTECTED]>
OSDL http://developer.osdl.org/~shemminger
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread John W. Linville
On Wed, Jan 11, 2006 at 02:23:40PM -0500, Jeff Garzik wrote:
> Johannes Berg wrote:
> >On Wed, 2006-01-11 at 18:20 +0100, Jiri Benc wrote:
> >
> >
> >>Sure, it is way more better. But again, it's the question of
> >>compatibility. I think that at least for some time the new netlink API
> >>and WE should coexist. After some time, WE support can be removed.
> >
> >
> >Wouldn't it make more sense to put compatibility one layer up by
> >introducing a new helper command 'iwconfig' that has the same user-level
> >syntax but calls the netlink api instead?
> 
> 
> I agree with Jiri's base assertion -- we shouldn't completely obliterate 
> the userland API immediately, since Linux's holy grail is not breaking 
> userland.
> 
> They may mean carrying some compat code in the kernel for a while, or 
> some other solution...  The compat code could simply call netlink 
> internally, for example.

Isn't this how "traditional" netdev configuration ioctl's (think
ifconfig) are handled already?  I would think we would do the same
thing for the wireless ioctl's.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Jeff Garzik

Johannes Berg wrote:

On Wed, 2006-01-11 at 18:20 +0100, Jiri Benc wrote:



Sure, it is way more better. But again, it's the question of
compatibility. I think that at least for some time the new netlink API
and WE should coexist. After some time, WE support can be removed.



Wouldn't it make more sense to put compatibility one layer up by
introducing a new helper command 'iwconfig' that has the same user-level
syntax but calls the netlink api instead?



I agree with Jiri's base assertion -- we shouldn't completely obliterate 
the userland API immediately, since Linux's holy grail is not breaking 
userland.


They may mean carrying some compat code in the kernel for a while, or 
some other solution...  The compat code could simply call netlink 
internally, for example.


Jeff


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Krzysztof Halasa
Jiri Benc <[EMAIL PROTECTED]> writes:

> Because all of frames need to go through the master device. So frames
> will be transmitted/received only when the master device is up. You have
> two possibilities:
>
> 1. To have a "physical" master device with no functionality (like you
> proposed).


> 2. To have one special device that cannot be removed.

3. To have a master device which isn't represented by a network
device (ifconfig doesn't show it etc.) but can be accessed only by
the wireless tools. Or just using sysfs, echo and cat can be best
tools. The slaves (netdevs) can be created and deleted at will.

No obscure netdev with no apparent functionality and nothing special
in the first, last or whichever netdev.
-- 
Krzysztof Halasa
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread John W. Linville
On Wed, Jan 11, 2006 at 07:25:11PM +0100, Krzysztof Halasa wrote:
> Jiri Benc <[EMAIL PROTECTED]> writes:
> 
> > Because all of frames need to go through the master device. So frames
> > will be transmitted/received only when the master device is up. You have
> > two possibilities:
> >
> > 1. To have a "physical" master device with no functionality (like you
> > proposed).
> 
> 
> > 2. To have one special device that cannot be removed.
> 
> 3. To have a master device which isn't represented by a network
> device (ifconfig doesn't show it etc.) but can be accessed only by
> the wireless tools. Or just using sysfs, echo and cat can be best
> tools. The slaves (netdevs) can be created and deleted at will.
> 
> No obscure netdev with no apparent functionality and nothing special
> in the first, last or whichever netdev.

Yes, this is the option that is making the most sense to me.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Johannes Berg
On Wed, 2006-01-11 at 18:20 +0100, Jiri Benc wrote:

> Sure, it is way more better. But again, it's the question of
> compatibility. I think that at least for some time the new netlink API
> and WE should coexist. After some time, WE support can be removed.

Wouldn't it make more sense to put compatibility one layer up by
introducing a new helper command 'iwconfig' that has the same user-level
syntax but calls the netlink api instead?

johannes


signature.asc
Description: This is a digitally signed message part


Re: State of the Union: Wireless

2006-01-11 Thread Jiri Benc
On Wed, 11 Jan 2006 17:37:00 +0100, Johannes Berg wrote:
> I thought I had addresses this already but maybe no one took notice. I
> think the 'master' device should not be represented as a net_dev at all,
> but be somewhat abstract. In that, you could delete the last real device
> attached to it and create a new one, in fact you might *have to* delete
> the last attached virtual device (which is a real net_dev) in order to
> make an incompatible one (well, I said it might suffice to bring the
> other ones down, which is ok too).

That abstract thing is represented by ieee80211_device (ieee80211_hw).
Yes, I'm proposing nearly the same as you, except that I'm trying to
preserve backward compatibility. I think we need it, at least for some
time.

> I disagree. I rather envision a netlink protocol that says 'you cannot
> change the channel on just this single device' (unless the driver
> supports it), so you need a request saying 'change channel on all
> virtual devices'. Userspace helpers would tell the user that if
> necessary.

Sure, it is way more better. But again, it's the question of
compatibility. I think that at least for some time the new netlink API
and WE should coexist. After some time, WE support can be removed.


-- 
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Johannes Berg
On Wed, 2006-01-11 at 10:05 -0500, Mike Kershaw wrote:

> Agreed, though there is a benefit to being able to specify the type of
> the initial card.  Many drivers offer it as a modprobe option, ie, to
> initialize the card in rfmon to prevent it from sending any probe req's
> before configuration.  A bit of a fringe IDS aspect, but I don't know if
> we ought to cut them out.  Does anyone actually USE this functionality?
> I don't, myself, but I know it exists.

Nah. Like Jiri said, as long as the dev isn't up it doesn't do anything.
Not much point in this. That said, the driver is free to still provide
that functionality.

> I don't know if I concur -- having the "control" interface move around
> is confusing.  I'd rather have one unique ID for that wireless phy
> (however this is presented) and then create dynamic devices from it via
> whatever command.  Atheros ties this to a master wifiX device that is
> uses to spawn dynamic devices.  It just seems that, logically, it makes
> more sense to have something like:
> wlanadddev phy0 dyn0
> wlanadddev phy0 dyn1
> wlanadddev phy1 dyn2
> wlandeldev dyn1
> wlandeldev dyn2
> wlanmakedev phy1 dyn1
> 
> rather than have the 'source' phy change over time.

I thought I had addresses this already but maybe no one took notice. I
think the 'master' device should not be represented as a net_dev at all,
but be somewhat abstract. In that, you could delete the last real device
attached to it and create a new one, in fact you might *have to* delete
the last attached virtual device (which is a real net_dev) in order to
make an incompatible one (well, I said it might suffice to bring the
other ones down, which is ok too).

> > - "Global" configuration requests (setting channel etc.) can be performed on
> >   any device and will affect all devices.
> 
> Yup.

I disagree. I rather envision a netlink protocol that says 'you cannot
change the channel on just this single device' (unless the driver
supports it), so you need a request saying 'change channel on all
virtual devices'. Userspace helpers would tell the user that if
necessary.

> I'd like to know why. :)  See above for my counter-argument about
> confusing users.  I'd be willing to agree that the control phy "master
> device" doesn't need to be a netdev, but I think it ought to be a
> constant, unique value.  Tracking down what interface is still mapped to
> what phy in a multicard situation seems like it would make a much bigger
> hassle.

I think that each of your cards in the multicard case is represented by
an abstract 'master' device that is not a net_dev. Unless your driver
wants to be smart enough to distribute the virtual devices over multiple
physical devices it may control.

johannes


signature.asc
Description: This is a digitally signed message part


Re: State of the Union: Wireless

2006-01-11 Thread Jiri Benc
On Wed, 11 Jan 2006 10:05:19 -0500, Mike Kershaw wrote:
> > - The type of a device (AP, client, WDS link, monitor, etc.) should be
> >   specified in the usual way (by iwconfig mode or whatever will eventually
> >   replace it).
> 
> Agreed, though there is a benefit to being able to specify the type of
> the initial card.  Many drivers offer it as a modprobe option, ie, to
> initialize the card in rfmon to prevent it from sending any probe req's
> before configuration.  A bit of a fringe IDS aspect, but I don't know if
> we ought to cut them out.  Does anyone actually USE this functionality?
> I don't, myself, but I know it exists.

The card should not send any frame when it is down. So the initial mode
doesn't matter.

> I don't know if I concur -- having the "control" interface move around
> is confusing.  I'd rather have one unique ID for that wireless phy
> (however this is presented) and then create dynamic devices from it via
> whatever command.  Atheros ties this to a master wifiX device that is
> uses to spawn dynamic devices.  It just seems that, logically, it makes
> more sense to have something like:

See below.

> > (*) At first, I was thinking that the first device ("master device")
> > shouldn't allow to be deleted. But it doesn't solve anything (don't want to
> > make this mail longer; ask me if you want to know why) and just confuses
> > users.
> 
> I'd like to know why. :)  See above for my counter-argument about
> confusing users.  I'd be willing to agree that the control phy "master
> device" doesn't need to be a netdev, but I think it ought to be a
> constant, unique value.

Because all of frames need to go through the master device. So frames
will be transmitted/received only when the master device is up. You have
two possibilities:

1. To have a "physical" master device with no functionality (like you
proposed). It's just hanging there and its purpose is obscure for an
user. It's confusing for him - the master device is not usable at all,
it is just present in list produced by ifconfig and it gets up and down
randomly by itself (or, the worst case, you have to up it manually to
let your wifi work).

2. To have one special device that cannot be removed. It acts exactly
like devices in my proposal, but you can't remove it. It doesn't work -
you have to have this device up, otherwise your wifi device won't
send/receive anything (imagine this situation: add_new_iface wlan0 wlan1
; iwconfig wlan1 mode managed ; ifconfig wlan1 up -- oops, I have my
card configured properly but it doesn't work).

In the second case you still need to select master device dynamically.
It has the "advantage" that you can pass struct net_device to a driver
(because you have one that cannot be removed). But if you look closer,
it is not an advantage at all - the driver is still not allowed to do
anything useful with that net_device (because most operations need to be
performed on several net_devices so you need ieee80211 to do this for
you anyway).

Regarding your comment about "control" interface moving around: there is
nothing like control iterface. You can issue any command on any
interface. When the command is a "local" one, it gets applied to that
interface only, when it is a "global" one, it gets applied to all
interfaces. In fact, every interface is a control interface. Migration
of master device is not visible to userspace.

> Tracking down what interface is still mapped to
> what phy in a multicard situation seems like it would make a much bigger
> hassle.

I think some userspace helper (small program that just nicely presents
information from sysfs) that outputs which device is related to which
device will solve this.

> So long as the driver can do client-mode bridging with fake associations
> for all the clients.

Or the stack perhaps?

> As far as link type, theres no real reason radiotap couldn't be used
> internally, but theres also no reason it's needed on anything other than
> rfmon if we don't think we'll ever care about per-frame stats in
> non-rfmon.  I don't think anyone has written any tools to use them,
> since it hasn't been an option.  I don't know that theres a lot of
> demand.  Rfmon *definitely* needs standard per-frame headers of radio
> data, and I've campaigned for RT previously so i won't bore people with
> it again now. :)

I think radiotap headers should be included when the interface is in
monitor mode.

Thanks a lot for your comments,

-- 
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-11 Thread Mike Kershaw
On Wed, Jan 11, 2006 at 03:49:37PM +0100, Jiri Benc wrote:
> Here is my proposal:
> 
> - There should be only as few net_devices as needed. I. e. when the card
>   acts as a client to one AP, only one device is present.

See below...

> - The type of a device (AP, client, WDS link, monitor, etc.) should be
>   specified in the usual way (by iwconfig mode or whatever will eventually
>   replace it).

Agreed, though there is a benefit to being able to specify the type of
the initial card.  Many drivers offer it as a modprobe option, ie, to
initialize the card in rfmon to prevent it from sending any probe req's
before configuration.  A bit of a fringe IDS aspect, but I don't know if
we ought to cut them out.  Does anyone actually USE this functionality?
I don't, myself, but I know it exists.

> - When you need a new device (e. g. because you want to connect to another
>   AP at the same time, or you want to add a new WDS link), you just invoke
>   some command and a new device will appear. Then you can configure the new
>   device in the usual way (iwconfig mode, etc.)

Sounds good.

> - Devices can be deleted. You can delete any device (including the first one
>   that appeared after modprobe/inserting the card (*)). Of course, you
>   cannot delete the last device (i. e. at least one device will be always
>   present).

I don't know if I concur -- having the "control" interface move around
is confusing.  I'd rather have one unique ID for that wireless phy
(however this is presented) and then create dynamic devices from it via
whatever command.  Atheros ties this to a master wifiX device that is
uses to spawn dynamic devices.  It just seems that, logically, it makes
more sense to have something like:
wlanadddev phy0 dyn0
wlanadddev phy0 dyn1
wlanadddev phy1 dyn2
wlandeldev dyn1
wlandeldev dyn2
wlanmakedev phy1 dyn1

rather than have the 'source' phy change over time.

> - "Global" configuration requests (setting channel etc.) can be performed on
>   any device and will affect all devices.

Yup.

> - "Local" configuration requests (setting mode, ESSID, etc.) will affect
>   only the device they are called on.

Yup.

> - You can add as many devices as you want and configure them in any way. But
>   only devices that are "compatible" (i. e. the hardware permits them to
>   operate together) can be brought up.

Sounds good, provided the error is reasonable.  Reasonable presentation
of the error is, admittedly, more userspace than kernel space, but since
we're talking about designing new uspace tools...

> 
> *snip*
>
> (*) At first, I was thinking that the first device ("master device")
> shouldn't allow to be deleted. But it doesn't solve anything (don't want to
> make this mail longer; ask me if you want to know why) and just confuses
> users.

I'd like to know why. :)  See above for my counter-argument about
confusing users.  I'd be willing to agree that the control phy "master
device" doesn't need to be a netdev, but I think it ought to be a
constant, unique value.  Tracking down what interface is still mapped to
what phy in a multicard situation seems like it would make a much bigger
hassle.

>  *snip*
> There are two problems regarding native 802.11 devices:
> 
> 1. Bridging between Ethernet and 802.11 device. Ethernet<->802.11 conversion
> can be implemented in the bridging code. There should be no problem with it.

So long as the driver can do client-mode bridging with fake associations
for all the clients.  Or the interface is in AP mode.

> ... *snip*

As far as link type, theres no real reason radiotap couldn't be used
internally, but theres also no reason it's needed on anything other than
rfmon if we don't think we'll ever care about per-frame stats in
non-rfmon.  I don't think anyone has written any tools to use them,
since it hasn't been an option.  I don't know that theres a lot of
demand.  Rfmon *definitely* needs standard per-frame headers of radio
data, and I've campaigned for RT previously so i won't bore people with
it again now. :)

-m

-- 
Mike Kershaw/Dragorn <[EMAIL PROTECTED]>
GPG Fingerprint: 3546 89DF 3C9D ED80 3381  A661 D7B2 8822 738B BDB1

America is a large, friendly dog in a very small room.  Every time it
wags its tail, it knocks over a chair.
-- Arnold Joseph Toynbee



pgpPfHqX9Kh4w.pgp
Description: PGP signature


Re: State of the Union: Wireless

2006-01-10 Thread Johannes Berg
On Tue, 2006-01-10 at 11:09 -0500, Mike Kershaw wrote:

> I don't think that I really agree with that.  I don't, as a user or as a
> programmer, want to unconfigure all my existing stuff just to drop into
> rfmon for a few minutes.  I'd definitely prefer that they stop working,
> than have to remember what all my virtual interfaces were and recreate
> them.

Well, we can allow you to create the rfmon device when the others are
'down', and not allow you to bring them up again until you take the
rfmon device down. Or something like that anyway.

johannes


signature.asc
Description: This is a digitally signed message part


Re: State of the Union: Wireless

2006-01-10 Thread Johannes Berg
On Sat, 2006-01-07 at 20:17 +0100, Stefan Rompf wrote:

> Caveats:
> -rfmon can affect all virtual devices as Mike pointed out

See my reply to him.

> -As a matter of fact, virtual devices are not independant eveb without rfmon, 
> simply because one physical device can only tune to one channel at a time

Same here. Cards that can't do this properly disallow some settings. Or
e.g. if you have an AP virtual device then you can't change the channel
on the virtual STA device etc.

> -Which link type should be used by the virtual device? Is it easier to change 
> all protocols to support 802.11 frames or is ethernet emulation mode 
> simplest?
> -If we use 802.11 natively, should we always tack on radiotap headers?

imho it should use 802.11 natively but not tack on radiotap headers
(overhead?) unless for a rfmon virtual device.

> Questions:
> -what happens to iwpriv?

It goes away.

> -where are the netlink messages/wireless extensions handled? Should the 
> device 
> driver forward into the stack, or should the stack call into the device 
> driver?

I think the "stack" provides demultiplexing and validation of the data
received from userspace and then calls into a driver method to handle
the changed configuration, which makes the driver again call some 'stack
library' methods to make that configuration.

IOW the driver validates the configuration and rejects it if necessary,
and the 'stack library' applies it.

> c)which stack to use? Actually, it's intel vs. devicescape. I'm about to port 
> the driver of a popular card to devicescape to get a personal opinion.

I think neither of the two support what we want. dscape is closer, and
we may be able to work from there.


> I think we should start discussing a), beginning with b) when we have 
> answered 
> most questions concerning a).

right.

johannes


signature.asc
Description: This is a digitally signed message part


Re: State of the Union: Wireless

2006-01-10 Thread Mike Kershaw
> > I don't know if the solution to this is a warning, marking non-rfmon
> > virtual interfaces down, or just saying "they'll figure it out", but I
> > figured it's worth considering at an early stage.
> 
> I think the solution lies with the driver: It just doesn't allow
> creating an rfmon virtual interface if that was going to break the other
> interfaces, so to get one you have to remove the others (and obviously
> that tells you that you can't do that during operation)

I don't think that I really agree with that.  I don't, as a user or as a
programmer, want to unconfigure all my existing stuff just to drop into
rfmon for a few minutes.  I'd definitely prefer that they stop working,
than have to remember what all my virtual interfaces were and recreate
them.

I know this sort of contradicts my original point, but I think we should
find the least-disruptive most-obvious method for making the rfmon
device.

I want my cake, and to eat it too. :P

-m

-- 
Mike Kershaw/Dragorn <[EMAIL PROTECTED]>
GPG Fingerprint: 3546 89DF 3C9D ED80 3381  A661 D7B2 8822 738B BDB1

"Dear Die-ary,
Today I stuffed some dolls with dead rats I put in a blender.
I'm beginning to wonder if, maybe, I really am screwed up."
   -- Johnny C. (JtHM)


pgpDambRbV4Ij.pgp
Description: PGP signature


Re: State of the Union: Wireless

2006-01-10 Thread Johannes Berg
On Fri, 2006-01-06 at 18:08 -0500, Mike Kershaw wrote:

> Two things to inject, from my own little corner of userspace:  

Thanks.

> I don't know if the solution to this is a warning, marking non-rfmon
> virtual interfaces down, or just saying "they'll figure it out", but I
> figured it's worth considering at an early stage.

I think the solution lies with the driver: It just doesn't allow
creating an rfmon virtual interface if that was going to break the other
interfaces, so to get one you have to remove the others (and obviously
that tells you that you can't do that during operation)

johannes


signature.asc
Description: This is a digitally signed message part


Re: State of the Union: Wireless

2006-01-10 Thread Johannes Berg
Denis Vlasenko wrote:

> I am confused.

Which isn't really all that surprising.

> ftp://ftp.berlios.de/pub/bcm43xx/snapshots/softmac/ieee80211softmac-20060107.tar.bz2
> which is not the same. For example, ieee80211softmac.h file exists in both
> tarballs but is not identical.
>
> Suppose one wants to use softmac in a project. What tarball contains
> the bleeding edge of softmac?

The one from the softmac page is created from the git repository. The one
on the bcm page is created from the now historical mercurial archive.

I need to get the bcm people to take away that snapshot and link to the
correct one.

johannes
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Acx100-devel] Re: State of the Union: Wireless

2006-01-10 Thread Andreas Mohr
Hi,

On Tue, Jan 10, 2006 at 08:39:25AM +0200, Denis Vlasenko wrote:
> On Friday 06 January 2006 06:22, Jeff Garzik wrote:
> > 
> > State of the Union - Wireless
> >   January 5, 2006
> 
> [ snip ]
> 
> > * Wireless drivers and the wireless stack need to be maintained IN-TREE
> >   as a COLLECTIVE ENTITY, not piecemeal maintenance as its done now.
> > 
> > The whole point of working in-tree, the whole point of this open source
> > thing is that everybody works on the same code, and the entire Internet
> > is your test bed.  Quality improves the more people work together.
> > The entire Linux kernel engineering process is focused on getting core
> > kernel code out to distributions (then to end users) and power users.
> > Out-of-tree code breaks that model, breaking the It Just Works(tm)
> > theme applicable to other Linux-supported hardware.
> 
> Cool, so may I please know why acx driver is not included in the mainline?
> In case it needs more work, well, (a) at least tell us what exactly
> you want improved, and (b) why do you think that in-tree acx would not
> be improved? It will get more visibility, maybe some people will
> get interested and will send a patch or two to us...

I think wording is a tad bit too aggressive here, since we (well, at least me)
haven't made many efforts to get it included, since we had to work out
some things. However at this point we should really go for inclusion,
the sooner the better (right?).

> > * Release early, release often.  Pushing from an external repository to
> >   the official kernel tree every few months creates more problems
> >   than it solves.  Out-of-tree drivers fail to take advantage of
> >   recent kernel changes and coding practices, which leads to bugs and
> >   incompatibilities.  Slow pushing leads to huge periodic updates,
> >   which are awful for debugging, testing, and general use.
> 
> I want to avoid exactly this, and therefore want acx in mainline.

ACK.

> How are we going to find out which stack is best and which stack
> we should concentrate our efforts on? In an absense of wifi maintainer,
> maybe we should throw _all stacks_ (currently two) into the mainline,
> and evolution will find the best one. Yes, it would be a bit ugly
> at first, but I hope it will speed up evolution a lot.

I have to admit that a big item on our acx ToDo list was the missing ieee80211
integration, but now that there's a second stack on the horizon and things
look less decided I'm not that much troubled by our lack of ieee80211 use
any more ;)
That said, of course we should try to get rid of our own, historic (originating
from binary TI driver!) in-driver stack very soon.

I won't do any comments on which stack to use, though, I will do research first
and then work out which one to use depending on popularity and features
matching our chips' properties.

Andreas Mohr
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-10 Thread Chase Venters
On Tuesday 10 January 2006 00:39, Denis Vlasenko wrote:
> How are we going to find out which stack is best and which stack
> we should concentrate our efforts on? In an absense of wifi maintainer,
> maybe we should throw _all stacks_ (currently two) into the mainline,
> and evolution will find the best one. Yes, it would be a bit ugly
> at first, but I hope it will speed up evolution a lot.
>
> Let current stack sit in include/net/ieee80211*.h and net/ieee80211/*,
> add dcape one into include/net/wlan*.h and net/wlan/*
> (s/wlan/dscape/ or whatever)
>
> We can even give Devicescape folks blanket permissions to
> maintain their stack in include/net/wlan*.h and net/wlan/*.
> Maybe they can act as a wifi maintainer long term.
>
> Existing drivers won't need to closely track every change
> in dscape stack. If dscape will survive, old drivers can be
> converted to it gradually. If not, just dike it out.

I don't like the idea of maintaining two of anything. What if I have two 
wireless interfaces, each using a different stack?

Performance--,
Kernel size++

I get that it's hard to get everyone to agree on one stack or another, but we 
need to make the decision now because the longer we don't have a decision 
made (this includes maintaining two in-tree stacks) the longer it's going to 
take us to have serious / robust / reliable / consistent wireless support.

I know basically nothing about 802.11, but it seems to me that what should 
happen is that if there is sufficient motivation to boot ieee80211 in favor 
of DeviceScape, someone should cook up the patches. 

Besides, assume we did bless two stacks. Every new driver / driver that wanted 
to go mainline would choose one or another (it's already clear that people 
disagree). Thus we end up with *more* work to do in order to decide one way 
or another (since we have to partially break & fully port all the drivers 
from one stack to another). 

There's incompatibility all over this wireless landscape. The best way to deal 
with it is to make all the big hard decisions now - say "this is the way it's 
going to be" and work from there. We can always undo mistakes later, but 
we'll never get to that point if we don't start moving in one direction 
instead of ten.

> --
> vda
> -

Cheers,
Chase
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-09 Thread Denis Vlasenko
On Friday 06 January 2006 06:22, Jeff Garzik wrote:
> 
>   State of the Union - Wireless
> January 5, 2006

[ snip ]

> * Wireless drivers and the wireless stack need to be maintained IN-TREE
>   as a COLLECTIVE ENTITY, not piecemeal maintenance as its done now.
> 
> The whole point of working in-tree, the whole point of this open source
> thing is that everybody works on the same code, and the entire Internet
> is your test bed.  Quality improves the more people work together.
> The entire Linux kernel engineering process is focused on getting core
> kernel code out to distributions (then to end users) and power users.
> Out-of-tree code breaks that model, breaking the It Just Works(tm)
> theme applicable to other Linux-supported hardware.

Cool, so may I please know why acx driver is not included in the mainline?
In case it needs more work, well, (a) at least tell us what exactly
you want improved, and (b) why do you think that in-tree acx would not
be improved? It will get more visibility, maybe some people will
get interested and will send a patch or two to us...
 
> * Release early, release often.  Pushing from an external repository to
>   the official kernel tree every few months creates more problems
>   than it solves.  Out-of-tree drivers fail to take advantage of
>   recent kernel changes and coding practices, which leads to bugs and
>   incompatibilities.  Slow pushing leads to huge periodic updates,
>   which are awful for debugging, testing, and general use.

I want to avoid exactly this, and therefore want acx in mainline.

> * ALL wireless stacks need work.  It is currently fashionable to laud
>   DeviceScape and trash in-kernel ieee80211, but outside of the
>   cheerleading, BOTH have real technical issues that need addressing.
>   IOW, no matter what code is chosen, _somebody_ is on the hook for
>   a fair amount of work.  A switch is not without its costs.
> 
> * I would prefer that people patch the in-tree ieee80211 code,
>   probably in the direction of Jiri Benc's proposed ieee80211_device
>   direction.  I take patches from all parties, not just Intel.
> 
> * However, if the engineering reasons for switching to DeviceScape
>   or another wireless stack are powerful enough to overcome Linux's
>   "no big patches, evolve it" maxim, great!  But make sure to work
>   on converting drivers to this new stack.  The wireless drivers and
>   wireless stack should evolve in tandem.  Otherwise, drivers get
>   left behind, grow moldy, and Linux users suffer.

How are we going to find out which stack is best and which stack
we should concentrate our efforts on? In an absense of wifi maintainer,
maybe we should throw _all stacks_ (currently two) into the mainline,
and evolution will find the best one. Yes, it would be a bit ugly
at first, but I hope it will speed up evolution a lot.

Let current stack sit in include/net/ieee80211*.h and net/ieee80211/*,
add dcape one into include/net/wlan*.h and net/wlan/*
(s/wlan/dscape/ or whatever)

We can even give Devicescape folks blanket permissions to
maintain their stack in include/net/wlan*.h and net/wlan/*.
Maybe they can act as a wifi maintainer long term.

Existing drivers won't need to closely track every change
in dscape stack. If dscape will survive, old drivers can be
converted to it gradually. If not, just dike it out.

> * Feel free to submit radical changes -- wireless is yet young --
>   just make sure all drivers keep working from release to release.
> 
> * Long term, wireless should go from being a library of common code to a
>   "real" wireless stack, as shown in the template developed by David Miller:
>   
> http://kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/davem-p80211.tar.bz2
>   Zhu Yi @ Intel and Vladmir @ somewhere both independently did some
>   work in this area.
> 
> * Please CC wireless stack/driver discussions to netdev@vger.kernel.org
>   mailing list, rather than everybody hiding in their own little
>   corner.

[snip]

> So... there it is.  We suck.  There's hope.  No Luke Skywalker in sight.
> I hope we can avoid being slaves to fashion, by merging a rewrite, but
> that way be the way to go.
--
vda
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-07 Thread Danny van Dyk

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Stefan Rompf schrieb:
| so, can we agree on this:
|
| a)we want to distinguish between physical devices and virtual devices.
| Physical devices represent a network card, virtual devices a function
based
| on the card (access point, sta, ...). Some cards can handle multiple
| functions parallel, we support it this way.
|
| Caveats:
| -rfmon can affect all virtual devices as Mike pointed out
| -As a matter of fact, virtual devices are not independant eveb without
rfmon,
| simply because one physical device can only tune to one channel at a time
Current devices. What to do when Foo, Inc creates a device with 3 radios
~ that can be used in parallel?

~ > b)we want to replace the wireless extension ioctl()s with netlink so
we have
| the possibility to change multiple config items at once
|
| Questions:
| -what happens to iwpriv?
Drop it. As this discussion targets an in-kernel stack (though it has
yet to be written), kernel rules for APIs should be applied. Keep
backwards compatibility where necessary (meaning: never drop support for
old 80211-messages-over-netlink protocols) but don't hesitate to extend
the API, which would be as easy as incrementing an id field.

| -where are the netlink messages/wireless extensions handled? Should
the device
| driver forward into the stack, or should the stack call into the device
| driver?
IMHO the stack should handle the messages. Each driver should provide a
"80211_ops" table. Also, the stack must be able to do all those
operations in when not provided by the drivers.

| c)which stack to use? Actually, it's intel vs. devicescape. I'm about
to port
| the driver of a popular card to devicescape to get a personal opinion.
Though i'm probably biased, i'd still vote to use the current intel
'stack' together with the emerging softmac module. In my eyes it has a
big upside when compared to devicescape: It's already in the kernel...

Why not use the current ieee80211 device(s) as masterdevices? This way,
we keep compatibility with userspace (at least for some time)

Danny
- --
Danny van Dyk <[EMAIL PROTECTED]>
Gentoo/AMD64 Project, Gentoo Scientific Project
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDwDetaVNL8NrtU6IRAlvBAJ9lUduuu4EFZ2gZzpp7BL6e3OaxWACeOgZk
zJERmHa3LfFMOC99SlPoLME=
=Ywr6
-END PGP SIGNATURE-
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-07 Thread Stefan Rompf
Hi,

so, can we agree on this:

a)we want to distinguish between physical devices and virtual devices. 
Physical devices represent a network card, virtual devices a function based 
on the card (access point, sta, ...). Some cards can handle multiple 
functions parallel, we support it this way.

Caveats:
-rfmon can affect all virtual devices as Mike pointed out
-As a matter of fact, virtual devices are not independant eveb without rfmon, 
simply because one physical device can only tune to one channel at a time

Question:

-Which link type should be used by the virtual device? Is it easier to change 
all protocols to support 802.11 frames or is ethernet emulation mode 
simplest?
-If we use 802.11 natively, should we always tack on radiotap headers?


b)we want to replace the wireless extension ioctl()s with netlink so we have 
the possibility to change multiple config items at once

Questions:
-what happens to iwpriv?
-where are the netlink messages/wireless extensions handled? Should the device 
driver forward into the stack, or should the stack call into the device 
driver?


c)which stack to use? Actually, it's intel vs. devicescape. I'm about to port 
the driver of a popular card to devicescape to get a personal opinion.


I think we should start discussing a), beginning with b) when we have answered 
most questions concerning a).

Thoughts?

Stefan
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-07 Thread Denis Vlasenko
On Friday 06 January 2006 13:31, Johannes Berg wrote:
> On Fri, 2006-01-06 at 12:00 +0100, Michael Buesch wrote:
> 
> > * "master" interface as real device node
> > * Virtual interfaces (net_devices)
> 
> I didn't want to spam the netdev wiki with this (yet) so I collected
> some more structured things outside. Anyone feel free to edit:
> http://softmac.sipsolutions.net/802.11

I am confused.

There is
http://softmac.sipsolutions.net/softmac-snapshot.tar.bz2
at http://softmac.sipsolutions.net/SoftMAC,
page also says "Projects using this layer: * Broadcom 43xx driver"

but Broadcom driver page at ftp://ftp.berlios.de/pub/bcm43xx/snapshots/softmac/
has 
ftp://ftp.berlios.de/pub/bcm43xx/snapshots/softmac/ieee80211softmac-20060107.tar.bz2
which is not the same. For example, ieee80211softmac.h file exists in both
tarballs but is not identical.

Suppose one wants to use softmac in a project. What tarball contains
the bleeding edge of softmac?

> I'll move that content to the netdev wiki if anyone else thinks it would
> be a good way forward to start with requirements, API issues and
> similar.
> 
> Until we get there, we'll fix up softmac to make it usable for most
> people in basic station mode without any kind of virtual devices, which
> will need some slight changes to the current ieee80211.
--
vda
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-06 Thread Mike Kershaw
[ Sorry, this went to linux-kernel, meant to send it to netdev.
Apologies to those who see it twice. ]

> So, now we asked: How would a sane UI look like. We had a few points:
> * The interface needs to support some kind of "master" interface to
> configure the hardware, 80211 parameters and
> to actually configure and setup the
> * Virtual interfaces.
> Data is transferred only though the virtual interfaces, which could
> be an AP interface, a STA interface in INFRA or Ad-Hoc mode, etc... .
> Configuration is done though the master interface.

Two things to inject, from my own little corner of userspace:  

1.  Monitor mode formatting.  

I ported over the BSD radiotap packet header system, it's in the Intel
and I beleive some versions of the Devicescape stacks.  Using these
would be a very good thing for userspace.  If for some reason it isn't
used, then we (userspace tool people) need something equivalent.  I like
radiotap primarily because:
 * Dynamic per-packet stats.  Drivers provide what their firmware is
   capable of providing per frame.  The more info provided the better.
 * Expandable headers.  New per-frame stats can be added into the RT
   headers without changing linktype, breaking existing apps, etc.
 * Format indicators.  Is the 4 byte FCS tacked onto the end of the
   frame in rfmon?  If we don't know this in userspace, we can't do
   802.11 validation, wep decoding, and other important stuff.
   Userspace shouldn't have to know which driver is being used, this
   ought to be in the frame headers.

Radiotap provides all of those and is already supported by tcpdump,
ethereal, kismet, etc.

2. RFMon is weird/breaks interfaces
The other gotcha with rfmon is it often breaks a cards ability to
associate (though less often with new cards).  Even if it doesn't,
whatever tool put it into rfmon is likely to want to take control of the
channel hopping, which will interfere with the associations of other
virtual interfaces.

Currently single-interface cards (ethX, whatever) thrown into rfmon just
plain break, in a pretty obvious way.  The linktype changes, traffic
stops, and users more or less understand this is going to be the
behavior.  Once virtual interfaces come into play, it may cause some
confusion if you can make virtual interfaces that do sta, adhoc, ap all
at once without conflicting, and suddenly bringing up an rfmon
interfaces causes them all to break.

I don't know if the solution to this is a warning, marking non-rfmon
virtual interfaces down, or just saying "they'll figure it out", but I
figured it's worth considering at an early stage.

-m

-- 
Mike Kershaw/Dragorn <[EMAIL PROTECTED]>
GPG Fingerprint: 3546 89DF 3C9D ED80 3381  A661 D7B2 8822 738B BDB1

"Yes, yes, LORD OF HUMANS!  I will rule you ALL with an iron fist!  YOU!
OBEY THE FIST!"
  -- Invader Zim  


pgpJF2IWX0ckO.pgp
Description: PGP signature


Re: State of the Union: Wireless

2006-01-06 Thread Johannes Berg
On Fri, 2006-01-06 at 13:48 +0100, Stefan Rompf wrote:

> With hardware like prism2 usb that gets "don't touch me now mode" for a while 
> after a join command is issued, current API requires a driver to delay 
> starting an association in order to wait if other config requests are issued 
> - an ugly hack.

So that settles the 'need to change multiple settings at once' issue,
saying that yes, it is indeed required.

johannes


signature.asc
Description: This is a digitally signed message part


Re: State of the Union: Wireless

2006-01-06 Thread Stefan Rompf
Am Freitag 06 Januar 2006 12:46 schrieb Dominik Brodowski:

> From someone who has no idea at all (yet) about 802.11: why character
> device, and not sysfs or configfs files? Like

sysfs shares the main problem with wireless extensions: It configures one 
value per file / per ioctl. Setting up a wireless card to associate or form 
an IBSS network consists of multiple parameters, many requiring the card to 
disasscociate.

With hardware like prism2 usb that gets "don't touch me now mode" for a while 
after a join command is issued, current API requires a driver to delay 
starting an association in order to wait if other config requests are issued 
- an ugly hack.

I vote for netlink. It's a defined and tested interface and has all features 
needed to set multiple values in one transaction.

Stefan
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-06 Thread Johannes Berg

> From someone who has no idea at all (yet) about 802.11: why character
> device, and not sysfs or configfs files? Like

As Michael already said -- there's no real reason for that. We were just
brainstorming. The /dev idea seemed like a good plan at first, but then
it isn't fixed. What you suggested below does look useful too.

Coming back to the point Michael already raised: the overarching idea is
to get rid of the net_dev for the 'master' device, even if the
underlying hardware supports only a single virtual device (which might
then be created by the driver automatically)

I'll move the wiki pages a bit to accomodate different models, please
check in a few minutes.

johannes


signature.asc
Description: This is a digitally signed message part


Re: State of the Union: Wireless

2006-01-06 Thread Dominik Brodowski
On Fri, Jan 06, 2006 at 12:31:24PM +0100, Johannes Berg wrote:
> On Fri, 2006-01-06 at 12:00 +0100, Michael Buesch wrote:
> 
> > * "master" interface as real device node
> > * Virtual interfaces (net_devices)
> 
> I didn't want to spam the netdev wiki with this (yet) so I collected
> some more structured things outside. Anyone feel free to edit:
> http://softmac.sipsolutions.net/802.11

>From someone who has no idea at all (yet) about 802.11: why character
device, and not sysfs or configfs files? Like

TASK: get list of MAC addresses available to hardware device (usually only one 
for current hw)

cat /sys/devices/path/to/device/wireless/address

TASK: get list of virtual devices including (some of) their properties

ls -l /sys/devices/path/to/device/wireless/
...
wlan0 -> /sys/class/net/wlan0
wlan1 -> /sys/class/net/wlan1

TASK: create virtual device (with arbitrary type, netdev name and mac address)
  ^^
   isn't nameif / udev for that?

echo "$type" > /sys/devices/path/to/device/wireless/new_if
... we get uevents for this new interface; in this we can set the
mac adress doing:
echo "$mac" > /sys/class/net/wlan0/wireless/address

TASK: configure virtual device (key is the device name since that needs to be 
unique anyway) 

echo "$some_config_option_for_virtual_device" > 
/sys/class/net/wlan0/wireless/some_option
echo "$some_config_option_for_physical_device"> 
/sys/devices/path/to/dev/wireless/some_other_option


Of course the configuration userspace tool would use libsysfs for that, not
"echo" scripts... but they'd work too.

Dominik
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: State of the Union: Wireless

2006-01-06 Thread Johannes Berg
On Fri, 2006-01-06 at 12:00 +0100, Michael Buesch wrote:

> * "master" interface as real device node
> * Virtual interfaces (net_devices)

I didn't want to spam the netdev wiki with this (yet) so I collected
some more structured things outside. Anyone feel free to edit:
http://softmac.sipsolutions.net/802.11

I'll move that content to the netdev wiki if anyone else thinks it would
be a good way forward to start with requirements, API issues and
similar.

Until we get there, we'll fix up softmac to make it usable for most
people in basic station mode without any kind of virtual devices, which
will need some slight changes to the current ieee80211.

johannes


signature.asc
Description: This is a digitally signed message part