linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PS Poll
@ 2009-01-22 18:40 Andy Johnson
  2009-01-28  8:12 ` Kalle Valo
  0 siblings, 1 reply; 2+ messages in thread
From: Andy Johnson @ 2009-01-22 18:40 UTC (permalink / raw)
  To: linux-wireless; +Cc: kalle.valo

Hello,

I had encountered the recent PS-POLL patches from
Kalle Valo and  I have three questions about PS-Poll mechanism. I hope
that I did not miss something.
In fact, the first question, which is about the design of this
mechanism, seems to me the most important.


As I understand, when a station in power save mode (dozed) gets a
beacon TIM from its AP which tells it
that the AP has kept unicast packets for it, that station wakes up and
starts sending PS-Poll frames. It sends PS-POLL one by one; each such
packet, which is received in the AP, will cause it to send an skb from
its buffer (ps_tx_buf skb queue, in sta_info struct). This packet has
a MOREDATA flag set.

The stations send PS Poll packets one by one, until the ps_tx_buf is
emptied; when the last skb from ps_tx_buf is sent from the AP, it does
not have the MOREDATA flag set, as opposed to all the previous
sk_buffs which were retrieved from the ps_tx_buf.

(I believe that it should be the IEEE80211_FCTL_MOREDATA flag, not sure).

In the period from when the first skb is retrieved to when the last
skb, the station must not got to sleep. After the last one is
received, it may go to sleep or stay awake (I wonder on what this
depends).


My questions are:


1) Why not send **one** PS-POLL which will signal the AP to start
sending sk_buffs from the ps_tx_buf until is it emptied ? why do we
send PS Poll packets
one by one ? Sending only one PS poll, as suggested, will reduce
traffic (take in accordance that we have ACKs also).

2) In the sceario depicted above, when sending PS polls one by one,
what happens if there are packets sent to that station from the same
source as packets
that were kept in the buffer - will they be received in the
destination (the client that awoke)? don't we loose here the order of
the packets?

3) should the station send ACK to the AP  for each skb it receives (as
a response to PS Poll) using this mechanism?

Regards,
Andy

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

* Re: PS Poll
  2009-01-22 18:40 PS Poll Andy Johnson
@ 2009-01-28  8:12 ` Kalle Valo
  0 siblings, 0 replies; 2+ messages in thread
From: Kalle Valo @ 2009-01-28  8:12 UTC (permalink / raw)
  To: Andy Johnson; +Cc: linux-wireless

Andy Johnson <johnsonzjo@gmail.com> writes:

> Hello,

Hi,

> I had encountered the recent PS-POLL patches from Kalle Valo and I
> have three questions about PS-Poll mechanism. I hope that I did not
> miss something. In fact, the first question, which is about the
> design of this mechanism, seems to me the most important.

I'll try to answer them.

> As I understand, when a station in power save mode (dozed) gets a
> beacon TIM from its AP which tells it that the AP has kept unicast
> packets for it, that station wakes up and starts sending PS-Poll
> frames. It sends PS-POLL one by one; each such packet, which is
> received in the AP, will cause it to send an skb from its buffer
> (ps_tx_buf skb queue, in sta_info struct). This packet has a
> MOREDATA flag set.
>
> The stations send PS Poll packets one by one, until the ps_tx_buf is
> emptied; when the last skb from ps_tx_buf is sent from the AP, it does
> not have the MOREDATA flag set, as opposed to all the previous
> sk_buffs which were retrieved from the ps_tx_buf.

Yes, this is the case when the station is in power save mode all the
time. But most of the implementations don't use ps-poll, instead they
wakeup from power save mode by sending a null frame. So there are two
ways to handle this.

> (I believe that it should be the IEEE80211_FCTL_MOREDATA flag, not sure).

Correct.

> In the period from when the first skb is retrieved to when the last
> skb, the station must not got to sleep. After the last one is
> received, it may go to sleep or stay awake (I wonder on what this
> depends).

If ps-poll is used, the assumption is that it should go to sleep
immediately.

> My questions are:
>
> 1) Why not send **one** PS-POLL which will signal the AP to start
> sending sk_buffs from the ps_tx_buf until is it emptied ? why do we
> send PS Poll packets
> one by one ? Sending only one PS poll, as suggested, will reduce
> traffic (take in accordance that we have ACKs also).

That's how ps-poll is defined in the spec in chapter 11.2. If
throughput is concern, then it's better to wakeup with a null frame
and AP will start sending all the frames to the station.

> 2) In the sceario depicted above, when sending PS polls one by one,
> what happens if there are packets sent to that station from the same
> source as packets
> that were kept in the buffer - will they be received in the
> destination (the client that awoke)? don't we loose here the order of
> the packets?

I would assume that the ap will take care of the ordering.

> 3) should the station send ACK to the AP  for each skb it receives (as
> a response to PS Poll) using this mechanism?

Yes, all frames (including ps-poll to the ap) need to be acked.

-- 
Kalle Valo

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

end of thread, other threads:[~2009-01-28  8:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-22 18:40 PS Poll Andy Johnson
2009-01-28  8:12 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).