802.1x, HOSTAP, station association notifications
Phillip Crumpler
flip at ecr.mu.oz.au
Wed May 19 18:20:58 PDT 2004
Hi folks!
As part of a university project I'm building a IEEE 802.1x authenticator
for use with wireless networks. The project is based upon a FreeBSD
machine using a Prism based NIC in HOSTAP mode. The role of the
authenticator is to selectively allow hosts use of the access point.
Part of the authenticator (the PAE) is built as a netgraph module and
the remainder (the EAPOL protocol state machines etc.) as user processes.
The IEEE 802.1x protocol was largely framed with wired networks in mind
but for use with 802.11 an 802.1x 'port' is represented by an asociation
of a station with an access point. This means that the 802.1x
implementation needs to know about associations and disassociations and
I'm trying to find a way to do this.
I need a neat and tidy way of notifying either a netgraph node or a user
process about associations. Monitor/RFMON mode seems to be mutually
exclusive with HOSTAP mode so that idea is out. The file
sys/net80211/ieee80211_input.c in eee80211_recv_mgmt() has this directly
after it processes an association request:
/* give driver a chance to setup state like ni_txrate */
if (ic->ic_newassoc)
(*ic->ic_newassoc)(ic, ni, newassoc);
The only driver that seems to use this is ath.
There seems to be no similar function pointer in struct ieee80211com for
disassociation events.
I'd like to be able to do this without modifying any FreeBSD files if
possible, otherwise I could just add another member into struct
ieee80211com and add newassoc and disassoc functions into if_wi.c.
Can anyone shed some light on how I could achieve this?
cheers,
Phillip Crumpler
flip at ecr.mu.oz.au
More information about the freebsd-net
mailing list