[removed lkml]

On Thu, 12 Jan 2006 18:24:02 +0100, Michael Buesch wrote:
> [...]
> --- linux-2.6.15-ds060105.orig/include/net/ieee80211.h        2006-01-08 
> 02:10:46.000000000 +0100
> +++ linux-2.6.15-ds060105/include/net/ieee80211.h     2006-01-09 
> 16:22:59.000000000 +0100
> [...]
> +struct ieee80211_device {
> +     /* Device name string. Usually "wlanX". */
> +     __u8 name[IFNAMSIZ + 1];
> +     /* Hardware data. */
> +     struct ieee80211_hw *hw;
> +     /* Wireless Configuration data. */
> +     struct wconf_device *wconf;
> +     struct net_device *dev;/*TODO: We want to get rid of the master 
> net_device
> +                                     and use ieee80211_device instead. */
> +};

This ieee80211_device structure is redundant, wconf_device etc. should
be in ieee80211_hw.

> --- linux-2.6.15-ds060105.orig/include/net/wconf.h    1970-01-01 
> 01:00:00.000000000 +0100
> +++ linux-2.6.15-ds060105/include/net/wconf.h 2006-01-11 21:53:55.000000000 
> +0100
> [...]
> +enum {
> +     WCONF_CMD_NAME,
> +     WCONF_CMD_NICK,

What is WCONF_CMD_NICK for?

> +     WCONF_CMD_MODE,
> +     WCONF_CMD_CHANNEL,
> +     WCONF_CMD_SENSITIVITY,
> +     //TODO
> +     WCONF_NR_STANDARD, /* Number of standard commands. */
> +     WCONF_CMD_FIRSTPRIV     = 0x0001FFFF,
> +     WCONF_CMD_LASTPRIV      = 0xFFFFFFFF,
> +};

Do we really need private commands?

> +enum {
> +     WCONF_MODE_AUTO,        /* Let the driver decides */

AUTO mode has no sense.

> +     WCONF_MODE_ADHOC,       /* Single cell network */
> +     WCONF_MODE_INFRA,       /* Multi cell network, roaming, ... */
> +     WCONF_MODE_MASTER,      /* Synchronisation master or Access Point */
> +     WCONF_MODE_REPEAT,      /* Wireless Repeater (forwarder) */
> +     WCONF_MODE_SECOND,      /* Secondary master/repeater (backup) */
> +     WCONF_MODE_MONITOR,     /* Passive monitor (listen only) */
> +};

When we are creating a new API, couldn't we use names conforming to the
standard? I. e. AP instead of MASTER, WDS instead of REPEATER, etc.?

> +struct wconf_cmd_channel {
> +     /** Frequency in KHz, or channel number if < 1000 */
> +     __u32   freq;
> +     __u8    flags;
> +#define WCONF_CHAN_AUTO              (1 << 0)
> +#define WCONF_CHAN_FIXED     (1 << 1)
> +};

Do we really want frequency to be set from userspace?

> +/*** KERNEL API (Driver and internal) ***/
> +
> +/*TODO: Handler functions are currently not implemented. They must be hooked 
> up by the
> + *      ieee80211 subsystem (and must be implemented as part of the 
> ieee80211 subsys).
> + *      Where applicable, the drivers must re-hook the handler functions 
> (for hardware
> + *      MAC for example).
> + */

I'm not sure here. When drivers are allowed to rehook handlers, there is
a possibility that handlers in different drivers won't behave in the
same way regarding to userspace. Maybe all calls should go through the
ieee80211 and there should be callbacks in ieee80211_hw designed for
cards with advanced firmware?

Also, I wasn't able to find out (perhaps I just didn't look carefully
enough) how you addressed the problem of commands that affect all of
interfaces vs. commands that affect just one interface.

Thanks,

-- 
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

Reply via email to