add Doxygen documentation
[o-du/phy.git] / docs / API / ethdi_8c.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>o-du/phy: ethdi.c File Reference</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="search/search.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="search/searchdata.js"></script>
14 <script type="text/javascript" src="search/search.js"></script>
15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
16 </head>
17 <body>
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19 <div id="titlearea">
20 <table cellspacing="0" cellpadding="0">
21  <tbody>
22  <tr style="height: 56px;">
23   <td id="projectalign" style="padding-left: 0.5em;">
24    <div id="projectname">o-du/phy
25    </div>
26    <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</div>
27   </td>
28  </tr>
29  </tbody>
30 </table>
31 </div>
32 <!-- end header part -->
33 <!-- Generated by Doxygen 1.8.13 -->
34 <script type="text/javascript">
35 var searchBox = new SearchBox("searchBox", "search",false,'Search');
36 </script>
37 <script type="text/javascript" src="menudata.js"></script>
38 <script type="text/javascript" src="menu.js"></script>
39 <script type="text/javascript">
40 $(function() {
41   initMenu('',true,false,'search.php','Search');
42   $(document).ready(function() { init_search(); });
43 });
44 </script>
45 <div id="main-nav"></div>
46 <!-- window showing the filter options -->
47 <div id="MSearchSelectWindow"
48      onmouseover="return searchBox.OnSearchSelectShow()"
49      onmouseout="return searchBox.OnSearchSelectHide()"
50      onkeydown="return searchBox.OnSearchSelectKey(event)">
51 </div>
52
53 <!-- iframe showing the search results (closed by default) -->
54 <div id="MSearchResultsWindow">
55 <iframe src="javascript:void(0)" frameborder="0" 
56         name="MSearchResults" id="MSearchResults">
57 </iframe>
58 </div>
59
60 <div id="nav-path" class="navpath">
61   <ul>
62 <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>
63 </div>
64 </div><!-- top -->
65 <div class="header">
66   <div class="summary">
67 <a href="#define-members">Macros</a> &#124;
68 <a href="#func-members">Functions</a> &#124;
69 <a href="#var-members">Variables</a>  </div>
70   <div class="headertitle">
71 <div class="title">ethdi.c File Reference</div>  </div>
72 </div><!--header-->
73 <div class="contents">
74
75 <p>This file has all definitions for the Ethernet Data Interface Layer.  
76 <a href="#details">More...</a></p>
77 <div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
78 <code>#include &lt;string.h&gt;</code><br />
79 <code>#include &lt;stdint.h&gt;</code><br />
80 <code>#include &lt;errno.h&gt;</code><br />
81 <code>#include &lt;sys/queue.h&gt;</code><br />
82 <code>#include &lt;err.h&gt;</code><br />
83 <code>#include &lt;assert.h&gt;</code><br />
84 <code>#include &lt;linux/limits.h&gt;</code><br />
85 <code>#include &lt;sys/types.h&gt;</code><br />
86 <code>#include &lt;stdlib.h&gt;</code><br />
87 <code>#include &lt;sys/time.h&gt;</code><br />
88 <code>#include &lt;time.h&gt;</code><br />
89 <code>#include &lt;unistd.h&gt;</code><br />
90 <code>#include &lt;rte_config.h&gt;</code><br />
91 <code>#include &lt;rte_common.h&gt;</code><br />
92 <code>#include &lt;rte_log.h&gt;</code><br />
93 <code>#include &lt;rte_memory.h&gt;</code><br />
94 <code>#include &lt;rte_memcpy.h&gt;</code><br />
95 <code>#include &lt;rte_memzone.h&gt;</code><br />
96 <code>#include &lt;rte_eal.h&gt;</code><br />
97 <code>#include &lt;rte_per_lcore.h&gt;</code><br />
98 <code>#include &lt;rte_launch.h&gt;</code><br />
99 <code>#include &lt;rte_atomic.h&gt;</code><br />
100 <code>#include &lt;rte_cycles.h&gt;</code><br />
101 <code>#include &lt;rte_prefetch.h&gt;</code><br />
102 <code>#include &lt;rte_lcore.h&gt;</code><br />
103 <code>#include &lt;rte_branch_prediction.h&gt;</code><br />
104 <code>#include &lt;rte_interrupts.h&gt;</code><br />
105 <code>#include &lt;rte_pci.h&gt;</code><br />
106 <code>#include &lt;rte_debug.h&gt;</code><br />
107 <code>#include &lt;rte_ethdev.h&gt;</code><br />
108 <code>#include &lt;rte_ring.h&gt;</code><br />
109 <code>#include &lt;rte_mbuf.h&gt;</code><br />
110 <code>#include &lt;rte_timer.h&gt;</code><br />
111 <code>#include &quot;<a class="el" href="ethernet_8h_source.html">ethernet.h</a>&quot;</code><br />
112 <code>#include &quot;<a class="el" href="ethdi_8h_source.html">ethdi.h</a>&quot;</code><br />
113 <code>#include &quot;<a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>&quot;</code><br />
114 <code>#include &quot;<a class="el" href="xran__mlog__lnx_8h_source.html">xran_mlog_lnx.h</a>&quot;</code><br />
115 <code>#include &quot;<a class="el" href="xran__printf_8h_source.html">xran_printf.h</a>&quot;</code><br />
116 <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 />
117 </div><div class="textblock"><div class="dynheader">
118 Include dependency graph for ethdi.c:</div>
119 <div class="dyncontent">
120 <div class="center"><img src="ethdi_8c__incl.png" border="0" usemap="#ethdi_8c" alt=""/></div>
121 <map name="ethdi_8c" id="ethdi_8c">
122 <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"/>
123 <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"/>
124 <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"/>
125 <area shape="rect" id="node46" href="xran__mlog__lnx_8h.html" title="xran_mlog_lnx.h" alt="" coords="3479,87,3597,114"/>
126 <area shape="rect" id="node47" href="xran__printf_8h.html" title="Modules provide debug prints and utility functions. " alt="" coords="1169,169,1264,196"/>
127 <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"/>
128 </map>
129 </div>
130 </div>
131 <p><a href="ethdi_8c_source.html">Go to the source code of this file.</a></p>
132 <table class="memberdecls">
133 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
134 Macros</h2></td></tr>
135 <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>
136 <tr class="separator:a369266c24eacffb87046522897a570d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
137 <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>
138 <tr class="separator:a4c38cae04fab7c03bcfef74030da111e"><td class="memSeparator" colspan="2">&#160;</td></tr>
139 <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>
140 <tr class="separator:a9a0ad39cc5436a5f75a4763bcfd12284"><td class="memSeparator" colspan="2">&#160;</td></tr>
141 <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>
142 <tr class="separator:a8656398fc65eefb503ceaf1006c095ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
143 </table><table class="memberdecls">
144 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
145 Functions</h2></td></tr>
146 <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>
147 <tr class="separator:a77f0a4b49dc21be816aefa3066debfa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 <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>
149 <tr class="separator:ab6a05b3b37887e49b0017e1668317829"><td class="memSeparator" colspan="2">&#160;</td></tr>
150 <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>
151 <tr class="separator:ab8a8c592ac06111ce690ab5a6207a6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
152 <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>
153 <tr class="separator:a69c763967ba7e28c4a589ce624c226ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
154 <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>
155 <tr class="separator:a20cda8ace162cadfe3d21c06385fdebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
156 <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>
157 <tr class="separator:af110b40ee89935ebe18d65ef84de1359"><td class="memSeparator" colspan="2">&#160;</td></tr>
158 <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>
159 <tr class="separator:a97dcf8200aebed714f47764c302a06b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
160 <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>
161 <tr class="separator:ae5cd564d3dc5eb89dbe0dd1fa105b645"><td class="memSeparator" colspan="2">&#160;</td></tr>
162 </table><table class="memberdecls">
163 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
164 Variables</h2></td></tr>
165 <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>
166 <tr class="separator:a87322175547262f4937875027a108e90"><td class="memSeparator" colspan="2">&#160;</td></tr>
167 <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>
168 <tr class="separator:aef5f52e6a4f49171518a59382eb03df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
169 <tr class="memitem:a3f53957f895afe4f72ecdc94556077d7"><td class="memItemLeft" >struct {</td></tr>
170 <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>
171 <tr class="separator:aa9296c58dc24c63c4ee927db394a97d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
172 <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>
173 <tr class="separator:a964502cdb0a980bb8110971755faec77"><td class="memSeparator" colspan="2">&#160;</td></tr>
174 <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>
175 <tr class="separator:a3f53957f895afe4f72ecdc94556077d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
176 </table>
177 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
178 <div class="textblock"><p>This file has all definitions for the Ethernet Data Interface Layer. </p>
179 <dl class="section author"><dt>Author</dt><dd>Intel Corporation </dd></dl>
180
181 <p class="definition">Definition in file <a class="el" href="ethdi_8c_source.html">ethdi.c</a>.</p>
182 </div><h2 class="groupheader">Macro Definition Documentation</h2>
183 <a id="a369266c24eacffb87046522897a570d5"></a>
184 <h2 class="memtitle"><span class="permalink"><a href="#a369266c24eacffb87046522897a570d5">&#9670;&nbsp;</a></span>_GNU_SOURCE</h2>
185
186 <div class="memitem">
187 <div class="memproto">
188       <table class="memname">
189         <tr>
190           <td class="memname">#define _GNU_SOURCE</td>
191         </tr>
192       </table>
193 </div><div class="memdoc">
194
195 <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>
196
197 </div>
198 </div>
199 <a id="a4c38cae04fab7c03bcfef74030da111e"></a>
200 <h2 class="memtitle"><span class="permalink"><a href="#a4c38cae04fab7c03bcfef74030da111e">&#9670;&nbsp;</a></span>BURST_RX_IO_SIZE</h2>
201
202 <div class="memitem">
203 <div class="memproto">
204       <table class="memname">
205         <tr>
206           <td class="memname">#define BURST_RX_IO_SIZE&#160;&#160;&#160;48</td>
207         </tr>
208       </table>
209 </div><div class="memdoc">
210
211 <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>
212
213 </div>
214 </div>
215 <a id="a9a0ad39cc5436a5f75a4763bcfd12284"></a>
216 <h2 class="memtitle"><span class="permalink"><a href="#a9a0ad39cc5436a5f75a4763bcfd12284">&#9670;&nbsp;</a></span>CHECK_INTERVAL</h2>
217
218 <div class="memitem">
219 <div class="memproto">
220       <table class="memname">
221         <tr>
222           <td class="memname">#define CHECK_INTERVAL&#160;&#160;&#160;100 /* 100ms */</td>
223         </tr>
224       </table>
225 </div><div class="memdoc">
226
227 </div>
228 </div>
229 <a id="a8656398fc65eefb503ceaf1006c095ac"></a>
230 <h2 class="memtitle"><span class="permalink"><a href="#a8656398fc65eefb503ceaf1006c095ac">&#9670;&nbsp;</a></span>MAX_CHECK_TIME</h2>
231
232 <div class="memitem">
233 <div class="memproto">
234       <table class="memname">
235         <tr>
236           <td class="memname">#define MAX_CHECK_TIME&#160;&#160;&#160;90 /* 9s (90 * 100ms) in total */</td>
237         </tr>
238       </table>
239 </div><div class="memdoc">
240
241 </div>
242 </div>
243 <h2 class="groupheader">Function Documentation</h2>
244 <a id="ae5cd564d3dc5eb89dbe0dd1fa105b645"></a>
245 <h2 class="memtitle"><span class="permalink"><a href="#ae5cd564d3dc5eb89dbe0dd1fa105b645">&#9670;&nbsp;</a></span>process_dpdk_io()</h2>
246
247 <div class="memitem">
248 <div class="memproto">
249       <table class="memname">
250         <tr>
251           <td class="memname">int32_t process_dpdk_io </td>
252           <td>(</td>
253           <td class="paramtype">void&#160;</td>
254           <td class="paramname"></td><td>)</td>
255           <td></td>
256         </tr>
257       </table>
258 </div><div class="memdoc">
259
260 <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>
261
262 </div>
263 </div>
264 <a id="af110b40ee89935ebe18d65ef84de1359"></a>
265 <h2 class="memtitle"><span class="permalink"><a href="#af110b40ee89935ebe18d65ef84de1359">&#9670;&nbsp;</a></span>xran_ethdi_filter_packet()</h2>
266
267 <div class="memitem">
268 <div class="memproto">
269       <table class="memname">
270         <tr>
271           <td class="memname">int xran_ethdi_filter_packet </td>
272           <td>(</td>
273           <td class="paramtype">struct rte_mbuf *&#160;</td>
274           <td class="paramname"><em>pkt</em>, </td>
275         </tr>
276         <tr>
277           <td class="paramkey"></td>
278           <td></td>
279           <td class="paramtype">uint64_t&#160;</td>
280           <td class="paramname"><em>rx_time</em>&#160;</td>
281         </tr>
282         <tr>
283           <td></td>
284           <td>)</td>
285           <td></td><td></td>
286         </tr>
287       </table>
288 </div><div class="memdoc">
289
290 <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>
291 <div class="dynheader">
292 Here is the caller graph for this function:</div>
293 <div class="dyncontent">
294 <div class="center"><img src="ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph.png" border="0" usemap="#ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph" alt=""/></div>
295 <map name="ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph" id="ethdi_8c_af110b40ee89935ebe18d65ef84de1359_icgraph">
296 <area shape="rect" id="node2" href="xran__common_8h.html#a4e156a8a72cc16b05c6ad0532df4e75a" title="process_ring" alt="" coords="213,5,309,32"/>
297 </map>
298 </div>
299
300 </div>
301 </div>
302 <a id="a97dcf8200aebed714f47764c302a06b5"></a>
303 <h2 class="memtitle"><span class="permalink"><a href="#a97dcf8200aebed714f47764c302a06b5">&#9670;&nbsp;</a></span>xran_ethdi_init_dpdk_io()</h2>
304
305 <div class="memitem">
306 <div class="memproto">
307       <table class="memname">
308         <tr>
309           <td class="memname">int xran_ethdi_init_dpdk_io </td>
310           <td>(</td>
311           <td class="paramtype">char *&#160;</td>
312           <td class="paramname"><em>name</em>, </td>
313         </tr>
314         <tr>
315           <td class="paramkey"></td>
316           <td></td>
317           <td class="paramtype">const struct <a class="el" href="structxran__io__loop__cfg.html">xran_io_loop_cfg</a> *&#160;</td>
318           <td class="paramname"><em>io_cfg</em>, </td>
319         </tr>
320         <tr>
321           <td class="paramkey"></td>
322           <td></td>
323           <td class="paramtype">int *&#160;</td>
324           <td class="paramname"><em>lcore_id</em>, </td>
325         </tr>
326         <tr>
327           <td class="paramkey"></td>
328           <td></td>
329           <td class="paramtype">struct ether_addr *&#160;</td>
330           <td class="paramname"><em>p_lls_cu_addr</em>, </td>
331         </tr>
332         <tr>
333           <td class="paramkey"></td>
334           <td></td>
335           <td class="paramtype">struct ether_addr *&#160;</td>
336           <td class="paramname"><em>p_ru_addr</em>, </td>
337         </tr>
338         <tr>
339           <td class="paramkey"></td>
340           <td></td>
341           <td class="paramtype">uint16_t&#160;</td>
342           <td class="paramname"><em>cp_vlan</em>, </td>
343         </tr>
344         <tr>
345           <td class="paramkey"></td>
346           <td></td>
347           <td class="paramtype">uint16_t&#160;</td>
348           <td class="paramname"><em>up_vlan</em>&#160;</td>
349         </tr>
350         <tr>
351           <td></td>
352           <td>)</td>
353           <td></td><td></td>
354         </tr>
355       </table>
356 </div><div class="memdoc">
357
358 <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>
359 <div class="dynheader">
360 Here is the caller graph for this function:</div>
361 <div class="dyncontent">
362 <div class="center"><img src="ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph.png" border="0" usemap="#ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph" alt=""/></div>
363 <map name="ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph" id="ethdi_8c_a97dcf8200aebed714f47764c302a06b5_icgraph">
364 <area shape="rect" id="node2" href="xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952" title="xran_init" alt="" coords="212,5,283,32"/>
365 <area shape="rect" id="node3" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="331,5,481,32"/>
366 </map>
367 </div>
368
369 </div>
370 </div>
371 <a id="a77f0a4b49dc21be816aefa3066debfa7"></a>
372 <h2 class="memtitle"><span class="permalink"><a href="#a77f0a4b49dc21be816aefa3066debfa7">&#9670;&nbsp;</a></span>xran_ethdi_mbuf_alloc()</h2>
373
374 <div class="memitem">
375 <div class="memproto">
376       <table class="memname">
377         <tr>
378           <td class="memname">struct rte_mbuf* xran_ethdi_mbuf_alloc </td>
379           <td>(</td>
380           <td class="paramtype">void&#160;</td>
381           <td class="paramname"></td><td>)</td>
382           <td></td>
383         </tr>
384       </table>
385 </div><div class="memdoc">
386
387 <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>
388 <div class="dynheader">
389 Here is the caller graph for this function:</div>
390 <div class="dyncontent">
391 <div class="center"><img src="ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png" border="0" usemap="#ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph" alt=""/></div>
392 <map name="ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph" id="ethdi_8c_a77f0a4b49dc21be816aefa3066debfa7_icgraph">
393 <area shape="rect" id="node2" href="class_c__plane.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="C_plane::SetUp" alt="" coords="208,5,323,32"/>
394 <area shape="rect" id="node3" href="xran__common_8h.html#ab67b9cc6e54d8ba3945b265b47af743c" title="send_symbol_ex" alt="" coords="205,56,325,83"/>
395 </map>
396 </div>
397
398 </div>
399 </div>
400 <a id="ab6a05b3b37887e49b0017e1668317829"></a>
401 <h2 class="memtitle"><span class="permalink"><a href="#ab6a05b3b37887e49b0017e1668317829">&#9670;&nbsp;</a></span>xran_ethdi_mbuf_send()</h2>
402
403 <div class="memitem">
404 <div class="memproto">
405       <table class="memname">
406         <tr>
407           <td class="memname">int xran_ethdi_mbuf_send </td>
408           <td>(</td>
409           <td class="paramtype">struct rte_mbuf *&#160;</td>
410           <td class="paramname"><em>mb</em>, </td>
411         </tr>
412         <tr>
413           <td class="paramkey"></td>
414           <td></td>
415           <td class="paramtype">uint16_t&#160;</td>
416           <td class="paramname"><em>ethertype</em>&#160;</td>
417         </tr>
418         <tr>
419           <td></td>
420           <td>)</td>
421           <td></td><td></td>
422         </tr>
423       </table>
424 </div><div class="memdoc">
425
426 <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>
427
428 </div>
429 </div>
430 <a id="ab8a8c592ac06111ce690ab5a6207a6eb"></a>
431 <h2 class="memtitle"><span class="permalink"><a href="#ab8a8c592ac06111ce690ab5a6207a6eb">&#9670;&nbsp;</a></span>xran_ethdi_mbuf_send_cp()</h2>
432
433 <div class="memitem">
434 <div class="memproto">
435       <table class="memname">
436         <tr>
437           <td class="memname">int xran_ethdi_mbuf_send_cp </td>
438           <td>(</td>
439           <td class="paramtype">struct rte_mbuf *&#160;</td>
440           <td class="paramname"><em>mb</em>, </td>
441         </tr>
442         <tr>
443           <td class="paramkey"></td>
444           <td></td>
445           <td class="paramtype">uint16_t&#160;</td>
446           <td class="paramname"><em>ethertype</em>&#160;</td>
447         </tr>
448         <tr>
449           <td></td>
450           <td>)</td>
451           <td></td><td></td>
452         </tr>
453       </table>
454 </div><div class="memdoc">
455
456 <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>
457
458 </div>
459 </div>
460 <a id="a20cda8ace162cadfe3d21c06385fdebe"></a>
461 <h2 class="memtitle"><span class="permalink"><a href="#a20cda8ace162cadfe3d21c06385fdebe">&#9670;&nbsp;</a></span>xran_handle_ether()</h2>
462
463 <div class="memitem">
464 <div class="memproto">
465       <table class="memname">
466         <tr>
467           <td class="memname">int xran_handle_ether </td>
468           <td>(</td>
469           <td class="paramtype">uint16_t&#160;</td>
470           <td class="paramname"><em>ethertype</em>, </td>
471         </tr>
472         <tr>
473           <td class="paramkey"></td>
474           <td></td>
475           <td class="paramtype">struct rte_mbuf *&#160;</td>
476           <td class="paramname"><em>pkt</em>, </td>
477         </tr>
478         <tr>
479           <td class="paramkey"></td>
480           <td></td>
481           <td class="paramtype">uint64_t&#160;</td>
482           <td class="paramname"><em>rx_time</em>&#160;</td>
483         </tr>
484         <tr>
485           <td></td>
486           <td>)</td>
487           <td></td><td></td>
488         </tr>
489       </table>
490 </div><div class="memdoc">
491
492 <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>
493
494 </div>
495 </div>
496 <a id="a69c763967ba7e28c4a589ce624c226ff"></a>
497 <h2 class="memtitle"><span class="permalink"><a href="#a69c763967ba7e28c4a589ce624c226ff">&#9670;&nbsp;</a></span>xran_register_ethertype_handler()</h2>
498
499 <div class="memitem">
500 <div class="memproto">
501       <table class="memname">
502         <tr>
503           <td class="memname">int xran_register_ethertype_handler </td>
504           <td>(</td>
505           <td class="paramtype">uint16_t&#160;</td>
506           <td class="paramname"><em>ethertype</em>, </td>
507         </tr>
508         <tr>
509           <td class="paramkey"></td>
510           <td></td>
511           <td class="paramtype"><a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a>&#160;</td>
512           <td class="paramname"><em>callback</em>&#160;</td>
513         </tr>
514         <tr>
515           <td></td>
516           <td>)</td>
517           <td></td><td></td>
518         </tr>
519       </table>
520 </div><div class="memdoc">
521
522 <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>
523 <div class="dynheader">
524 Here is the caller graph for this function:</div>
525 <div class="dyncontent">
526 <div class="center"><img src="ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph.png" border="0" usemap="#ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph" alt=""/></div>
527 <map name="ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph" id="ethdi_8c_a69c763967ba7e28c4a589ce624c226ff_icgraph">
528 <area shape="rect" id="node2" href="xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952" title="xran_init" alt="" coords="212,13,283,39"/>
529 <area shape="rect" id="node3" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="331,13,481,39"/>
530 </map>
531 </div>
532
533 </div>
534 </div>
535 <h2 class="groupheader">Variable Documentation</h2>
536 <a id="aa9296c58dc24c63c4ee927db394a97d7"></a>
537 <h2 class="memtitle"><span class="permalink"><a href="#aa9296c58dc24c63c4ee927db394a97d7">&#9670;&nbsp;</a></span>ethertype</h2>
538
539 <div class="memitem">
540 <div class="memproto">
541       <table class="memname">
542         <tr>
543           <td class="memname">uint16_t ethertype</td>
544         </tr>
545       </table>
546 </div><div class="memdoc">
547
548 <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>
549
550 </div>
551 </div>
552 <a id="a964502cdb0a980bb8110971755faec77"></a>
553 <h2 class="memtitle"><span class="permalink"><a href="#a964502cdb0a980bb8110971755faec77">&#9670;&nbsp;</a></span>fn</h2>
554
555 <div class="memitem">
556 <div class="memproto">
557       <table class="memname">
558         <tr>
559           <td class="memname"><a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a> fn</td>
560         </tr>
561       </table>
562 </div><div class="memdoc">
563
564 <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>
565
566 </div>
567 </div>
568 <a id="a87322175547262f4937875027a108e90"></a>
569 <h2 class="memtitle"><span class="permalink"><a href="#a87322175547262f4937875027a108e90">&#9670;&nbsp;</a></span>g_ethdi_ctx</h2>
570
571 <div class="memitem">
572 <div class="memproto">
573       <table class="memname">
574         <tr>
575           <td class="memname">struct <a class="el" href="structxran__ethdi__ctx.html">xran_ethdi_ctx</a> g_ethdi_ctx = { 0 }</td>
576         </tr>
577       </table>
578 </div><div class="memdoc">
579
580 <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>
581
582 </div>
583 </div>
584 <a id="a3f53957f895afe4f72ecdc94556077d7"></a>
585 <h2 class="memtitle"><span class="permalink"><a href="#a3f53957f895afe4f72ecdc94556077d7">&#9670;&nbsp;</a></span>xran_ethertype_handlers</h2>
586
587 <div class="memitem">
588 <div class="memproto">
589       <table class="memname">
590         <tr>
591           <td class="memname">struct { ... }   xran_ethertype_handlers[]</td>
592         </tr>
593       </table>
594 </div><div class="memdoc">
595 <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>
596 <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>
597 <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>
598 </div><!-- fragment -->
599 </div>
600 </div>
601 <a id="aef5f52e6a4f49171518a59382eb03df5"></a>
602 <h2 class="memtitle"><span class="permalink"><a href="#aef5f52e6a4f49171518a59382eb03df5">&#9670;&nbsp;</a></span>xran_if_current_state</h2>
603
604 <div class="memitem">
605 <div class="memproto">
606       <table class="memname">
607         <tr>
608           <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>
609         </tr>
610       </table>
611 </div><div class="memdoc">
612
613 <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>
614
615 </div>
616 </div>
617 </div><!-- contents -->
618 <!-- start footer part -->
619 <hr class="footer"/><address class="footer"><small>
620 Generated by &#160;<a href="http://www.doxygen.org/index.html">
621 <img class="footer" src="doxygen.png" alt="doxygen"/>
622 </a> 1.8.13
623 </small></address>
624 </body>
625 </html>