blob: e2f1e45e77f988d1105734e61d5e832189f8b0de [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: ARP</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__arp.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="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">ARP<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> &raquo; <a class="el" href="group__lwip__opts__ipv4.html">IPv4</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga9609a014bba4638cc191d6a8f9556c87"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga9609a014bba4638cc191d6a8f9556c87">LWIP_ARP</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga9609a014bba4638cc191d6a8f9556c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga924936a814564dbdb0bc950d255a83b9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga924936a814564dbdb0bc950d255a83b9">ARP_TABLE_SIZE</a>&#160;&#160;&#160;10</td></tr>
<tr class="separator:ga924936a814564dbdb0bc950d255a83b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga741a0710dc126ed3ae9e305472df3432"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga741a0710dc126ed3ae9e305472df3432">ARP_MAXAGE</a>&#160;&#160;&#160;300</td></tr>
<tr class="separator:ga741a0710dc126ed3ae9e305472df3432"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75837814536af29b6102508588d0ab58"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga75837814536af29b6102508588d0ab58">ARP_QUEUEING</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga75837814536af29b6102508588d0ab58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29f41a6ebdbb23f46688d381b3609fd1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga29f41a6ebdbb23f46688d381b3609fd1">ARP_QUEUE_LEN</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:ga29f41a6ebdbb23f46688d381b3609fd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70ce0ecf56cf5fab000134e66d863f90"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga70ce0ecf56cf5fab000134e66d863f90">ETHARP_SUPPORT_VLAN</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga70ce0ecf56cf5fab000134e66d863f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30e02dc217cc2995d0fd241d510c904f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga30e02dc217cc2995d0fd241d510c904f">LWIP_ETHERNET</a>&#160;&#160;&#160;<a class="el" href="group__lwip__opts__arp.html#ga9609a014bba4638cc191d6a8f9556c87">LWIP_ARP</a></td></tr>
<tr class="separator:ga30e02dc217cc2995d0fd241d510c904f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7fa3b356ca7e603e848b069c4cc6276"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#gad7fa3b356ca7e603e848b069c4cc6276">ETH_PAD_SIZE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gad7fa3b356ca7e603e848b069c4cc6276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4675829464156f3d665f4de171c212d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga4675829464156f3d665f4de171c212d7">ETHARP_SUPPORT_STATIC_ENTRIES</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga4675829464156f3d665f4de171c212d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f762eee309a545650f80fc8dcc19084"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lwip__opts__arp.html#ga2f762eee309a545650f80fc8dcc19084">ETHARP_TABLE_MATCH_NETIF</a>&#160;&#160;&#160;!<a class="el" href="group__lwip__opts__netif.html#ga943063b053eeac76b0b1bcef2ddd93be">LWIP_SINGLE_NETIF</a></td></tr>
<tr class="separator:ga2f762eee309a545650f80fc8dcc19084"><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="ga741a0710dc126ed3ae9e305472df3432"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga741a0710dc126ed3ae9e305472df3432">&#9670;&nbsp;</a></span>ARP_MAXAGE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ARP_MAXAGE&#160;&#160;&#160;300</td>
</tr>
</table>
</div><div class="memdoc">
<p>the time an ARP entry stays valid after its last update, for ARP_TMR_INTERVAL = 1000, this is (60 * 5) seconds = 5 minutes. </p>
</div>
</div>
<a id="ga29f41a6ebdbb23f46688d381b3609fd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga29f41a6ebdbb23f46688d381b3609fd1">&#9670;&nbsp;</a></span>ARP_QUEUE_LEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ARP_QUEUE_LEN&#160;&#160;&#160;3</td>
</tr>
</table>
</div><div class="memdoc">
<p>The maximum number of packets which may be queued for each unresolved address by other network layers. Defaults to 3, 0 means disabled. Old packets are dropped, new packets are queued. </p>
</div>
</div>
<a id="ga75837814536af29b6102508588d0ab58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga75837814536af29b6102508588d0ab58">&#9670;&nbsp;</a></span>ARP_QUEUEING</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ARP_QUEUEING&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>ARP_QUEUEING==1: Multiple outgoing packets are queued during hardware address resolution. By default, only the most recent packet is queued per IP address. This is sufficient for most protocols and mainly reduces TCP connection startup time. Set this to 1 if you know your application sends more than one packet in a row to an IP address that is not in the ARP cache. </p>
</div>
</div>
<a id="ga924936a814564dbdb0bc950d255a83b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga924936a814564dbdb0bc950d255a83b9">&#9670;&nbsp;</a></span>ARP_TABLE_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ARP_TABLE_SIZE&#160;&#160;&#160;10</td>
</tr>
</table>
</div><div class="memdoc">
<p>ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached. </p>
</div>
</div>
<a id="gad7fa3b356ca7e603e848b069c4cc6276"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad7fa3b356ca7e603e848b069c4cc6276">&#9670;&nbsp;</a></span>ETH_PAD_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ETH_PAD_SIZE&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>ETH_PAD_SIZE: number of bytes added before the ethernet header to ensure alignment of payload after that header. Since the header is 14 bytes long, without this padding e.g. addresses in the IP header will not be aligned on a 32-bit boundary, so setting this to 2 can speed up 32-bit-platforms. </p>
</div>
</div>
<a id="ga4675829464156f3d665f4de171c212d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4675829464156f3d665f4de171c212d7">&#9670;&nbsp;</a></span>ETHARP_SUPPORT_STATIC_ENTRIES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ETHARP_SUPPORT_STATIC_ENTRIES&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>ETHARP_SUPPORT_STATIC_ENTRIES==1: enable code to support static ARP table entries (using etharp_add_static_entry/etharp_remove_static_entry). </p>
</div>
</div>
<a id="ga70ce0ecf56cf5fab000134e66d863f90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga70ce0ecf56cf5fab000134e66d863f90">&#9670;&nbsp;</a></span>ETHARP_SUPPORT_VLAN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ETHARP_SUPPORT_VLAN&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>ETHARP_SUPPORT_VLAN==1: support receiving and sending ethernet packets with VLAN header. See the description of LWIP_HOOK_VLAN_CHECK and LWIP_HOOK_VLAN_SET hooks to check/set VLAN headers. Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check. If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted. If ETHARP_VLAN_CHECK is not defined, all traffic is accepted. Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan) that returns 1 to accept a packet or 0 to drop a packet. </p>
</div>
</div>
<a id="ga2f762eee309a545650f80fc8dcc19084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2f762eee309a545650f80fc8dcc19084">&#9670;&nbsp;</a></span>ETHARP_TABLE_MATCH_NETIF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ETHARP_TABLE_MATCH_NETIF&#160;&#160;&#160;!<a class="el" href="group__lwip__opts__netif.html#ga943063b053eeac76b0b1bcef2ddd93be">LWIP_SINGLE_NETIF</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>ETHARP_TABLE_MATCH_NETIF==1: Match netif for ARP table entries. If disabled, duplicate IP address on multiple netifs are not supported (but this should only occur for AutoIP). </p>
</div>
</div>
<a id="ga9609a014bba4638cc191d6a8f9556c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9609a014bba4638cc191d6a8f9556c87">&#9670;&nbsp;</a></span>LWIP_ARP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_ARP&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_ARP==1: Enable ARP functionality. </p>
</div>
</div>
<a id="ga30e02dc217cc2995d0fd241d510c904f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga30e02dc217cc2995d0fd241d510c904f">&#9670;&nbsp;</a></span>LWIP_ETHERNET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LWIP_ETHERNET&#160;&#160;&#160;<a class="el" href="group__lwip__opts__arp.html#ga9609a014bba4638cc191d6a8f9556c87">LWIP_ARP</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>LWIP_ETHERNET==1: enable ethernet support even though ARP might be disabled </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>