<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>struct ieee80211_vif</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="The 802.11 subsystems – for kernel developers" /><link rel="up" href="iface-handling.html" title="Chapter 3. Virtual interfaces" /><link rel="prev" href="iface-handling.html" title="Chapter 3. Virtual interfaces" /><link rel="next" href="rx-tx.html" title="Chapter 4. Receive and transmit processing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">struct ieee80211_vif</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="iface-handling.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Virtual interfaces</th><td width="20%" align="right"> <a accesskey="n" href="rx-tx.html">Next</a></td></tr></table><hr /></div><div class="refentry"><a id="API-struct-ieee80211-vif"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct ieee80211_vif — per-interface data </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting"> struct ieee80211_vif { enum nl80211_iftype type; struct ieee80211_bss_conf bss_conf; u8 addr[ETH_ALEN]; bool p2p; u8 cab_queue; u8 hw_queue[IEEE80211_NUM_ACS]; struct ieee80211_chanctx_conf __rcu * chanctx_conf; u32 driver_flags; #ifdef CONFIG_MAC80211_DEBUGFS struct dentry * debugfs_dir; #endif u8 drv_priv[0]; }; </pre></div><div class="refsect1"><a id="idm139754517953856"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">type</span></dt><dd><p> type of this virtual interface </p></dd><dt><span class="term">bss_conf</span></dt><dd><p> BSS configuration for this interface, either our own or the BSS we're associated to </p></dd><dt><span class="term">addr[ETH_ALEN]</span></dt><dd><p> address of this interface </p></dd><dt><span class="term">p2p</span></dt><dd><p> indicates whether this AP or STA interface is a p2p interface, i.e. a GO or p2p-sta respectively </p></dd><dt><span class="term">cab_queue</span></dt><dd><p> content-after-beacon (DTIM beacon really) queue, AP mode only </p></dd><dt><span class="term">hw_queue[IEEE80211_NUM_ACS]</span></dt><dd><p> hardware queue for each AC </p></dd><dt><span class="term">chanctx_conf</span></dt><dd><p> The channel context this interface is assigned to, or <code class="constant">NULL</code> when it is not assigned. This pointer is RCU-protected due to the TX path needing to access it; even though the netdev carrier will always be off when it is <code class="constant">NULL</code> there can still be races and packets could be processed after it switches back to <code class="constant">NULL</code>. </p></dd><dt><span class="term">driver_flags</span></dt><dd><p> flags/capabilities the driver has for this interface, these need to be set (or cleared) when the interface is added or, if supported by the driver, the interface type is changed at runtime, mac80211 will never touch this field </p></dd><dt><span class="term">debugfs_dir</span></dt><dd><p> debugfs dentry, can be used by drivers to create own per interface debug files. Note that it will be NULL for the virtual monitor interface (if that is requested.) </p></dd><dt><span class="term">drv_priv[0]</span></dt><dd><p> data area for driver use, will always be aligned to sizeof(void *). </p></dd></dl></div></div><div class="refsect1"><a id="idm139754517936992"></a><h2>Description</h2><p> </p><p> Data in this structure is continually present for driver use during the life of a virtual interface. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="iface-handling.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="iface-handling.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="rx-tx.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 3. Virtual interfaces </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 4. Receive and transmit processing</td></tr></table></div></body></html>