
Added initial support Xilinx Embedded Software. Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
425 lines
22 KiB
HTML
Executable file
425 lines
22 KiB
HTML
Executable file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>2014.1_doc: U:/hsm_publish/HEAD/data/embeddedsw/ThirdParty/sw_services/lwip140_v2_0/src/lwip-1.4.0/src/core/ipv4/ip.c File Reference</title>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
</head><body>
|
|
<!-- Generated by Doxygen 1.4.5 -->
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li><a href="dirs.html"><span>Directories</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
</ul></div>
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File Members</span></a></li>
|
|
</ul></div>
|
|
<div class="nav">
|
|
<a class="el" href="dir_U_3A_2F.html">U:</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2F.html">hsm_publish</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2F.html">HEAD</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2F.html">data</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2F.html">embeddedsw</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2F.html">ThirdParty</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2F.html">sw_services</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2F.html">lwip140_v2_0</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2F.html">src</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2Flwip_2D1_2E4_2E0_2F.html">lwip-1.4.0</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2Flwip_2D1_2E4_2E0_2Fsrc_2F.html">src</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2Flwip_2D1_2E4_2E0_2Fsrc_2Fcore_2F.html">core</a> » <a class="el" href="dir_U_3A_2Fhsm_5Fpublish_2FHEAD_2Fdata_2Fembeddedsw_2FThirdParty_2Fsw_5Fservices_2Flwip140_5Fv2_5F0_2Fsrc_2Flwip_2D1_2E4_2E0_2Fsrc_2Fcore_2Fipv4_2F.html">ipv4</a></div>
|
|
<h1>ip.c File Reference</h1><code>#include "<a class="el" href="opt_8h.html">lwip/opt.h</a>"</code><br>
|
|
<code>#include "lwip/ip.h"</code><br>
|
|
<code>#include "lwip/def.h"</code><br>
|
|
<code>#include "lwip/mem.h"</code><br>
|
|
<code>#include "lwip/ip_frag.h"</code><br>
|
|
<code>#include "lwip/inet_chksum.h"</code><br>
|
|
<code>#include "lwip/netif.h"</code><br>
|
|
<code>#include "lwip/icmp.h"</code><br>
|
|
<code>#include "lwip/igmp.h"</code><br>
|
|
<code>#include "lwip/raw.h"</code><br>
|
|
<code>#include "lwip/udp.h"</code><br>
|
|
<code>#include "lwip/tcp_impl.h"</code><br>
|
|
<code>#include "lwip/snmp.h"</code><br>
|
|
<code>#include "<a class="el" href="dhcp_8h.html">lwip/dhcp.h</a>"</code><br>
|
|
<code>#include "<a class="el" href="autoip_8h.html">lwip/autoip.h</a>"</code><br>
|
|
<code>#include "lwip/stats.h"</code><br>
|
|
<code>#include "arch/perf.h"</code><br>
|
|
<code>#include <string.h></code><br>
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td></td></tr>
|
|
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#a56dad47e32505cc0afea90559c29496">LWIP_INLINE_IP_CHKSUM</a> 1</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structnetif.html">netif</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#f42941d13e68a157e401d3d2ef365d31">ip_route</a> (ip_addr_t *dest)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">err_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#b72019b530dcdfc60948bfaca931f483">ip_input</a> (struct pbuf *p, struct <a class="el" href="structnetif.html">netif</a> *inp)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">err_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#be56847a3c07f5f52747c437850ed941">ip_output_if</a> (struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, u8_t ttl, u8_t tos, u8_t proto, struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">err_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#e5c811f798f3a32c22608dfd99c19c37">ip_output</a> (struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, u8_t ttl, u8_t tos, u8_t proto)</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structnetif.html">netif</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#6d79919a943c08ec20141c0776fe1ef8">current_netif</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">const struct ip_hdr * </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#558c4a7734f83c2ea5bc0714cd10f7c5">current_header</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">ip_addr_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#bb5d9de01f9cbd87ad9fc09a51ee58f0">current_iphdr_src</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">ip_addr_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ip_8c.html#d9a4ff386e7c2052ddca1f77b4f9db95">current_iphdr_dest</a></td></tr>
|
|
|
|
</table>
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
This is the IPv4 layer implementation for incoming and outgoing IP traffic.<p>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="ip__frag_8c.html">ip_frag.c</a> </dd></dl>
|
|
<hr><h2>Define Documentation</h2>
|
|
<a class="anchor" name="a56dad47e32505cc0afea90559c29496"></a><!-- doxytag: member="ip.c::LWIP_INLINE_IP_CHKSUM" ref="a56dad47e32505cc0afea90559c29496" args="" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">#define LWIP_INLINE_IP_CHKSUM 1 </td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Set this to 0 in the rare case of wanting to call an extra function to generate the IP checksum (in contrast to calculating it on-the-fly). </td>
|
|
</tr>
|
|
</table>
|
|
<hr><h2>Function Documentation</h2>
|
|
<a class="anchor" name="b72019b530dcdfc60948bfaca931f483"></a><!-- doxytag: member="ip.c::ip_input" ref="b72019b530dcdfc60948bfaca931f483" args="(struct pbuf *p, struct netif *inp)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">err_t ip_input </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">struct pbuf * </td>
|
|
<td class="mdname" nowrap> <em>p</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>struct <a class="el" href="structnetif.html">netif</a> * </td>
|
|
<td class="mdname" nowrap> <em>inp</em></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md"></td>
|
|
<td class="md">) </td>
|
|
<td class="md" colspan="2"></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
This function is called by the network interface device driver when an IP packet is received. The function does the basic checks of the IP header such as packet size being at least larger than the header size etc. If the packet was not destined for us, the packet is forwarded (using ip_forward). The IP checksum is always checked.<p>
|
|
Finally, the packet is sent to the upper layer protocol input function.<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the received IP packet (p->payload points to IP header) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>inp</em> </td><td>the netif on which this packet was received </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>ERR_OK if the packet was processed (could return ERR_* if it wasn't processed, but currently always returns ERR_OK) </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="e5c811f798f3a32c22608dfd99c19c37"></a><!-- doxytag: member="ip.c::ip_output" ref="e5c811f798f3a32c22608dfd99c19c37" args="(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, u8_t ttl, u8_t tos, u8_t proto)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">err_t ip_output </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">struct pbuf * </td>
|
|
<td class="mdname" nowrap> <em>p</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>ip_addr_t * </td>
|
|
<td class="mdname" nowrap> <em>src</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>ip_addr_t * </td>
|
|
<td class="mdname" nowrap> <em>dest</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>u8_t </td>
|
|
<td class="mdname" nowrap> <em>ttl</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>u8_t </td>
|
|
<td class="mdname" nowrap> <em>tos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>u8_t </td>
|
|
<td class="mdname" nowrap> <em>proto</em></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md"></td>
|
|
<td class="md">) </td>
|
|
<td class="md" colspan="2"></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Simple interface to ip_output_if. It finds the outgoing network interface and calls upon ip_output_if to do the actual work.<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the packet to send (p->payload points to the data, e.g. next protocol header; if dest == IP_HDRINCL, p already includes an IP header and p->payload points to that IP header) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>the source IP address to send from (if src == IP_ADDR_ANY, the IP address of the netif used to send is used as source address) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>the destination IP address to send the packet to </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ttl</em> </td><td>the TTL value to be set in the IP header </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>tos</em> </td><td>the TOS value to be set in the IP header </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>proto</em> </td><td>the PROTOCOL to be set in the IP header</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>ERR_RTE if no route is found see <a class="el" href="ip_8c.html#be56847a3c07f5f52747c437850ed941">ip_output_if()</a> for more return values </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="be56847a3c07f5f52747c437850ed941"></a><!-- doxytag: member="ip.c::ip_output_if" ref="be56847a3c07f5f52747c437850ed941" args="(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, u8_t ttl, u8_t tos, u8_t proto, struct netif *netif)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">err_t ip_output_if </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">struct pbuf * </td>
|
|
<td class="mdname" nowrap> <em>p</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>ip_addr_t * </td>
|
|
<td class="mdname" nowrap> <em>src</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>ip_addr_t * </td>
|
|
<td class="mdname" nowrap> <em>dest</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>u8_t </td>
|
|
<td class="mdname" nowrap> <em>ttl</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>u8_t </td>
|
|
<td class="mdname" nowrap> <em>tos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>u8_t </td>
|
|
<td class="mdname" nowrap> <em>proto</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md" nowrap align="right"></td>
|
|
<td class="md"></td>
|
|
<td class="md" nowrap>struct <a class="el" href="structnetif.html">netif</a> * </td>
|
|
<td class="mdname" nowrap> <em>netif</em></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="md"></td>
|
|
<td class="md">) </td>
|
|
<td class="md" colspan="2"></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Sends an IP packet on a network interface. This function constructs the IP header and calculates the IP header checksum. If the source IP address is NULL, the IP address of the outgoing network interface is filled in as source address. If the destination IP address is IP_HDRINCL, p is assumed to already include an IP header and p->payload points to it instead of the data.<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the packet to send (p->payload points to the data, e.g. next protocol header; if dest == IP_HDRINCL, p already includes an IP header and p->payload points to that IP header) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>src</em> </td><td>the source IP address to send from (if src == IP_ADDR_ANY, the IP address of the netif used to send is used as source address) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>the destination IP address to send the packet to </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ttl</em> </td><td>the TTL value to be set in the IP header </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>tos</em> </td><td>the TOS value to be set in the IP header </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>proto</em> </td><td>the PROTOCOL to be set in the IP header </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>netif</em> </td><td>the netif on which to send this packet </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>ERR_OK if the packet was sent OK ERR_BUF if p doesn't have enough space for IP/LINK headers returns errors returned by netif->output</dd></dl>
|
|
<dl compact><dt><b>Note:</b></dt><dd>ip_id: RFC791 "some host may be able to simply use unique identifiers independent of destination" </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="f42941d13e68a157e401d3d2ef365d31"></a><!-- doxytag: member="ip.c::ip_route" ref="f42941d13e68a157e401d3d2ef365d31" args="(ip_addr_t *dest)" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">struct <a class="el" href="structnetif.html">netif</a>* ip_route </td>
|
|
<td class="md" valign="top">( </td>
|
|
<td class="md" nowrap valign="top">ip_addr_t * </td>
|
|
<td class="mdname1" valign="top" nowrap> <em>dest</em> </td>
|
|
<td class="md" valign="top"> ) </td>
|
|
<td class="md" nowrap></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Finds the appropriate network interface for a given IP address. It searches the list of network interfaces linearly. A match is found if the masked IP address of the network interface equals the masked IP address given to the function.<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>the destination IP address for which to find the route </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>the netif on which to send to reach dest </dd></dl>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<hr><h2>Variable Documentation</h2>
|
|
<a class="anchor" name="558c4a7734f83c2ea5bc0714cd10f7c5"></a><!-- doxytag: member="ip.c::current_header" ref="558c4a7734f83c2ea5bc0714cd10f7c5" args="" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">const struct ip_hdr* <a class="el" href="ip_8c.html#558c4a7734f83c2ea5bc0714cd10f7c5">current_header</a> </td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Header of the input packet currently being processed. </td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="d9a4ff386e7c2052ddca1f77b4f9db95"></a><!-- doxytag: member="ip.c::current_iphdr_dest" ref="d9a4ff386e7c2052ddca1f77b4f9db95" args="" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">ip_addr_t <a class="el" href="ip_8c.html#d9a4ff386e7c2052ddca1f77b4f9db95">current_iphdr_dest</a> </td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Destination IP address of current_header </td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="bb5d9de01f9cbd87ad9fc09a51ee58f0"></a><!-- doxytag: member="ip.c::current_iphdr_src" ref="bb5d9de01f9cbd87ad9fc09a51ee58f0" args="" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">ip_addr_t <a class="el" href="ip_8c.html#bb5d9de01f9cbd87ad9fc09a51ee58f0">current_iphdr_src</a> </td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
Source IP address of current_header </td>
|
|
</tr>
|
|
</table>
|
|
<a class="anchor" name="6d79919a943c08ec20141c0776fe1ef8"></a><!-- doxytag: member="ip.c::current_netif" ref="6d79919a943c08ec20141c0776fe1ef8" args="" --><p>
|
|
<table class="mdTable" cellpadding="2" cellspacing="0">
|
|
<tr>
|
|
<td class="mdRow">
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr>
|
|
<td class="md" nowrap valign="top">struct <a class="el" href="structnetif.html">netif</a>* <a class="el" href="ip_8c.html#6d79919a943c08ec20141c0776fe1ef8">current_netif</a> </td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table cellspacing="5" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
|
|
<p>
|
|
The interface that provided the packet for the current callback invocation. </td>
|
|
</tr>
|
|
</table>
|
|
<hr size="1"><address style="align: right;"><small>Generated on Fri Feb 14 12:33:21 2014 for 2014.1_doc by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.5 </small></address>
|
|
</body>
|
|
</html>
|