Hi, > > + 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?
we should - that is what addr4 is used for but I did not test it. Let me know if it does not work for you. > > + > > + 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. I don't understand what you are trying to say here. Are you sure it is not working or are you worried that WDS might not work ? If you have doubts please explain them in more detail. Thanks, Marek
