[Click] MADWIFI TX feedback packets

Javier Sánchez javier.recacha at gmail.com
Sun Jul 26 05:48:40 EDT 2009


Hi Robert,

I have something. I created a fromdevice2 element that pushes pkttype
== PACKET_OUTGOING packets, and a radiotapdecap2 element that process
radiotap tx feedbacks packets, these tx feedback packets are using a
radiotap tx header (is different from the typical radiotap rx header).

Use:

from_dev :: FromDevice2($DEVICE, PROMISC true)
from_dev[0] -> ... //process normal packets
from_dev[1] -> Discard;
from_dev[2] -> RadiotapDecap2(DEBUG true) -> Discard; //process tx
feedback packets


The RadiotapDecap2 is not finished because i am only interested in
retries. But if u look at the code it should be easy to complete.



On Sun, Jul 26, 2009 at 12:56 AM, Robert
Sombrutzki<sombrutz at informatik.hu-berlin.de> wrote:
> Hi Javier,
> did you solve the problem with txfeedback-packets ? I had the same problem
> with Madwifi and Click. My solution was to change the packettype in the
> madwifi-driver. I changed the packettype for feedback-packets to
> PACKET_OTHERHOST in the madwifi-driver and it works. But i think, that's not
> the right way. However, in early madwifi-versions ( e.g. 0.9.1.), the
> packettype for all received or feedbacked packets in monitormode is
> PACKET_OTHERHOST.
> Did you find any other solutions ??
>
> Best regards,
> Robert
>
> Patch for packettype -> PACKET_OTHERHOST;
>
> diff --git a/net80211/ieee80211_monitor.c b/net80211/ieee80211_monitor.c
> index 3b3f65a..71dac5d 100644
> --- a/net80211/ieee80211_monitor.c
> +++ b/net80211/ieee80211_monitor.c
> @@ -350,7 +353,8 @@ ieee80211_input_monitor(struct ieee80211com *ic, struct
> sk_buff *skb,
>                         * on the contents of the frame to set pkttype.
>                         */
>                        if (tx)
> -                               pkttype = PACKET_OUTGOING;
> +                               //pkttype = PACKET_OUTGOING;
> +                               pkttype = PACKET_OTHERHOST;
>                        else if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
>                                if (IEEE80211_ADDR_EQ(wh->i_addr1,
> dev->broadcast))
>                                        pkttype = PACKET_BROADCAST;
>
>
>>Hi,
>>
>>Madwifi driver is forwading a tx packet with some stats into monitor
>>device each time it transmits a packet (or fails).
>>
>>The problem is that this packet is pkttype == PACKET_OUTGOING and
>>fromdevice element is not processing it. It is possible that other
>>drivers have this behavior too.
>>
>>May be an optional output to fromdevice element may be useful for this
>>packets?
>>
>>Regards
>>Javier
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fromdevice2.cc
Type: text/x-c++src
Size: 13904 bytes
Desc: not available
Url : http://amsterdam.lcs.mit.edu/pipermail/click/attachments/20090726/5ead7fe2/attachment-0002.cc 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fromdevice2.hh
Type: text/x-c++hdr
Size: 5938 bytes
Desc: not available
Url : http://amsterdam.lcs.mit.edu/pipermail/click/attachments/20090726/5ead7fe2/attachment-0002.hh 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: radiotapdecap2.cc
Type: text/x-c++src
Size: 4100 bytes
Desc: not available
Url : http://amsterdam.lcs.mit.edu/pipermail/click/attachments/20090726/5ead7fe2/attachment-0003.cc 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: radiotapdecap2.hh
Type: text/x-c++hdr
Size: 877 bytes
Desc: not available
Url : http://amsterdam.lcs.mit.edu/pipermail/click/attachments/20090726/5ead7fe2/attachment-0003.hh 


More information about the click mailing list