Search Linux Wireless

Re: Help tracing NL80211_CMD_AUTHENTICATE as event in IBSS mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

> The documentation for nl80211 says the following about the
> NL80211_CMD_AUTHENTICATE command:
> "When used as an event, this reports reception of an Authentication
> frame in station and IBSS modes when the local MLME processed the
> frame, i.e., it was for the local STA and was received in correct
> state."
> 
> I very much want this to be true for IBSS modes. However, I cannot
> seem to trace through the source code to confirm that this actually
> happens. I can easily follow the code for the case when the interface
> is in station mode but lose the trail for IBSS. 

I'm afraid that isn't actually true for IBSS. The event you get there
will be NL80211_CMD_NEW_STATION.

> As far as I can tell, the only path to nl80211_send_rx_auth (the only
> place a NL80211_CMD_AUTHENTICATE command is sent to userspace) looks
> like this:
> ieee80211_iface_work invokes ieee80211_sta_rx_queued_mgmt to handle
> queued management packets received on a station interface.
> ieee80211_sta_rx_queued_mgmt (eventually) invokes
> cfg80211_send_rx_auth, after the proper handling. Finally,
> cfg80211_send_rx_auth invokes nl80211_send_rx_auth.

Yes.


I think in your case though, what you really want is a NL80211_CMD_FRAME
event? You register for auth frames, also to prevent mac80211 from
handling them itself, and then they get diverted to cfg80211_rx_mgmt()
and on to nl80211_send_mgmt().

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux