Hi Marek
- shost = wifi_hdr->addr2;
- if (fc & IEEE80211_FCTL_FROMDS)
shost = wifi_hdr->addr3;
- else if (fc & IEEE80211_FCTL_TODS)
shost = wifi_hdr->addr4;
- dhost = wifi_hdr->addr1;
- if (fc & IEEE80211_FCTL_TODS)
dhost = wifi_hdr->addr3;
What would happen if you happened to pick up a WDS packet? Four addresses in the packet. Do we see sensible addresses?
- hdr_len = 24;
- if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS))
hdr_len = 30;
Again, WDS? We are now a few bytes out when decoding the rest of the packet.
Andrew