Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > 2c51d8eb79f8810ada971ee8c30ce1e5 > files > 2492

kernel-doc-2.6.32-71.14.1.el6.noarch.rpm

<?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>Packet alignment</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="The mac80211 subsystem for kernel developers" /><link rel="up" href="ch04.html" title="Chapter&#160;4.&#160;Receive and transmit processing" /><link rel="prev" href="ch04s02.html" title="Frame format" /><link rel="next" href="ch04s04.html" title="Calling into mac80211 from interrupts" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Packet alignment</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;4.&#160;Receive and transmit processing</th><td width="20%" align="right">&#160;<a accesskey="n" href="ch04s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Packet alignment"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id2707494"></a>Packet alignment</h2></div></div></div><p>
   </p><p>
   Drivers always need to pass packets that are aligned to two-byte boundaries
   to the stack.
   </p><p>
   Additionally, should, if possible, align the payload data in a way that
   guarantees that the contained IP header is aligned to a four-byte
   boundary. In the case of regular frames, this simply means aligning the
   payload to a four-byte boundary (because either the IP header is directly
   contained, or IV/RFC1042 headers that have a length divisible by four are
   in front of it).
   </p><p>
   With A-MSDU frames, however, the payload data address must yield two modulo
   four because there are 14-byte 802.3 headers within the A-MSDU frames that
   push the IP header further back to a multiple of four again. Thankfully, the
   specs were sane enough this time around to require padding each A-MSDU
   subframe to a length that is a multiple of four.
   </p><p>
   Padding like Atheros hardware adds which is inbetween the 802.11 header and
   the payload is not supported, the driver is required to move the 802.11
   header to be directly in front of the payload in that case.
</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s02.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="ch04s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Frame format&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;Calling into mac80211 from interrupts</td></tr></table></div></body></html>