netdev
[Top] [All Lists]

Re: [RFC] Wireless extensions rethink

To: Jeff Garzik <jgarzik@xxxxxxxxx>
Subject: Re: [RFC] Wireless extensions rethink
From: Jean Tourrilhes <jt@xxxxxxxxxxxxxxxxxx>
Date: Wed, 16 Jun 2004 15:33:16 -0700
Address: HP Labs, 1U-17, 1501 Page Mill road, Palo Alto, CA 94304, USA.
Cc: Gertjan van Wingerde <gwingerde@xxxxxxx>, sfeldma@xxxxxxxxx, netdev@xxxxxxxxxxx, jkmaline@xxxxxxxxx
E-mail: jt@xxxxxxxxxx
In-reply-to: <40D0BD5B.201@xxxxxxxxx>
Organisation: HP Labs Palo Alto
References: <C6F5CF431189FA4CBAEC9E7DD5441E0103AF626C@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <40CF263E.70009@xxxxxxx> <1087377197.25912.54.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <40D08769.3070106@xxxxxxx> <20040616204248.GA23617@xxxxxxxxxxxxxxxxxx> <40D0BD5B.201@xxxxxxxxx>
Reply-to: jt@xxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
On Wed, Jun 16, 2004 at 05:36:27PM -0400, Jeff Garzik wrote:
> 
> This is something on which we'll have to agree to disagree.
> 
> In Linux we are free to improve the APIs :)

        Well, this is where I wish system apps were strongly linked
with the kernel as it is the case in *BSD. They don't have the
headacke of backward/forward compatibility that we have.

> >     I also asked Jeff why he want to redesign the API, and in the
> >end there was only two issues :
> >     1) type-safe handler versus generic handler. I personally
> >disagree with Jeff on that one. But, you can easilly fix it by
> >offering wrapper to the current API :
> >     http://marc.theaimsgroup.com/?l=linux-netdev&m=107896289630224&w=2
> 
> I think I explained myself better, in the recent post in this thread. 
> Such a wrapper does nothing to move the locking, ioctl marshalling, and 
> security checks out of the drivers.

        The iw_handler already take care of the net locking, security
check, and most of the ioctl marshalling. What the driver has to take
care is only the remaining of marshalling and driver locking.

        I think you did not understood my idea at all.
        If you build a set of generic wrappers and hook them in the
iw_handler table, you could trivially add the features you feel are
missing into those wrappers. Those wrappers would expose whatever API
you choose to the driver, call your struct wireless_ops for example.

> >     2) The use of ioctls. I've created a patch to add RtNetlink
> >support to the Wireless Extension API, and so far nobody has commented
> >on this :
> >     http://marc.theaimsgroup.com/?l=linux-netdev&m=107846135617655&w=2
> >     A more recent/functional version of this patch is on my web
> >page. I'm not going to waste time on this if nobody cares.
> 
> Well, I liked the patch at least :)

        Ok, I'll try to resume work on that, after I manage WPA. I
still have issues with the RtNetlink API which was not designed to
perform individual GET requests, and this make the code a bit
tricky. I also want to totally remove the useless pointer from this
API, but need a way to do that transparently.

>       Jeff

        Have fun...

        Jean

<Prev in Thread] Current Thread [Next in Thread>