Date: Thu, 20 May 2004 11:20:27 +1000 From: Phillip Crumpler <flip@ecr.mu.oz.au> To: freebsd-net@freebsd.org Subject: 802.1x, HOSTAP, station association notifications Message-ID: <40AC07DB.10509@ecr.mu.oz.au>
next in thread | raw e-mail | index | archive | help
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@ecr.mu.oz.au
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40AC07DB.10509>