Linux wireless drivers development
 help / color / mirror / Atom feed
* mac80211 noob question
@ 2009-12-12 10:18 VN
  2009-12-12 10:25 ` Johannes Berg
  0 siblings, 1 reply; 6+ messages in thread
From: VN @ 2009-12-12 10:18 UTC (permalink / raw)
  To: linux-wireless

Hi list,
I've recently started hacking mac80211/ath5k in order to implement my
idea of cooperative relaying. I had a good look at the mac80211 code
and couldn't find anything that deals with ACKing... or is it done in
firmware and some flag is set to indicate that the frame has been
acknowledged? What I'm trying to achieve right now is to receive a
data frame while in monitor mode (e.g. ieee80211_rx_start_monitor())
and then check if it has been acknowledged by the destination node.
would be very grateful for any tips!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mac80211 noob question
  2009-12-12 10:18 mac80211 noob question VN
@ 2009-12-12 10:25 ` Johannes Berg
  2009-12-12 11:29   ` VN
  0 siblings, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2009-12-12 10:25 UTC (permalink / raw)
  To: VN; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 834 bytes --]

On Sat, 2009-12-12 at 21:18 +1100, VN wrote:
> Hi list,
> I've recently started hacking mac80211/ath5k in order to implement my
> idea of cooperative relaying. I had a good look at the mac80211 code
> and couldn't find anything that deals with ACKing... or is it done in
> firmware and some flag is set to indicate that the frame has been
> acknowledged? What I'm trying to achieve right now is to receive a
> data frame while in monitor mode (e.g. ieee80211_rx_start_monitor())
> and then check if it has been acknowledged by the destination node.
> would be very grateful for any tips!

I think you're confused? If you receive a frame, your own hardware will
have sent the ACK. If you TX a frame, you will see it on the monitor
iface with the radiotap ack flag set or clear, see hostapd for example
code.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mac80211 noob question
  2009-12-12 10:25 ` Johannes Berg
@ 2009-12-12 11:29   ` VN
  2009-12-12 11:30     ` Johannes Berg
  0 siblings, 1 reply; 6+ messages in thread
From: VN @ 2009-12-12 11:29 UTC (permalink / raw)
  To: linux-wireless

Ah I guess I am. I just assumed that since I'm able to capture data
frames sent from node A to node B (w/o radiotap?), there should be
some way to check which ones were acknowledged by node B. Thanks for
your prompt response!

On Sat, Dec 12, 2009 at 9:25 PM, Johannes Berg
<johannes@sipsolutions.net> wrote:
> On Sat, 2009-12-12 at 21:18 +1100, VN wrote:
>> Hi list,
>> I've recently started hacking mac80211/ath5k in order to implement my
>> idea of cooperative relaying. I had a good look at the mac80211 code
>> and couldn't find anything that deals with ACKing... or is it done in
>> firmware and some flag is set to indicate that the frame has been
>> acknowledged? What I'm trying to achieve right now is to receive a
>> data frame while in monitor mode (e.g. ieee80211_rx_start_monitor())
>> and then check if it has been acknowledged by the destination node.
>> would be very grateful for any tips!
>
> I think you're confused? If you receive a frame, your own hardware will
> have sent the ACK. If you TX a frame, you will see it on the monitor
> iface with the radiotap ack flag set or clear, see hostapd for example
> code.
>
> johannes
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mac80211 noob question
  2009-12-12 11:29   ` VN
@ 2009-12-12 11:30     ` Johannes Berg
  2009-12-12 11:40       ` Vitalik Nikolyenko
  0 siblings, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2009-12-12 11:30 UTC (permalink / raw)
  To: VN; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 506 bytes --]

On Sat, 2009-12-12 at 22:29 +1100, VN wrote:
> Ah I guess I am. I just assumed that since I'm able to capture data
> frames sent from node A to node B (w/o radiotap?), there should be
> some way to check which ones were acknowledged by node B. Thanks for
> your prompt response!

But are you capturing on A or on B? If you're capturing on A, then yes,
you can figure out whether it was ACKed by B and A received the ACK --
pull up a monitor interface and see the info you get from it.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mac80211 noob question
  2009-12-12 11:30     ` Johannes Berg
@ 2009-12-12 11:40       ` Vitalik Nikolyenko
  2009-12-12 11:44         ` Johannes Berg
  0 siblings, 1 reply; 6+ messages in thread
From: Vitalik Nikolyenko @ 2009-12-12 11:40 UTC (permalink / raw)
  To: linux-wireless

Sorry for not being very clear. I'm capturing on C and just want to
check if B acked A's frame (if that's possible)

On Dec 12, 2009, at 10:30 PM, Johannes Berg
<johannes@sipsolutions.net> wrote:

> On Sat, 2009-12-12 at 22:29 +1100, VN wrote:
>> Ah I guess I am. I just assumed that since I'm able to capture data
>> frames sent from node A to node B (w/o radiotap?), there should be
>> some way to check which ones were acknowledged by node B. Thanks for
>> your prompt response!
>
> But are you capturing on A or on B? If you're capturing on A, then
> yes,
> you can figure out whether it was ACKed by B and A received the ACK --
> pull up a monitor interface and see the info you get from it.
>
> johannes

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: mac80211 noob question
  2009-12-12 11:40       ` Vitalik Nikolyenko
@ 2009-12-12 11:44         ` Johannes Berg
  0 siblings, 0 replies; 6+ messages in thread
From: Johannes Berg @ 2009-12-12 11:44 UTC (permalink / raw)
  To: Vitalik Nikolyenko; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 399 bytes --]

[please trim your quotes]

On Sat, 2009-12-12 at 22:40 +1100, Vitalik Nikolyenko wrote:
> Sorry for not being very clear. I'm capturing on C and just want to
> check if B acked A's frame (if that's possible)

Oh. Of course, just check if you see an ACK frame. You can't see whether
it arrived on A, of course, or if maybe B sent it, A received it, but C
didn't for some reason.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-12-12 11:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-12 10:18 mac80211 noob question VN
2009-12-12 10:25 ` Johannes Berg
2009-12-12 11:29   ` VN
2009-12-12 11:30     ` Johannes Berg
2009-12-12 11:40       ` Vitalik Nikolyenko
2009-12-12 11:44         ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox