ieee80211_output.9 (205846) | ieee80211_output.9 (233648) |
---|---|
1.\" 2.\" Copyright (c) 2004 Bruce M. Simpson <bms@spc.org> 3.\" Copyright (c) 2004 Darron Broad <darron@kewl.org> 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: --- 10 unchanged lines hidden (view full) --- 19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25.\" SUCH DAMAGE. 26.\" | 1.\" 2.\" Copyright (c) 2004 Bruce M. Simpson <bms@spc.org> 3.\" Copyright (c) 2004 Darron Broad <darron@kewl.org> 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: --- 10 unchanged lines hidden (view full) --- 19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25.\" SUCH DAMAGE. 26.\" |
27.\" $FreeBSD: head/share/man/man9/ieee80211_output.9 205846 2010-03-29 17:39:38Z trasz $ | 27.\" $FreeBSD: head/share/man/man9/ieee80211_output.9 233648 2012-03-29 05:02:12Z eadler $ |
28.\" $Id: ieee80211_output.9,v 1.5 2004/03/04 12:31:18 bruce Exp $ 29.\" 30.Dd March 29, 2010 31.Dt IEEE80211_OUTPUT 9 32.Os 33.Sh NAME 34.Nm ieee80211_output 35.Nd software 802.11 stack output functions --- 69 unchanged lines hidden (view full) --- 105.Dq full power . 106.Pp 107All frames passed to a driver for transmit hold a reference to a 108node table entry in the 109.Vt m_pkthdr.rcvif 110field. 111The node is associated with the frame destination. 112Typically it is the receiver's entry but in some situations it may be | 28.\" $Id: ieee80211_output.9,v 1.5 2004/03/04 12:31:18 bruce Exp $ 29.\" 30.Dd March 29, 2010 31.Dt IEEE80211_OUTPUT 9 32.Os 33.Sh NAME 34.Nm ieee80211_output 35.Nd software 802.11 stack output functions --- 69 unchanged lines hidden (view full) --- 105.Dq full power . 106.Pp 107All frames passed to a driver for transmit hold a reference to a 108node table entry in the 109.Vt m_pkthdr.rcvif 110field. 111The node is associated with the frame destination. 112Typically it is the receiver's entry but in some situations it may be |
113a placeholder entry or the | 113a placeholder entry or the |
114.Dq next hop station 115(such as in a mesh network). 116In all cases the reference must be reclaimed with 117.Fn ieee80211_free_node 118when the transmit work is completed. | 114.Dq next hop station 115(such as in a mesh network). 116In all cases the reference must be reclaimed with 117.Fn ieee80211_free_node 118when the transmit work is completed. |
119The rule to remember is: | 119The rule to remember is: |
120.Nm net80211 121passes responsibility for the 122.Vt mbuf 123and 124.Dq node reference 125to the driver with each frame it hands off for transmit. 126.Sh PACKET CLASSIFICATION 127All frames passed by 128.Nm net80211 129for transmit are assigned a priority based on any vlan tag 130assigned to the receiving station and/or any Diffserv setting 131in an IP or IPv6 header. 132If both vlan and Diffserv priority are present the higher of the 133two is used. | 120.Nm net80211 121passes responsibility for the 122.Vt mbuf 123and 124.Dq node reference 125to the driver with each frame it hands off for transmit. 126.Sh PACKET CLASSIFICATION 127All frames passed by 128.Nm net80211 129for transmit are assigned a priority based on any vlan tag 130assigned to the receiving station and/or any Diffserv setting 131in an IP or IPv6 header. 132If both vlan and Diffserv priority are present the higher of the 133two is used. |
134If WME/WMM is being used then any ACM policy (in station mode) is | 134If WME/WMM is being used then any ACM policy (in station mode) is |
135also enforced. 136The resulting AC is attached to the mbuf and may be read back using the 137.Fn M_WME_GETAC 138macro. 139.Pp 140PAE/EAPOL frames are tagged with an 141.Dv M_EAPOL 142mbuf flag; drivers should transmit them with care, usually by --- 34 unchanged lines hidden (view full) --- 177may be tagged with the 178.Dv M_TXCB 179mbuf flag to indicate a callback should be done 180when their transmission completes. 181The callback is done using 182.Fn ieee80211_process_callback 183with the last parameter set to a non-zero value if an error occurred 184and zero otherwise. | 135also enforced. 136The resulting AC is attached to the mbuf and may be read back using the 137.Fn M_WME_GETAC 138macro. 139.Pp 140PAE/EAPOL frames are tagged with an 141.Dv M_EAPOL 142mbuf flag; drivers should transmit them with care, usually by --- 34 unchanged lines hidden (view full) --- 177may be tagged with the 178.Dv M_TXCB 179mbuf flag to indicate a callback should be done 180when their transmission completes. 181The callback is done using 182.Fn ieee80211_process_callback 183with the last parameter set to a non-zero value if an error occurred 184and zero otherwise. |
185Note | 185Note |
186.Nm net80211 187understands that drivers may be incapable of determining status; 188a device may not report if an ACK frame is received and/or a device may queue 189transmit requests in its hardware and only report status on whether 190the frame was successfully queued. 191.Sh SEE ALSO 192.Xr bpf 4 , 193.Xr ieee80211 9 , 194.Xr ifnet 9 | 186.Nm net80211 187understands that drivers may be incapable of determining status; 188a device may not report if an ACK frame is received and/or a device may queue 189transmit requests in its hardware and only report status on whether 190the frame was successfully queued. 191.Sh SEE ALSO 192.Xr bpf 4 , 193.Xr ieee80211 9 , 194.Xr ifnet 9 |