Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jun 2011 10:55:38 +0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        freebsd-wireless@freebsd.org
Subject:   [PATCH] ath: enforce beacon expect when going CAC -> RUN
Message-ID:  <BANLkTi=0qkdy9yG46DT2U5ez=Ww=ScMkcw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--000e0cd290f883cf4904a6bccd15
Content-Type: text/plain; charset=ISO-8859-1

Hi,

Here's an initial patch for ath(4) to work around one of the DFS / CAC
issues in my previous post.

It enforces a 60 (+ 1) second "beacon expect" timer when the station
goes from CSA -> RUN.
This forces the beacon configuration to be re-written if a beacon
hasn't been heard by then.

If a beacon is received, it clears the callback.

What I don't like about it:

* CAC is hard-coded to 60 seconds here. It should yank the config from
net80211, but the net80211 NOL/CAC configuration values are static.
* 'stamode' doesn't include MBSS (mesh) and needs some testing. I'll
likely add a comment to that effect so it gets revisited when
IBSS/MBSS DFS support is written/tested.
* I think this belongs in net80211 rather than ath(4) so it can work
for any wireless NIC which participates in a DFS BSS. (The NIC doesn't
have to radar detection, it just has to receive/process a CSA and
change channel.) I'll revisit that at a later date once all the kinks
are worked out with ath(4).

Thanks,


Adrian

--000e0cd290f883cf4904a6bccd15
Content-Type: application/octet-stream; name="ath_enforce_beacon_cac.diff"
Content-Disposition: attachment; filename="ath_enforce_beacon_cac.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gpg9f82d0

