add Doxygen documentation
[o-du/phy.git] / docs / API / ethdi_8c.html
diff --git a/docs/API/ethdi_8c.html b/docs/API/ethdi_8c.html
new file mode 100644 (file)
index 0000000..564cea3
--- /dev/null
@@ -0,0 +1,625 @@
+<!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>o-du/phy: ethdi.c File Reference</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="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">o-du/phy
+   </div>
+   <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</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>
+<!-- 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 id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_a4c74d6baed87eba72f3b201b7b4b8f2.html">fhi_lib</a></li><li class="navelem"><a class="el" href="dir_5cc0cc0264b57168b75ca56bde6cc403.html">lib</a></li><li class="navelem"><a class="el" href="dir_88a772f59406d8641777e8d7da928916.html">ethernet</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ethdi.c File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This file has all definitions for the Ethernet Data Interface Layer.  
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
+<code>#include &lt;string.h&gt;</code><br />
+<code>#include &lt;stdint.h&gt;</code><br />
+<code>#include &lt;errno.h&gt;</code><br />
+<code>#include &lt;sys/queue.h&gt;</code><br />
+<code>#include &lt;err.h&gt;</code><br />
+<code>#include &lt;assert.h&gt;</code><br />
+<code>#include &lt;linux/limits.h&gt;</code><br />
+<code>#include &lt;sys/types.h&gt;</code><br />
+<code>#include &lt;stdlib.h&gt;</code><br />
+<code>#include &lt;sys/time.h&gt;</code><br />
+<code>#include &lt;time.h&gt;</code><br />
+<code>#include &lt;unistd.h&gt;</code><br />
+<code>#include &lt;rte_config.h&gt;</code><br />
+<code>#include &lt;rte_common.h&gt;</code><br />
+<code>#include &lt;rte_log.h&gt;</code><br />
+<code>#include &lt;rte_memory.h&gt;</code><br />
+<code>#include &lt;rte_memcpy.h&gt;</code><br />
+<code>#include &lt;rte_memzone.h&gt;</code><br />
+<code>#include &lt;rte_eal.h&gt;</code><br />
+<code>#include &lt;rte_per_lcore.h&gt;</code><br />
+<code>#include &lt;rte_launch.h&gt;</code><br />
+<code>#include &lt;rte_atomic.h&gt;</code><br />
+<code>#include &lt;rte_cycles.h&gt;</code><br />
+<code>#include &lt;rte_prefetch.h&gt;</code><br />
+<code>#include &lt;rte_lcore.h&gt;</code><br />
+<code>#include &lt;rte_branch_prediction.h&gt;</code><br />
+<code>#include &lt;rte_interrupts.h&gt;</code><br />
+<code>#include &lt;rte_pci.h&gt;</code><br />
+<code>#include &lt;rte_debug.h&gt;</code><br />
+<code>#include &lt;rte_ethdev.h&gt;</code><br />
+<code>#include &lt;rte_ring.h&gt;</code><br />
+<code>#include &lt;rte_mbuf.h&gt;</code><br />
+<code>#include &lt;rte_timer.h&gt;</code><br />
+<code>#include &quot;<a class="el" href="ethernet_8h_source.html">ethernet.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="ethdi_8h_source.html">ethdi.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="xran__mlog__lnx_8h_source.html">xran_mlog_lnx.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="xran__printf_8h_source.html">xran_printf.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="xran__lib__mlog__tasks__id_8h_source.html">../src/xran_lib_mlog_tasks_id.h</a>&quot;</code><br />
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for ethdi.c:</div>
+<div class="dyncontent">
+<div class="center"><img src="ethdi_8c__incl.png" border="0" usemap="#ethdi_8c" alt=""/></div>
+<map name="ethdi_8c" id="ethdi_8c">
+<area shape="rect" id="node36" href="ethernet_8h.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="3453,169,3533,196"/>
+<area shape="rect" id="node38" href="ethdi_8h.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="3343,87,3405,114"/>
+<area shape="rect" id="node39" href="xran__fh__o__du_8h.html" title="This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN&#45;WG..." alt="" coords="668,169,779,196"/>
+<area shape="rect" id="node46" href="xran__mlog__lnx_8h.html" title="xran_mlog_lnx.h" alt="" coords="3479,87,3597,114"/>
+<area shape="rect" id="node47" href="xran__printf_8h.html" title="Modules provide debug prints and utility functions. " alt="" coords="1169,169,1264,196"/>
+<area shape="rect" id="node48" href="xran__lib__mlog__tasks__id_8h.html" title="../src/xran_lib_mlog\l_tasks_id.h" alt="" coords="3671,80,3807,121"/>
+</map>
+</div>
+</div>
+<p><a href="ethdi_8c_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a369266c24eacffb87046522897a570d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a369266c24eacffb87046522897a570d5">_GNU_SOURCE</a></td></tr>
+<tr class="separator:a369266c24eacffb87046522897a570d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c38cae04fab7c03bcfef74030da111e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a4c38cae04fab7c03bcfef74030da111e">BURST_RX_IO_SIZE</a>&#160;&#160;&#160;48</td></tr>
+<tr class="separator:a4c38cae04fab7c03bcfef74030da111e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a0ad39cc5436a5f75a4763bcfd12284"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a9a0ad39cc5436a5f75a4763bcfd12284">CHECK_INTERVAL</a>&#160;&#160;&#160;100 /* 100ms */</td></tr>
+<tr class="separator:a9a0ad39cc5436a5f75a4763bcfd12284"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8656398fc65eefb503ceaf1006c095ac"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a8656398fc65eefb503ceaf1006c095ac">MAX_CHECK_TIME</a>&#160;&#160;&#160;90 /* 9s (90 * 100ms) in total */</td></tr>
+<tr class="separator:a8656398fc65eefb503ceaf1006c095ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a77f0a4b49dc21be816aefa3066debfa7"><td class="memItemLeft" align="right" valign="top">struct rte_mbuf *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a77f0a4b49dc21be816aefa3066debfa7">xran_ethdi_mbuf_alloc</a> (void)</td></tr>
+<tr class="separator:a77f0a4b49dc21be816aefa3066debfa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab6a05b3b37887e49b0017e1668317829"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#ab6a05b3b37887e49b0017e1668317829">xran_ethdi_mbuf_send</a> (struct rte_mbuf *mb, uint16_t <a class="el" href="ethdi_8c.html#aa9296c58dc24c63c4ee927db394a97d7">ethertype</a>)</td></tr>
+<tr class="separator:ab6a05b3b37887e49b0017e1668317829"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8a8c592ac06111ce690ab5a6207a6eb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#ab8a8c592ac06111ce690ab5a6207a6eb">xran_ethdi_mbuf_send_cp</a> (struct rte_mbuf *mb, uint16_t <a class="el" href="ethdi_8c.html#aa9296c58dc24c63c4ee927db394a97d7">ethertype</a>)</td></tr>
+<tr class="separator:ab8a8c592ac06111ce690ab5a6207a6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69c763967ba7e28c4a589ce624c226ff"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a69c763967ba7e28c4a589ce624c226ff">xran_register_ethertype_handler</a> (uint16_t <a class="el" href="ethdi_8c.html#aa9296c58dc24c63c4ee927db394a97d7">ethertype</a>, <a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a> callback)</td></tr>
+<tr class="separator:a69c763967ba7e28c4a589ce624c226ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20cda8ace162cadfe3d21c06385fdebe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a20cda8ace162cadfe3d21c06385fdebe">xran_handle_ether</a> (uint16_t <a class="el" href="ethdi_8c.html#aa9296c58dc24c63c4ee927db394a97d7">ethertype</a>, struct rte_mbuf *pkt, uint64_t rx_time)</td></tr>
+<tr class="separator:a20cda8ace162cadfe3d21c06385fdebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af110b40ee89935ebe18d65ef84de1359"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#af110b40ee89935ebe18d65ef84de1359">xran_ethdi_filter_packet</a> (struct rte_mbuf *pkt, uint64_t rx_time)</td></tr>
+<tr class="separator:af110b40ee89935ebe18d65ef84de1359"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97dcf8200aebed714f47764c302a06b5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a97dcf8200aebed714f47764c302a06b5">xran_ethdi_init_dpdk_io</a> (char *name, const struct <a class="el" href="structxran__io__loop__cfg.html">xran_io_loop_cfg</a> *io_cfg, int *lcore_id, struct ether_addr *p_lls_cu_addr, struct ether_addr *p_ru_addr, uint16_t cp_vlan, uint16_t up_vlan)</td></tr>
+<tr class="separator:a97dcf8200aebed714f47764c302a06b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5cd564d3dc5eb89dbe0dd1fa105b645"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#ae5cd564d3dc5eb89dbe0dd1fa105b645">process_dpdk_io</a> (void)</td></tr>
+<tr class="separator:ae5cd564d3dc5eb89dbe0dd1fa105b645"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a87322175547262f4937875027a108e90"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxran__ethdi__ctx.html">xran_ethdi_ctx</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a87322175547262f4937875027a108e90">g_ethdi_ctx</a> = { 0 }</td></tr>
+<tr class="separator:a87322175547262f4937875027a108e90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef5f52e6a4f49171518a59382eb03df5"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#aef5f52e6a4f49171518a59382eb03df5">xran_if_current_state</a> = <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c">XRAN_STOPPED</a></td></tr>
+<tr class="separator:aef5f52e6a4f49171518a59382eb03df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f53957f895afe4f72ecdc94556077d7"><td class="memItemLeft" >struct {</td></tr>
+<tr class="memitem:aa9296c58dc24c63c4ee927db394a97d7"><td class="memItemLeft" >&#160;&#160;&#160;uint16_t&#160;&#160;&#160;<a class="el" href="ethdi_8c.html#aa9296c58dc24c63c4ee927db394a97d7">ethertype</a></td></tr>
+<tr class="separator:aa9296c58dc24c63c4ee927db394a97d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a964502cdb0a980bb8110971755faec77"><td class="memItemLeft" >&#160;&#160;&#160;<a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a>&#160;&#160;&#160;<a class="el" href="ethdi_8c.html#a964502cdb0a980bb8110971755faec77">fn</a></td></tr>
+<tr class="separator:a964502cdb0a980bb8110971755faec77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f53957f895afe4f72ecdc94556077d7"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a3f53957f895afe4f72ecdc94556077d7">xran_ethertype_handlers</a> []</td></tr>
+<tr class="separator:a3f53957f895afe4f72ecdc94556077d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This file has all definitions for the Ethernet Data Interface Layer. </p>
+<dl class="section author"><dt>Author</dt><dd>Intel Corporation </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a369266c24eacffb87046522897a570d5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a369266c24eacffb87046522897a570d5">&#9670;&nbsp;</a></span>_GNU_SOURCE</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define _GNU_SOURCE</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00026">26</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="a4c38cae04fab7c03bcfef74030da111e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c38cae04fab7c03bcfef74030da111e">&#9670;&nbsp;</a></span>BURST_RX_IO_SIZE</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define BURST_RX_IO_SIZE&#160;&#160;&#160;48</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00072">72</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="a9a0ad39cc5436a5f75a4763bcfd12284"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a0ad39cc5436a5f75a4763bcfd12284">&#9670;&nbsp;</a></span>CHECK_INTERVAL</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define CHECK_INTERVAL&#160;&#160;&#160;100 /* 100ms */</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8656398fc65eefb503ceaf1006c095ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8656398fc65eefb503ceaf1006c095ac">&#9670;&nbsp;</a></span>MAX_CHECK_TIME</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define MAX_CHECK_TIME&#160;&#160;&#160;90 /* 9s (90 * 100ms) in total */</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae5cd564d3dc5eb89dbe0dd1fa105b645"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae5cd564d3dc5eb89dbe0dd1fa105b645">&#9670;&nbsp;</a></span>process_dpdk_io()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int32_t process_dpdk_io </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00445">445</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="af110b40ee89935ebe18d65ef84de1359"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af110b40ee89935ebe18d65ef84de1359">&#9670;&nbsp;</a></span>xran_ethdi_filter_packet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int xran_ethdi_filter_packet </td>
+          <td>(</td>
+          <td class="paramtype">struct rte_mbuf *&#160;</td>
+          <td class="paramname"><em>pkt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>rx_time</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00156">156</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.png" border="0" usemap="#ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph" alt=""/></div>
+<map name="ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph" id="ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph">
+<area shape="rect" id="node2" href="xran__common_8h.html#a4e156a8a72cc16b05c6ad0532df4e75a" title="process_ring" alt="" coords="213,5,309,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a97dcf8200aebed714f47764c302a06b5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97dcf8200aebed714f47764c302a06b5">&#9670;&nbsp;</a></span>xran_ethdi_init_dpdk_io()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int xran_ethdi_init_dpdk_io </td>
+          <td>(</td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const struct <a class="el" href="structxran__io__loop__cfg.html">xran_io_loop_cfg</a> *&#160;</td>
+          <td class="paramname"><em>io_cfg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&#160;</td>
+          <td class="paramname"><em>lcore_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct ether_addr *&#160;</td>
+          <td class="paramname"><em>p_lls_cu_addr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct ether_addr *&#160;</td>
+          <td class="paramname"><em>p_ru_addr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>cp_vlan</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>up_vlan</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00288">288</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.png" border="0" usemap="#ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph" alt=""/></div>
+<map name="ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph" id="ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952" title="xran_init" alt="" coords="212,5,283,32"/>
+<area shape="rect" id="node3" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="331,5,481,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a77f0a4b49dc21be816aefa3066debfa7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77f0a4b49dc21be816aefa3066debfa7">&#9670;&nbsp;</a></span>xran_ethdi_mbuf_alloc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct rte_mbuf* xran_ethdi_mbuf_alloc </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00077">77</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png" border="0" usemap="#ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph" alt=""/></div>
+<map name="ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph" id="ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph">
+<area shape="rect" id="node2" href="class_c__plane.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="C_plane::SetUp" alt="" coords="208,5,323,32"/>
+<area shape="rect" id="node3" href="xran__common_8h.html#ab67b9cc6e54d8ba3945b265b47af743c" title="send_symbol_ex" alt="" coords="205,56,325,83"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="ab6a05b3b37887e49b0017e1668317829"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab6a05b3b37887e49b0017e1668317829">&#9670;&nbsp;</a></span>xran_ethdi_mbuf_send()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int xran_ethdi_mbuf_send </td>
+          <td>(</td>
+          <td class="paramtype">struct rte_mbuf *&#160;</td>
+          <td class="paramname"><em>mb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>ethertype</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00082">82</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="ab8a8c592ac06111ce690ab5a6207a6eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab8a8c592ac06111ce690ab5a6207a6eb">&#9670;&nbsp;</a></span>xran_ethdi_mbuf_send_cp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int xran_ethdi_mbuf_send_cp </td>
+          <td>(</td>
+          <td class="paramtype">struct rte_mbuf *&#160;</td>
+          <td class="paramname"><em>mb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>ethertype</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00094">94</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="a20cda8ace162cadfe3d21c06385fdebe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a20cda8ace162cadfe3d21c06385fdebe">&#9670;&nbsp;</a></span>xran_handle_ether()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int xran_handle_ether </td>
+          <td>(</td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>ethertype</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct rte_mbuf *&#160;</td>
+          <td class="paramname"><em>pkt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint64_t&#160;</td>
+          <td class="paramname"><em>rx_time</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00140">140</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="a69c763967ba7e28c4a589ce624c226ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69c763967ba7e28c4a589ce624c226ff">&#9670;&nbsp;</a></span>xran_register_ethertype_handler()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int xran_register_ethertype_handler </td>
+          <td>(</td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>ethertype</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a>&#160;</td>
+          <td class="paramname"><em>callback</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00124">124</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.png" border="0" usemap="#ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph" alt=""/></div>
+<map name="ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph" id="ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952" title="xran_init" alt="" coords="212,13,283,39"/>
+<area shape="rect" id="node3" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="331,13,481,39"/>
+</map>
+</div>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="aa9296c58dc24c63c4ee927db394a97d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa9296c58dc24c63c4ee927db394a97d7">&#9670;&nbsp;</a></span>ethertype</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint16_t ethertype</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00114">114</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="a964502cdb0a980bb8110971755faec77"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a964502cdb0a980bb8110971755faec77">&#9670;&nbsp;</a></span>fn</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a> fn</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00115">115</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="a87322175547262f4937875027a108e90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a87322175547262f4937875027a108e90">&#9670;&nbsp;</a></span>g_ethdi_ctx</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct <a class="el" href="structxran__ethdi__ctx.html">xran_ethdi_ctx</a> g_ethdi_ctx = { 0 }</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00074">74</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+<a id="a3f53957f895afe4f72ecdc94556077d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f53957f895afe4f72ecdc94556077d7">&#9670;&nbsp;</a></span>xran_ethertype_handlers</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct { ... }   xran_ethertype_handlers[]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    { <a class="code" href="ethernet_8h.html#a0118652ad4c1f706fd9b626221530738">ETHER_TYPE_ETHDI</a>, NULL },</div><div class="line">    { <a class="code" href="ethernet_8h.html#af87cccd4396539ae2fd0000a61907e92">ETHER_TYPE_ECPRI</a>, NULL },</div><div class="line">    { <a class="code" href="ethernet_8h.html#a12f018df6b9efaa5217f341d0d56e66f">ETHER_TYPE_START_TX</a>, NULL }</div><div class="line">}</div><div class="ttc" id="ethernet_8h_html_af87cccd4396539ae2fd0000a61907e92"><div class="ttname"><a href="ethernet_8h.html#af87cccd4396539ae2fd0000a61907e92">ETHER_TYPE_ECPRI</a></div><div class="ttdeci">#define ETHER_TYPE_ECPRI</div><div class="ttdef"><b>Definition:</b> <a href="ethernet_8h_source.html#l00042">ethernet.h:42</a></div></div>
+<div class="ttc" id="ethernet_8h_html_a12f018df6b9efaa5217f341d0d56e66f"><div class="ttname"><a href="ethernet_8h.html#a12f018df6b9efaa5217f341d0d56e66f">ETHER_TYPE_START_TX</a></div><div class="ttdeci">#define ETHER_TYPE_START_TX</div><div class="ttdef"><b>Definition:</b> <a href="ethernet_8h_source.html#l00044">ethernet.h:44</a></div></div>
+<div class="ttc" id="ethernet_8h_html_a0118652ad4c1f706fd9b626221530738"><div class="ttname"><a href="ethernet_8h.html#a0118652ad4c1f706fd9b626221530738">ETHER_TYPE_ETHDI</a></div><div class="ttdeci">#define ETHER_TYPE_ETHDI</div><div class="ttdef"><b>Definition:</b> <a href="ethernet_8h_source.html#l00041">ethernet.h:41</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="aef5f52e6a4f49171518a59382eb03df5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aef5f52e6a4f49171518a59382eb03df5">&#9670;&nbsp;</a></span>xran_if_current_state</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a> xran_if_current_state = <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326a57a68dd3f4413f7cc255838c4442938c">XRAN_STOPPED</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="ethdi_8c_source.html#l00075">75</a> of file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>