xref: /openbsd-src/share/man/man9/ieee80211_input.9 (revision 4bc2832d0a071121eb4e4834063fc282081657a1)
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