History log of /openbsd/sys/net80211/ieee80211_ra.c (Results 1 – 5 of 5)
Revision Date Author Comments
# 8d704c3e 19-Mar-2022 stsp <stsp@openbsd.org>

Do not define RA_DEBUG; pointed out by miod@


# ca785ca0 11-Oct-2021 stsp <stsp@openbsd.org>

Add support for 40MHz channels to net80211 RA.

For the moment we use either the 40MHz rate set or the 20 MHz one,
depending on whether our peer supports 40MHz channels.
If this turns out to be subop

Add support for 40MHz channels to net80211 RA.

For the moment we use either the 40MHz rate set or the 20 MHz one,
depending on whether our peer supports 40MHz channels.
If this turns out to be suboptimal we could probe the 40MHz and 20MHz
rate sets separately to detect which one works better.

The same applies to use of the short guard interval (SGI), which is
either always on or off at the moment. Again, probing for this could
be added later if needed.

show more ...


# e40e561a 03-May-2021 stsp <stsp@openbsd.org>

Tweak the heuristic net80211 RA is using to decide whether enough
statistics have been gathered for a candidate Tx rate. The goal is
to avoid Tx rate choices that might turn out to be too optimistic.

Tweak the heuristic net80211 RA is using to decide whether enough
statistics have been gathered for a candidate Tx rate. The goal is
to avoid Tx rate choices that might turn out to be too optimistic.

In practice this only affects the case where we probe upwards. If the
current Tx rate starts seeing loss we will still scale down very quickly.

Based on a larger collection of patches by Christian Ehrhardt.
I have made stylistic tweaks for consistency.

Tested:
iwn 6205: stsp, Josh Grosse
iwm 7265: stsp
iwm 8265: Matthias Schmidt
iwm 9260: phessler

show more ...


# d3ab9345 25-Mar-2021 mestre <mestre@openbsd.org>

an invalid value of `mcs' may come from the hardware so adjust code so that the
value is only used after checking if it's valid or not.

CID 1502921

OK stsp@ phessler@


# 7611cb38 12-Mar-2021 stsp <stsp@openbsd.org>

Add RA, a new 11n Tx rate adaptation module for net80211.

Written by Christian Ehrhardt and myself, based on ieee80211_mira.c
but with significant changes.

The main difference is that RA does not a

Add RA, a new 11n Tx rate adaptation module for net80211.

Written by Christian Ehrhardt and myself, based on ieee80211_mira.c
but with significant changes.

The main difference is that RA does not attempt to precisely measure
actual throughput but simply deducts a loss percentage from the
theoretical throughput which can be achieved by a given MCS.

Unlike MiRa, RA does not use timeouts to trigger probing.
Probing is triggered only by changes in measured throughput.

Unlike MiRA, RA doesn't care whether a frame was part of an A-MPDU.
RA simply collects statistics for individual subframes. This makes reporting
very easy for drivers and seems to work well enough in practice.

Another difference is that drivers can report multi-rate retries properly
via ieee80211_ra_add_stats_ht(mcs, total, fail) which can be called
several times before ieee80211_ra_choose() selects a new Tx rate.

There is no reason any issues could not be fixed in ieee8011_mira.c but
I felt it was a good moment to burn the house down and start over.
And since this code diverges from how MiRA is described in the research
paper applying the "MiRA" label becomes inappropriate.

show more ...