1*4bc2832dSnaddy.\" $OpenBSD: ieee80211_input.9,v 1.5 2022/03/29 18:15:52 naddy Exp $ 2f903018eSjsg.\" 3f903018eSjsg.\" Copyright (c) 2004 Bruce M. Simpson <bms@spc.org> 4f903018eSjsg.\" Copyright (c) 2004 Darron Broad <darron@kewl.org> 5f903018eSjsg.\" All rights reserved. 6f903018eSjsg.\" 7f903018eSjsg.\" Redistribution and use in source and binary forms, with or without 8f903018eSjsg.\" modification, are permitted provided that the following conditions 9f903018eSjsg.\" are met: 10f903018eSjsg.\" 1. Redistributions of source code must retain the above copyright 11f903018eSjsg.\" notice, this list of conditions and the following disclaimer. 12f903018eSjsg.\" 2. Redistributions in binary form must reproduce the above copyright 13f903018eSjsg.\" notice, this list of conditions and the following disclaimer in the 14f903018eSjsg.\" documentation and/or other materials provided with the distribution. 15f903018eSjsg.\" 16f903018eSjsg.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17f903018eSjsg.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18f903018eSjsg.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19f903018eSjsg.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20f903018eSjsg.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21f903018eSjsg.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22f903018eSjsg.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23f903018eSjsg.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24f903018eSjsg.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25f903018eSjsg.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26f903018eSjsg.\" SUCH DAMAGE. 27f903018eSjsg.\" 28f903018eSjsg.\" $FreeBSD: src/share/man/man9/ieee80211_input.9,v 1.2 2004/07/07 12:59:39 ru Exp $ 29*4bc2832dSnaddy.\" $Id: ieee80211_input.9,v 1.5 2022/03/29 18:15:52 naddy Exp $ 30f903018eSjsg.\" 31*4bc2832dSnaddy.Dd $Mdocdate: March 29 2022 $ 32f903018eSjsg.Dt IEEE80211_INPUT 9 33f903018eSjsg.Os 34f903018eSjsg.Sh NAME 35f903018eSjsg.Nm ieee80211_input , ieee80211_decap , ieee80211_recv_mgmt 36f903018eSjsg.Nd software 802.11 stack input functions 37f903018eSjsg.Sh SYNOPSIS 38f903018eSjsg.In net80211/ieee80211_var.h 39f903018eSjsg.In net80211/ieee80211_proto.h 40f903018eSjsg.Ft void 41f903018eSjsg.Fo ieee80211_input 42f903018eSjsg.Fa "struct ifnet *ifp" "struct mbuf *m" "struct ieee80211_node *ni" 43f903018eSjsg.Fa "int rssi" "u_int32_t rstamp" 44f903018eSjsg.Fc 45f903018eSjsg.Ft struct mbuf * 46f903018eSjsg.Fn ieee80211_decap "struct ifnet *ifp" "struct mbuf *m" 47f903018eSjsg.Ft void 48f903018eSjsg.Fo ieee80211_recv_mgmt 49f903018eSjsg.Fa "struct ieee80211com *ic" "struct mbuf *m0" "struct ieee80211_node *ni" 50f903018eSjsg.Fa "int subtype" "int rssi" "u_int32_t rstamp" 51f903018eSjsg.Fc 52f903018eSjsg.Sh DESCRIPTION 53f903018eSjsgThese 54f903018eSjsgfunctions process received 802.11 frames. 55f903018eSjsg.Pp 56f903018eSjsg.\" 57f903018eSjsgThe 58f903018eSjsg.Fn ieee80211_input 59f903018eSjsgfunction takes an mbuf chain 60f903018eSjsg.Fa m 61f903018eSjsgcontaining a complete 802.11 frame from the driver 62f903018eSjsg.Fa ifp 63f903018eSjsgand passes it to the software 802.11 stack for input processing. 64f903018eSjsgThe 65f903018eSjsg.Fa ni 66f903018eSjsgargument specifies an instance of 67f903018eSjsg.Vt struct ieee80211_node 68f903018eSjsg(which may be driver-specific) representing the node from which the 69f903018eSjsgframe was received. 70f903018eSjsgThe arguments 71f903018eSjsg.Fa rssi 72f903018eSjsgand 73f903018eSjsg.Fa stamp 74f903018eSjsgare typically derived from on-card data structures; they are used for 75f903018eSjsgrecording the signal strength and time received of the frame respectively. 76f903018eSjsg.Pp 77f903018eSjsg.\" 78f903018eSjsgThe 79f903018eSjsg.Fn ieee80211_decap 80f903018eSjsgfunction performs decapsulation of the 802.11 frame in the mbuf chain 81f903018eSjsg.Fa m 82f903018eSjsgreceived by the device 83f903018eSjsg.Fa ifp , 84f903018eSjsgtaking the form of the 802.11 address fields into account; 85f903018eSjsgthe structure of 802.11 addresses vary according to the intended 86f903018eSjsgsource and destination of the frame. 87f903018eSjsgIt is typically called from within 88f903018eSjsg.Fn ieee80211_input . 89f903018eSjsg.Pp 90f903018eSjsg.\" 91f903018eSjsgThe 92f903018eSjsg.Fn ieee80211_recv_mgmt 93*4bc2832dSnaddyfunction performs input processing for 802.11 management frames. 94f903018eSjsgIt is typically called from within 95f903018eSjsg.Fn ieee80211_input . 96f903018eSjsg.\" 97f903018eSjsg.Sh SEE ALSO 98f903018eSjsg.Xr ieee80211 9 99f903018eSjsg.Sh HISTORY 100f903018eSjsgThe 101f903018eSjsg.Nm ieee80211 102f903018eSjsgseries of functions first appeared in 103f903018eSjsg.Nx 1.5 , 104f903018eSjsgand were later ported to 105f903018eSjsg.Fx 4.6 106f903018eSjsgand 107f903018eSjsg.Ox 3.6 . 108f903018eSjsg.Sh AUTHORS 109d281945cSjaredy.An -nosplit 110f903018eSjsgThis man page was written by 111f0641c22Sschwarze.An Bruce M. Simpson Aq Mt bms@FreeBSD.org 112f903018eSjsgand 113f0641c22Sschwarze.An Darron Broad Aq Mt darron@kewl.org . 114f903018eSjsg.Sh BUGS 115f903018eSjsgThere is no netisr queue specifically for the software 802.11 stack yet. 116