Sophie

Sophie

distrib > Fedora > 20 > x86_64 > by-pkgid > 888a2f3d4ea212b694328c0525364729 > files > 481

kernel-doc-3.19.8-100.fc20.noarch.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Chapter&#160;19.&#160;Key handling</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="internal.html" title="Part&#160;IV.&#160;Internals"><link rel="prev" href="internal.html" title="Part&#160;IV.&#160;Internals"><link rel="next" href="bk02pt04ch19s02.html" title="MORE TBD"></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">Chapter&#160;19.&#160;Key handling</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internal.html">Prev</a>&#160;</td><th width="60%" align="center">Part&#160;IV.&#160;Internals</th><td width="20%" align="right">&#160;<a accesskey="n" href="bk02pt04ch19s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="key-handling"></a>Chapter&#160;19.&#160;Key handling</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="key-handling.html#idp306254572">Key handling basics</a></span></dt><dt><span class="sect1"><a href="bk02pt04ch19s02.html">MORE TBD</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp306254572"></a>Key handling basics</h2></div></div></div><p>
   </p><p>
   Key handling in mac80211 is done based on per-interface (sub_if_data)
   keys and per-station keys. Since each station belongs to an interface,
   each station key also belongs to that interface.
   </p><p>
   Hardware acceleration is done on a best-effort basis for algorithms
   that are implemented in software,  for each key the hardware is asked
   to enable that key for offloading but if it cannot do that the key is
   simply kept for software encryption (unless it is for an algorithm
   that isn't implemented in software).
   There is currently no way of knowing whether a key is handled in SW
   or HW except by looking into debugfs.
   </p><p>
   All key management is internally protected by a mutex. Within all
   other parts of mac80211, key references are, just as STA structure
   references, protected by RCU. Note, however, that some things are
   unprotected, namely the key-&gt;sta dereferences within the hardware
   acceleration functions. This means that <code class="function">sta_info_destroy</code> must
   remove the key which waits for an RCU grace period.
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="internal.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="internal.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="bk02pt04ch19s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part&#160;IV.&#160;Internals&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;MORE TBD</td></tr></table></div></body></html>