Search Linux Wireless

Re: mac80211 IPv6 problems

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

 



On Thursday 02 August 2007 17:55, John W. Linville wrote:
>  				} else if (!multicast &&
>  					   compare_ether_addr(sdata->dev->dev_addr,
> -							      hdr->addr1) != 0) {
> +							      hdr->addr1)) {
Good idea. Should do this for all the other cases in the function to keep 
things consistent.

>  					if (!sdata->promisc)
>  						continue;
>  					rx.u.rx.ra_match = 0;
> -				}
> +				} else if (multicast &&
> +					   !compare_ether_addr(sdata->dev->dev_addr,
> +							       hdr->addr3))
> +					rx.u.rx.ra_match = 0;
This doesn't seem quite right. I think ieee80211_rx_h_data is a safer place 
for this check (inside the IEEE80211_FCTL_FROMDS case), and allows various 
statistics to be updated. ieee80211_rx_h_sta_process is another function that 
might work though that would probably involve more code to add all the right 
checks.

Another alternate is to continue - doing rx.u.rx.ra_match = 0; still passes 
the frame through the rx chain, though I think I'd prefer to update the 
statistics.

-Michael Wu

Attachment: pgpzZIwdh6BkM.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