Dear Mohammed, I need to work inside ieee80211_rx_h_sta_process as I have to perform stationwise stats and I have to catch all packets, also the ones that will be redirected to the BSS. I think that the problem arise because the pointer of the network_header is not correctly set. If I am not wrong, at this point of the receive path the skb should contain the 802.11 header as a first element, so I did skb_set_nework_header(skb,ieee80211_get_hdrlen_from_skb(skb))) I was supposing that after the MAC header there is the IP header... no ethernet header in between. Is this the case? Also doing skb_set_nework_header(skb,ieee80211_get_hdrlen_from_skb(skb)+sizeof(struct(ethhdr))) does not work Does somebody have any hint? thank you Claudio 2012/3/8 Mohammed Shafi <shafi.wireless@xxxxxxxxx>: > On Thu, Mar 8, 2012 at 3:54 PM, Claudio Rossi > <rossi.claudio.82@xxxxxxxxx> wrote: >> Dear all, >> I would like to inspect the protocol type field from mac802.11, and >> specifically in rx.c in the function >> >> static ieee80211_rx_result debug_noinline >> ieee80211_rx_h_sta_process(struct ieee80211_rx_data *rx) > > may be you should do this stuff after ieee80211_deliver_skb in 1740, rx.c > > if (skb) { > /* deliver to local stack */ > skb->protocol = eth_type_trans(skb, dev); > memset(skb->cb, 0, sizeof(skb->cb)); > netif_receive_skb(skb); > } > } > > >> >> I was trying to do: >> >> struct iphdr * network_header; >> skb_set_network_header(skb,ieee80211_get_hdrlen_from_skb(skb)); >> network_header = (struct iphdr *)skb_network_header(skb); >> >> if (network_header->protocol==IPPROTO_TCP){ >> ... >> } >> but it does not seams to work.... >> >> In status.c everything works fine when I do: >> >> struct iphdr * network_header; >> >> network_header = (struct iphdr *)skb_network_header(skb); >> >> if (network_header->protocol==IPPROTO_TCP){ >> ... >> } >> >> the problem is how to correctly set the network header pointer in the >> skb in rx.c >> can somebody give me an hint? >> >> >> Thank you >> >> -- >> Claudio Rossi >> ------------------- >> Office @ PoliTO: +39 011 5644194 >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > -- > thanks, > shafi -- Claudio Rossi ------------------- Office @ PoliTO: +39 011 5644194 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html