* Send a deauthenticate frame and drop the station. */
| 1053 | * Send a deauthenticate frame and drop the station. |
| 1054 | */ |
| 1055 | void |
| 1056 | ieee80211_node_deauth(struct ieee80211_node *ni, int reason) |
| 1057 | { |
| 1058 | /* NB: bump the refcnt to be sure temporary nodes are not reclaimed */ |
| 1059 | ieee80211_ref_node(ni); |
| 1060 | if (ni->ni_associd != 0) |
| 1061 | IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_DEAUTH, reason); |
| 1062 | ieee80211_node_leave(ni); |
| 1063 | ieee80211_free_node(ni); |
| 1064 | } |
| 1065 | |
| 1066 | static struct ieee80211_node * |
| 1067 | node_alloc(struct ieee80211vap *vap, const uint8_t macaddr[IEEE80211_ADDR_LEN]) |
no test coverage detected