On Thu, 2007-08-02 at 23:38 +0100, warmcat wrote: > Block of code at the end of ieee80211_tx_status() seems to exist in order > to echo tx packets down Monitor mode interfaces with a synthesized > radiotap preamble describing the outcome of the transmission. > > The effect it has with injected packets is that two copies of each > injected packet appears on the soft Monitor mode interface it was injected > down, one with a correct radiotap header reflecting what was injected, > and one with a bogus 0x0b length radiotap header. This behaviour > was seen on iwl3945 and rt73usb. > > This patch adds a new attribute to ieee80211_tx_control's flags field, > IEEE80211_TXCTL_NO_SOFT_MONITOR_ECHO, which is set for injected > packets. The code to add a new radiotap header and echo the packet > down monitor mode interfaces is now conditional on this attribute not > being set. Ah. Now I see why this is happening. It's because any packet you send into the monitor interface from userspace is already redirected back to userspace by upper levels... Hmm. It *seems* this patch is correct, but it changes the semantics slightly: previously, you would see transmitted packets with their transmit indication (whether it was acked etc) and now you do not get that for injected packets. Could we instead somehow get the upper layers to not redirect that and fix the radiotap header? johannes
Attachment:
signature.asc
Description: This is a digitally signed message part