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 – for kernel developers"><link rel="up" href="hardware-crypto-offload.html" title="Chapter 8. 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> </td><th width="60%" align="center">Chapter 8. Hardware crypto acceleration</th><td width="20%" align="right"> <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 — 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> </td><td width="20%" align="center"><a accesskey="u" href="hardware-crypto-offload.html">Up</a></td><td width="40%" align="right"> <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> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">ieee80211_get_tkip_p1k</span></td></tr></table></div></body></html> 58