Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Apr 2025 15:17:20 -0400
From:      "Farhan Khan" <farhan@farhan.codes>
To:        freebsd-wireless <freebsd-wireless@freebsd.org>
Subject:   Understanding ieee80211com channel members
Message-ID:  <93720323-d53f-45d9-b94a-d3f5bd5e03cb@app.fastmail.com>

index | next in thread | raw e-mail

Hi all,

I am doing some research on how channels work on net80211 with a focus on how OpenBSD (and NetBSD/Illumos) differ from FreeBSD's stack. Keeping the question simple, I'm having trouble understanding how channel members in the ieee80211com structure map to each other:

FreeBSD has:
* ieee80211com -> ic_curchan
* ieee80211com -> ic_bsschan

OpenBSD has:
* ieee80211com -> ic_ibss_chan

Three Questions:

1)  Is FreeBSD's ic_bsschan the same as OpenBSD's ic_ibss_chan?

* Is there an equivalent in OpenBSD to FreeBSD's ic_curchan? Or is the "current state" tracked different in OpenBSD? (ie, optional, in the softc).

2) What level of maintenance of ic_curchan does the driver do? Is it upon a channel change? Or do we let net80211 handle that? OpenBSD's code seems to do this idiom a lot, which I understand as updating the current state (could be wrong):
c = ic->ic_bss->ni_chan = ic->ic_ibss_chan;

3) Were any channel members or mechanisms migrated to the VAP layer? If so, which?

(I apologize for a semi-OpenBSD question, but I figured it was close enough on topic)

Thank you,
--
Farhan Khan
PGP Fingerprint: 1312 89CE 663E 1EB2 179C 1C83 C41D 2281 F8DA C0DE



help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?93720323-d53f-45d9-b94a-d3f5bd5e03cb>