blob: 0eb596c0fb2710d541c96cc6e411509a22b8a260 [file] [log] [blame]
<!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/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>lwIP: IPv6</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">lwIP
&#160;<span id="projectnumber">2.1.2</span>
</div>
<div id="projectbrief">Lightweight IP stack</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__lwip__opts__ipv6.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">IPv6<div class="ingroups"><a class="el" href="group__lwip.html">lwIP</a> &raquo; <a class="el" href="group__lwip__opts.html">Options (lwipopts.h)</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__lwip__opts__icmp6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__icmp6.html">ICMP6</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__lwip__opts__mld6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__mld6.html">Multicast listener discovery</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__lwip__opts__nd6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__nd6.html">Neighbor discovery</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__lwip__opts__dhcpv6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__dhcpv6.html">DHCPv6</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga872e3bb3fe2212156d66b18fccc9643f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga872e3bb3fe2212156d66b18fccc9643f">LWIP_IPV6</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga872e3bb3fe2212156d66b18fccc9643f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8adc0b7dbedd279387a21588f0e2c969"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga8adc0b7dbedd279387a21588f0e2c969">IPV6_REASS_MAXAGE</a>&#160;&#160;&#160;60</td></tr>
<tr class="separator:ga8adc0b7dbedd279387a21588f0e2c969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91d1e630059df3b3a296e2b6ff7aead5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga91d1e630059df3b3a296e2b6ff7aead5">LWIP_IPV6_SCOPES</a>&#160;&#160;&#160;(<a class="el" href="group__lwip__opts__ipv6.html#ga872e3bb3fe2212156d66b18fccc9643f">LWIP_IPV6</a> &amp;&amp; !<a class="el" href="group__lwip__opts__netif.html#ga943063b053eeac76b0b1bcef2ddd93be">LWIP_SINGLE_NETIF</a>)</td></tr>
<tr class="separator:ga91d1e630059df3b3a296e2b6ff7aead5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga623ef29d27d98fb7be8732730a5ddf4b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga623ef29d27d98fb7be8732730a5ddf4b">LWIP_IPV6_SCOPES_DEBUG</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga623ef29d27d98fb7be8732730a5ddf4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16c1b672604bfb0a66a6aeeb854589d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga16c1b672604bfb0a66a6aeeb854589d3">LWIP_IPV6_NUM_ADDRESSES</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:ga16c1b672604bfb0a66a6aeeb854589d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac96c5802de6c75dd62ab38cff6d16a32"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#gac96c5802de6c75dd62ab38cff6d16a32">LWIP_IPV6_FORWARD</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gac96c5802de6c75dd62ab38cff6d16a32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ab6269f3087f6d9f7b2c7181ef043c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga9ab6269f3087f6d9f7b2c7181ef043c3">LWIP_IPV6_FRAG</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga9ab6269f3087f6d9f7b2c7181ef043c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0ef160d72e63b02c5e875b06ec53864"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#gad0ef160d72e63b02c5e875b06ec53864">LWIP_IPV6_REASS</a>&#160;&#160;&#160;<a class="el" href="group__lwip__opts__ipv6.html#ga872e3bb3fe2212156d66b18fccc9643f">LWIP_IPV6</a></td></tr>
<tr class="separator:gad0ef160d72e63b02c5e875b06ec53864"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga273ed2e1a4e6a43713a0e4a06a34ee5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga273ed2e1a4e6a43713a0e4a06a34ee5c">LWIP_IPV6_SEND_ROUTER_SOLICIT</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga273ed2e1a4e6a43713a0e4a06a34ee5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga580039bf2baf49fcb9e504e5d2b40a03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga580039bf2baf49fcb9e504e5d2b40a03">LWIP_IPV6_AUTOCONFIG</a>&#160;&#160;&#160;<a class="el" href="group__lwip__opts__ipv6.html#ga872e3bb3fe2212156d66b18fccc9643f">LWIP_IPV6</a></td></tr>
<tr class="separator:ga580039bf2baf49fcb9e504e5d2b40a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c0127fca1073ad3f0a1e53f00ea8858"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#ga2c0127fca1073ad3f0a1e53f00ea8858">LWIP_IPV6_ADDRESS_LIFETIMES</a>&#160;&#160;&#160;<a class="el" href="group__lwip__opts__ipv6.html#ga580039bf2baf49fcb9e504e5d2b40a03">LWIP_IPV6_AUTOCONFIG</a></td></tr>
<tr class="separator:ga2c0127fca1073ad3f0a1e53f00ea8858"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8489522d34f37e42b4001bab3781bcb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__ipv6.html#gad8489522d34f37e42b4001bab3781bcb">LWIP_IPV6_DUP_DETECT_ATTEMPTS</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:gad8489522d34f37e42b4001bab3781bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga8adc0b7dbedd279387a21588f0e2c969"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8adc0b7dbedd279387a21588f0e2c969">&#9670;&nbsp;</a></span>IPV6_REASS_MAXAGE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IPV6_REASS_MAXAGE&#160;&#160;&#160;60</td>
</tr>
</table>
</div><div class="memdoc">
<p>IPV6_REASS_MAXAGE: Maximum time (in multiples of IP6_REASS_TMR_INTERVAL - so seconds, normally) a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived in this time, the whole packet is discarded. </p>
</div>
</div>
<a id="ga872e3bb3fe2212156d66b18fccc9643f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga872e3bb3fe2212156d66b18fccc9643f">&#9670;&nbsp;</a></span>LWIP_IPV6</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6==1: Enable IPv6 </p>
</div>
</div>
<a id="ga2c0127fca1073ad3f0a1e53f00ea8858"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2c0127fca1073ad3f0a1e53f00ea8858">&#9670;&nbsp;</a></span>LWIP_IPV6_ADDRESS_LIFETIMES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_ADDRESS_LIFETIMES&#160;&#160;&#160;<a class="el" href="group__lwip__opts__ipv6.html#ga580039bf2baf49fcb9e504e5d2b40a03">LWIP_IPV6_AUTOCONFIG</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_ADDRESS_LIFETIMES==1: Keep valid and preferred lifetimes for each IPv6 address. Required for LWIP_IPV6_AUTOCONFIG. May still be enabled otherwise, in which case the application may assign address lifetimes with the appropriate macros. Addresses with no lifetime are assumed to be static. If this option is disabled, all addresses are assumed to be static. </p>
</div>
</div>
<a id="ga580039bf2baf49fcb9e504e5d2b40a03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga580039bf2baf49fcb9e504e5d2b40a03">&#9670;&nbsp;</a></span>LWIP_IPV6_AUTOCONFIG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_AUTOCONFIG&#160;&#160;&#160;<a class="el" href="group__lwip__opts__ipv6.html#ga872e3bb3fe2212156d66b18fccc9643f">LWIP_IPV6</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_AUTOCONFIG==1: Enable stateless address autoconfiguration as per RFC 4862. </p>
</div>
</div>
<a id="gad8489522d34f37e42b4001bab3781bcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad8489522d34f37e42b4001bab3781bcb">&#9670;&nbsp;</a></span>LWIP_IPV6_DUP_DETECT_ATTEMPTS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_DUP_DETECT_ATTEMPTS&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_DUP_DETECT_ATTEMPTS=[0..7]: Number of duplicate address detection attempts. </p>
</div>
</div>
<a id="gac96c5802de6c75dd62ab38cff6d16a32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac96c5802de6c75dd62ab38cff6d16a32">&#9670;&nbsp;</a></span>LWIP_IPV6_FORWARD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_FORWARD&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_FORWARD==1: Forward IPv6 packets across netifs </p>
</div>
</div>
<a id="ga9ab6269f3087f6d9f7b2c7181ef043c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ab6269f3087f6d9f7b2c7181ef043c3">&#9670;&nbsp;</a></span>LWIP_IPV6_FRAG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_FRAG&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_FRAG==1: Fragment outgoing IPv6 packets that are too big. </p>
</div>
</div>
<a id="ga16c1b672604bfb0a66a6aeeb854589d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga16c1b672604bfb0a66a6aeeb854589d3">&#9670;&nbsp;</a></span>LWIP_IPV6_NUM_ADDRESSES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_NUM_ADDRESSES&#160;&#160;&#160;3</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_NUM_ADDRESSES: Number of IPv6 addresses per netif. </p>
</div>
</div>
<a id="gad0ef160d72e63b02c5e875b06ec53864"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad0ef160d72e63b02c5e875b06ec53864">&#9670;&nbsp;</a></span>LWIP_IPV6_REASS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_REASS&#160;&#160;&#160;<a class="el" href="group__lwip__opts__ipv6.html#ga872e3bb3fe2212156d66b18fccc9643f">LWIP_IPV6</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_REASS==1: reassemble incoming IPv6 packets that fragmented </p>
</div>
</div>
<a id="ga91d1e630059df3b3a296e2b6ff7aead5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga91d1e630059df3b3a296e2b6ff7aead5">&#9670;&nbsp;</a></span>LWIP_IPV6_SCOPES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_SCOPES&#160;&#160;&#160;(<a class="el" href="group__lwip__opts__ipv6.html#ga872e3bb3fe2212156d66b18fccc9643f">LWIP_IPV6</a> &amp;&amp; !<a class="el" href="group__lwip__opts__netif.html#ga943063b053eeac76b0b1bcef2ddd93be">LWIP_SINGLE_NETIF</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_SCOPES==1: Enable support for IPv6 address scopes, ensuring that e.g. link-local addresses are really treated as link-local. Disable this setting only for single-interface configurations. All addresses that have a scope according to the default policy (link-local unicast addresses, interface-local and link-local multicast addresses) should now have a zone set on them before being passed to the core API, although lwIP will currently attempt to select a zone on the caller's behalf when necessary. Applications that directly assign IPv6 addresses to interfaces (which is NOT recommended) must now ensure that link-local addresses carry the netif's zone. See the new <a class="el" href="ip6__zone_8h.html">ip6_zone.h</a> header file for more information and relevant macros. For now it is still possible to turn off scopes support through the new LWIP_IPV6_SCOPES option. When upgrading an implementation that uses the core API directly, it is highly recommended to enable LWIP_IPV6_SCOPES_DEBUG at least for a while, to ensure e.g. proper address initialization. </p>
</div>
</div>
<a id="ga623ef29d27d98fb7be8732730a5ddf4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga623ef29d27d98fb7be8732730a5ddf4b">&#9670;&nbsp;</a></span>LWIP_IPV6_SCOPES_DEBUG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_SCOPES_DEBUG&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_SCOPES_DEBUG==1: Perform run-time checks to verify that addresses are properly zoned (see <a class="el" href="ip6__zone_8h.html">ip6_zone.h</a> on what that means) where it matters. Enabling this setting is highly recommended when upgrading from an existing installation that is not yet scope-aware; otherwise it may be too expensive. </p>
</div>
</div>
<a id="ga273ed2e1a4e6a43713a0e4a06a34ee5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga273ed2e1a4e6a43713a0e4a06a34ee5c">&#9670;&nbsp;</a></span>LWIP_IPV6_SEND_ROUTER_SOLICIT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_IPV6_SEND_ROUTER_SOLICIT&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_IPV6_SEND_ROUTER_SOLICIT==1: Send router solicitation messages during network startup. </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>