SW5kZXg6IGlmX2F0aHZhci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGlmX2F0aHZhci5oCShyZXZpc2lvbiAy
MjM1MjUpCisrKyBpZl9hdGh2YXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjU0LDcgKzI1NCw4IEBA
CiAJCQkJc2NfdGRtYQkgICAgOiAxLC8qIFRETUEgaW4gdXNlICovCiAJCQkJc2Nfc2V0Y2NhICAg
OiAxLC8qIHNldC9jbHIgQ0NBIHdpdGggVERNQSAqLwogCQkJCXNjX3Jlc2V0Y2FsIDogMSwvKiBy
ZXNldCBjYWwgc3RhdGUgbmV4dCB0cmlwICovCi0JCQkJc2NfcnhzbGluayAgOiAxOy8qIGRvIHNl
bGYtbGlua2VkIGZpbmFsIGRlc2NyaXB0b3IgKi8KKwkJCQlzY19yeHNsaW5rICA6IDEsLyogZG8g
c2VsZi1saW5rZWQgZmluYWwgZGVzY3JpcHRvciAqLworCQkJCXNjX2JleHBlY3QgIDogMTsvKiBl
eHBlY3RpbmcgYmVjYW9ucyB0byBiZSBSWGVkICovCiAJdWludDMyX3QJCXNjX2VlcmQ7CS8qIHJl
Z2RvbWFpbiBmcm9tIEVFUFJPTSAqLwogCXVpbnQzMl90CQlzY19lZWNjOwkvKiBjb3VudHJ5IGNv
ZGUgZnJvbSBFRVBST00gKi8KIAkJCQkJCS8qIHJhdGUgdGFibGVzICovCkBAIC0zNTgsNiArMzU5
LDggQEAKIAlpbnQJCQlzY190eGNoYWlubWFzazsJLyogY3VycmVudGx5IGNvbmZpZ3VyZWQgVFgg
Y2hhaW5tYXNrICovCiAJaW50CQkJc2NfcnhjaGFpbm1hc2s7CS8qIGN1cnJlbnRseSBjb25maWd1
cmVkIFJYIGNoYWlubWFzayAqLwogCisJc3RydWN0IGNhbGxvdXQJCXNjX2JleHBlY3RfY2g7CS8q
IGJlYWNvbiBleHBlY3QgY2FsbG91dCAqLworCiAJLyogREZTIHJlbGF0ZWQgc3RhdGUgKi8KIAl2
b2lkCQkJKnNjX2RmczsJLyogVXNlZCBieSBhbiBvcHRpb25hbCBERlMgbW9kdWxlICovCiAJaW50
CQkJc2NfZG9kZnM7CS8qIFdoZXRoZXIgdG8gZW5hYmxlIERGUyByeCBmaWx0ZXIgYml0cyAqLwpJ
bmRleDogaWZfYXRoLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaWZfYXRoLmMJKHJldmlzaW9uIDIyMzU2OCkK
KysrIGlmX2F0aC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDggQEAKIHN0YXRpYyB2
b2lkCWF0aF9zY2FuX3N0YXJ0KHN0cnVjdCBpZWVlODAyMTFjb20gKik7CiBzdGF0aWMgdm9pZAlh
dGhfc2Nhbl9lbmQoc3RydWN0IGllZWU4MDIxMWNvbSAqKTsKIHN0YXRpYyB2b2lkCWF0aF9zZXRf
Y2hhbm5lbChzdHJ1Y3QgaWVlZTgwMjExY29tICopOworc3RhdGljIHZvaWQJYXRoX2JlYWNvbl9l
eHBlY3RfcmVzZXQoc3RydWN0IGF0aF9zb2Z0YyAqc2MpOworc3RhdGljIHZvaWQJYXRoX2JlYWNv
bl9leHBlY3Rfc2NoZWR1bGUoc3RydWN0IGF0aF9zb2Z0YyAqc2MsIGludCB3aGVuKTsKIHN0YXRp
YyB2b2lkCWF0aF9jYWxpYnJhdGUodm9pZCAqKTsKIHN0YXRpYyBpbnQJYXRoX25ld3N0YXRlKHN0
cnVjdCBpZWVlODAyMTF2YXAgKiwgZW51bSBpZWVlODAyMTFfc3RhdGUsIGludCk7CiBzdGF0aWMg
dm9pZAlhdGhfc2V0dXBfc3RhdGlvbmtleShzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKik7CkBAIC0z
ODcsNiArMzg5LDcgQEAKIAl9CiAJY2FsbG91dF9pbml0X210eCgmc2MtPnNjX2NhbF9jaCwgJnNj
LT5zY19tdHgsIDApOwogCWNhbGxvdXRfaW5pdF9tdHgoJnNjLT5zY193ZF9jaCwgJnNjLT5zY19t
dHgsIDApOworCWNhbGxvdXRfaW5pdF9tdHgoJnNjLT5zY19iZXhwZWN0X2NoLCAmc2MtPnNjX210
eCwgMCk7CiAKIAlBVEhfVFhCVUZfTE9DS19JTklUKHNjKTsKIApAQCAtMjc0Niw2ICsyNzQ5LDkg
QEAKIAl1X2ludDMyX3QgbmV4dHRidHQsIGludHZhbCwgdHNmdHU7CiAJdV9pbnQ2NF90IHRzZjsK
IAorCS8qIENsZWFyIGFueSBwZW5kaW5nIGJlYWNvbiBleHBlY3QgdGltZXIgKi8KKwlhdGhfYmVh
Y29uX2V4cGVjdF9yZXNldChzYyk7CisKIAlpZiAodmFwID09IE5VTEwpCiAJCXZhcCA9IFRBSUxR
X0ZJUlNUKCZpYy0+aWNfdmFwcyk7CS8qIFhYWCAqLwogCW5pID0gdmFwLT5pdl9ic3M7CkBAIC00
NjY2LDYgKzQ2NzIsNTggQEAKIH0KIAogLyoKKyAqIEEgYmVhY29uIGhhc24ndCBiZWVuIGhlYXJk
IGluIHRoZSBnaXZlbiB0aW1lZnJhbWU7CisgKiB3cml0ZSB0aGUgbGFzdCBrbm93biBiZWFjb24g
Y29uZmlnIHRvIHRoZSBoYXJkd2FyZQorICogc28gYmVhY29uIG1pc3MgZXZlbnRzIGJlZ2luIG9j
Y3VyaW5nIGFnYWluLgorICovCitzdGF0aWMgdm9pZAorYXRoX2JlYWNvbl9leHBlY3Qodm9pZCAq
YXJnKQoreworCXN0cnVjdCBhdGhfc29mdGMgKnNjID0gKHN0cnVjdCBhdGhfc29mdGMgKikgYXJn
OworCXNjLT5zY19iZXhwZWN0ID0gMDsKKwlEUFJJTlRGKHNjLCBBVEhfREVCVUdfQkVBQ09OLCAi
JXM6IGJlYWNvbnMgbm90IHNlZW4sIGtpY2shXG4iLCBfX2Z1bmNfXyk7CisJYXRoX2JlYWNvbl9j
b25maWcoc2MsIE5VTEwpOworfQorCisvKgorICogQ2xlYXIgdGhlIGJlYWNvbiBleHBlY3QgY2Fs
bG91dC4KKyAqLworc3RhdGljIHZvaWQKK2F0aF9iZWFjb25fZXhwZWN0X3Jlc2V0KHN0cnVjdCBh
dGhfc29mdGMgKnNjKQoreworCWlmICghIHNjLT5zY19iZXhwZWN0KQorCQlyZXR1cm47CisJc2Mt
PnNjX2JleHBlY3QgPSAwOworCURQUklOVEYoc2MsIEFUSF9ERUJVR19CRUFDT04sICIlczogY2xl
YXJpbmcgYmVhY29uIGV4cGVjdFxuIiwgX19mdW5jX18pOworCWNhbGxvdXRfZHJhaW4oJnNjLT5z
Y19iZXhwZWN0X2NoKTsKK30KKworLyoKKyAqIEV4cGVjdCBiZWFjb25zIGluICd3aGVuJyBzZWNv
bmRzLgorICoKKyAqIElmIHRoZXkgZG9uJ3Qgb2NjdXIsIGJlZ2luIHRoZSBwcm9jZXNzIG9mIHNp
Z25hbGxpbmcKKyAqIHRoZSB1cHBlciBsZXZlbHMgdGhhdCBiZWFjb25zIGFyZSBiZWluZyBtaXNz
ZWQuCisgKgorICogVGhpcyBpcyBkb25lIGZvciBub3cgYnkgc2ltcGx5IHdyaXRpbmcgdGhlIGJl
YWNvbiBjb25maWcKKyAqIGFuZCBsZXR0aW5nIHRoZSBibWlzcyB0aW1lci9pbnRlcnJ1cHQgaGFu
ZGxlIHRoaW5ncy4KKyAqLworc3RhdGljIHZvaWQKK2F0aF9iZWFjb25fZXhwZWN0X3NjaGVkdWxl
KHN0cnVjdCBhdGhfc29mdGMgKnNjLCBpbnQgd2hlbikKK3sKKwlzYy0+c2NfYmV4cGVjdCA9IDE7
CisJRFBSSU5URihzYywgQVRIX0RFQlVHX0JFQUNPTiwKKwkgICAgIiVzOiBzY2hlZHVsaW5nIGJl
YWNvbiBjb25maWcgaW4gJWQgc2Vjb25kc1xuIiwKKwkgICAgX19mdW5jX18sIHdoZW4pOworCWNh
bGxvdXRfZHJhaW4oJnNjLT5zY19iZXhwZWN0X2NoKTsKKwkvKgorCSAqIEFkZCAxIHNlY29uZCB0
byAnd2hlbicgdG8gZW5zdXJlIHRoZSBob3N0YXAgYWN0dWFsbHkKKwkgKiBzdGFydHMgdHJhbnNt
aXR0aW5nLgorCSAqLworCWNhbGxvdXRfcmVzZXQoJnNjLT5zY19iZXhwZWN0X2NoLCAod2hlbiAr
IDEpICogaHosCisJICAgIGF0aF9iZWFjb25fZXhwZWN0LCBzYyk7Cit9CisKKy8qCiAgKiBXYWxr
IHRoZSB2YXAgbGlzdCBhbmQgY2hlY2sgaWYgdGhlcmUgYW55IHZhcCdzIGluIFJVTiBzdGF0ZS4K
ICAqLwogc3RhdGljIGludApAQCAtNDc0OCw2ICs0ODA2LDI4IEBACiAJfQogCiAJLyoKKwkgKiBJ
ZiB0aGVyZSdzIGJlZW4gYSBzdGF0ZSB0cmFuc2l0aW9uIGZyb20gQ1NBIC0+IFJVTiwKKwkgKiBz
dGFydCBhIHRhc2sgdG8gZm9yY2UgcmVzZXQgdGhlIGJlYWNvbiB0aW1lcnMKKwkgKiBhZnRlciBD
QUMgKGRlZmF1bHQgdG8gNjAgc2Vjb25kcy4pIERvIHRoaXMgZm9yIG5vbi0KKwkgKiBob3N0YXAg
bW9kZXMuCisJICoKKwkgKiBJZiB3ZSBkb24ndCBiZWdpbiBoZWFyaW5nIGJlYWNvbnMgYnkgdGhl
biwgd2UgbmVlZAorCSAqIHN0YXJ0IHJlZ2lzdGVyaW5nIGJlYWNvbiBtaXNzZXMgd2l0aCBuZXQ4
MDIxMSBvcgorCSAqIHJlc2Nhbm5pbmcgd29uJ3Qgb2NjdXIgYW5kIHRoZSBpbnRlcmZhY2Ugd2ls
bCBzaXQKKwkgKiBoZXJlIGZvcmV2ZXIuCisJICoKKwkgKiBYWFggdGhpcyByZXF1aXJlcyB0aGF0
IGFuIGFzc29jaWF0aW9uIGFjdHVhbGx5CisJICogWFhYICAgb2NjdXJlZCBzb21ldGltZSBpbiB0
aGUgcGFzdCEKKwkgKi8KKwlpZiAoc3RhbW9kZSAmJiB2YXAtPml2X3N0YXRlID09IElFRUU4MDIx
MV9TX0NTQSAmJgorCSAgICBuc3RhdGUgPT0gSUVFRTgwMjExX1NfUlVOKSB7CisJCURQUklOVEYo
c2MsIEFUSF9ERUJVR19TVEFURSB8IEFUSF9ERUJVR19CRUFDT04sCisJCSAgICAiJXM6IENTQS0+
UlVOIGRldGVjdGVkOyBleHBlY3RpbmcgYmVhY29ucyB0byBhcHBlYXIiCisJCSAgICAiIGluIDYw
IHNlY29uZHNcbiIsIF9fZnVuY19fKTsKKwkJYXRoX2JlYWNvbl9leHBlY3Rfc2NoZWR1bGUoc2Ms
IDYwKTsJLyogWFhYIGhhcmQtY29kZWQgQ0FDICovCisJfQorCisJLyoKIAkgKiBJbnZva2UgdGhl
IHBhcmVudCBtZXRob2QgdG8gZG8gbmV0ODAyMTEgd29yay4KIAkgKi8KIAllcnJvciA9IGF2cC0+
YXZfbmV3c3RhdGUodmFwLCBuc3RhdGUsIGFyZyk7Cg==
--000e0cd290f883cf4904a6bccd15--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=0qkdy9yG46DT2U5ez=Ww=ScMkcw>