Search Linux Wireless

Re: [PATCH 2/3] mac80211: IEEE802.11e/WMM TS management and DLS support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday 13 May 2007 22:15, Zhu Yi wrote:
> +#define DLS_STATUS_OK		0
> +#define DLS_STATUS_NOLINK	1
> +#define DLS_STATUS_SETUP	2
> +struct dls_info {
> +	atomic_t refcnt;
> +	int status;
> +	u8 addr[ETH_ALEN];
> +	struct dls_info *hnext; /* next entry in hash table list */
> +	u32 timeout;
> +	u32 supp_rates;
> +};
> +
The dls_info code looks like it was copied from the sta_info code and modified 
to store what you need. No good.

Instead, you should modify struct sta_info to hold the information necessary. 
This also allows the rate control to work properly. AFAICT, mac80211 will 
send all frames in DLS at the lowest rate because this code does not set up a 
sta_info for its destination. An appropriate sta_info entry is also necessary  
to be able to set up encryption properly. (of course, user space can also set 
up a sta_info entry after setting up a DLS entry and make things work 
correctly.. but that's dumb)

There is also a need for some way to notify the low level driver that it 
should not attempt any power management after a direct link is established 
(or that it should, once all DLS links are torn down). This callback/hook is 
also necessary to configure PS in hardware correctly in general and get rid 
of the management frame sniffing that iwlwifi is currently doing to achieve 
this.

> + if (dls_link_status(&sdata->u.sta, hdr.addr1) == DLS_STATUS_OK){
How is this line suppose to work? I don't see hdr.addr1 initialized at any 
point before this.

-Michael Wu

Attachment: pgpybHfJRTdz0.pgp
Description: PGP signature


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux