1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>enum ieee80211_key_flags</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The 802.11 subsystems &#8211; for kernel developers"><link rel="up" href="hardware-crypto-offload.html" title="Chapter&#160;8.&#160;Hardware crypto acceleration"><link rel="prev" href="API-struct-ieee80211-key-conf.html" title="struct ieee80211_key_conf"><link rel="next" href="API-ieee80211-get-tkip-p1k.html" title="ieee80211_get_tkip_p1k"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">enum ieee80211_key_flags</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-struct-ieee80211-key-conf.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;8.&#160;Hardware crypto acceleration</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-ieee80211-get-tkip-p1k.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-enum-ieee80211-key-flags"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>enum ieee80211_key_flags &#8212; 
2  key flags
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting">
4enum ieee80211_key_flags {
5  IEEE80211_KEY_FLAG_GENERATE_IV_MGMT,
6  IEEE80211_KEY_FLAG_GENERATE_IV,
7  IEEE80211_KEY_FLAG_GENERATE_MMIC,
8  IEEE80211_KEY_FLAG_PAIRWISE,
9  IEEE80211_KEY_FLAG_SW_MGMT_TX,
10  IEEE80211_KEY_FLAG_PUT_IV_SPACE,
11  IEEE80211_KEY_FLAG_RX_MGMT,
12  IEEE80211_KEY_FLAG_RESERVE_TAILROOM
13};  </pre></div><div class="refsect1"><a name="idp1114033836"></a><h2>Constants</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">IEEE80211_KEY_FLAG_GENERATE_IV_MGMT</span></dt><dd><p>
14This flag should be set by the
15driver for a CCMP/GCMP key to indicate that is requires IV generation
16only for managment frames (MFP).
17      </p></dd><dt><span class="term">IEEE80211_KEY_FLAG_GENERATE_IV</span></dt><dd><p>
18This flag should be set by the
19driver to indicate that it requires IV generation for this
20particular key. Setting this flag does not necessarily mean that SKBs
21will have sufficient tailroom for ICV or MIC.
22      </p></dd><dt><span class="term">IEEE80211_KEY_FLAG_GENERATE_MMIC</span></dt><dd><p>
23This flag should be set by
24the driver for a TKIP key if it requires Michael MIC
25generation in software.
26      </p></dd><dt><span class="term">IEEE80211_KEY_FLAG_PAIRWISE</span></dt><dd><p>
27Set by mac80211, this flag indicates
28that the key is pairwise rather then a shared key.
29      </p></dd><dt><span class="term">IEEE80211_KEY_FLAG_SW_MGMT_TX</span></dt><dd><p>
30This flag should be set by the driver for a
31CCMP/GCMP key if it requires CCMP/GCMP encryption of management frames
32(MFP) to be done in software.
33      </p></dd><dt><span class="term">IEEE80211_KEY_FLAG_PUT_IV_SPACE</span></dt><dd><p>
34This flag should be set by the driver
35if space should be prepared for the IV, but the IV
36itself should not be generated. Do not set together with
37<em class="parameter"><code>IEEE80211_KEY_FLAG_GENERATE_IV</code></em> on the same key. Setting this flag does
38not necessarily mean that SKBs will have sufficient tailroom for ICV or
39MIC.
40      </p></dd><dt><span class="term">IEEE80211_KEY_FLAG_RX_MGMT</span></dt><dd><p>
41This key will be used to decrypt received
42management frames. The flag can help drivers that have a hardware
43crypto implementation that doesn't deal with management frames
44properly by allowing them to not upload the keys to hardware and
45fall back to software crypto. Note that this flag deals only with
46RX, if your crypto engine can't deal with TX you can also set the
47<code class="constant">IEEE80211_KEY_FLAG_SW_MGMT_TX</code> flag to encrypt such frames in SW.
48      </p></dd><dt><span class="term">IEEE80211_KEY_FLAG_RESERVE_TAILROOM</span></dt><dd><p>
49This flag should be set by the
50driver for a key to indicate that sufficient tailroom must always
51be reserved for ICV or MIC, even when HW encryption is enabled.
52      </p></dd></dl></div></div><div class="refsect1"><a name="idp1114042060"></a><h2>Description</h2><p>
53   </p><p>
54
55   These flags are used for communication about keys between the driver
56   and mac80211, with the <em class="parameter"><code>flags</code></em> parameter of <span class="structname">struct ieee80211_key_conf</span>.
57</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-struct-ieee80211-key-conf.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="hardware-crypto-offload.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-ieee80211-get-tkip-p1k.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">struct ieee80211_key_conf</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">ieee80211_get_tkip_p1k</span></td></tr></table></div></body></html>
58