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">
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" />
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20 <table cellspacing="0" cellpadding="0">
22 <tr style="height: 56px;">
23 <td id="projectalign" style="padding-left: 0.5em;">
24 <div id="projectname">o-du/phy
26 <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</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');
37 <script type="text/javascript" src="menudata.js"></script>
38 <script type="text/javascript" src="menu.js"></script>
39 <script type="text/javascript">
41 initMenu('',true,false,'search.php','Search');
42 $(document).ready(function() { init_search(); });
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)">
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">
60 <div id="nav-path" class="navpath">
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>
67 <a href="#define-members">Macros</a> |
68 <a href="#func-members">Functions</a> |
69 <a href="#var-members">Variables</a> </div>
70 <div class="headertitle">
71 <div class="title">ethdi.c File Reference</div> </div>
73 <div class="contents">
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 <stdio.h></code><br />
78 <code>#include <string.h></code><br />
79 <code>#include <stdint.h></code><br />
80 <code>#include <errno.h></code><br />
81 <code>#include <sys/queue.h></code><br />
82 <code>#include <err.h></code><br />
83 <code>#include <assert.h></code><br />
84 <code>#include <linux/limits.h></code><br />
85 <code>#include <sys/types.h></code><br />
86 <code>#include <stdlib.h></code><br />
87 <code>#include <sys/time.h></code><br />
88 <code>#include <time.h></code><br />
89 <code>#include <unistd.h></code><br />
90 <code>#include <rte_config.h></code><br />
91 <code>#include <rte_common.h></code><br />
92 <code>#include <rte_log.h></code><br />
93 <code>#include <rte_memory.h></code><br />
94 <code>#include <rte_memcpy.h></code><br />
95 <code>#include <rte_memzone.h></code><br />
96 <code>#include <rte_eal.h></code><br />
97 <code>#include <rte_per_lcore.h></code><br />
98 <code>#include <rte_launch.h></code><br />
99 <code>#include <rte_atomic.h></code><br />
100 <code>#include <rte_cycles.h></code><br />
101 <code>#include <rte_prefetch.h></code><br />
102 <code>#include <rte_lcore.h></code><br />
103 <code>#include <rte_branch_prediction.h></code><br />
104 <code>#include <rte_interrupts.h></code><br />
105 <code>#include <rte_pci.h></code><br />
106 <code>#include <rte_debug.h></code><br />
107 <code>#include <rte_ethdev.h></code><br />
108 <code>#include <rte_ring.h></code><br />
109 <code>#include <rte_mbuf.h></code><br />
110 <code>#include <rte_timer.h></code><br />
111 <code>#include "<a class="el" href="ethernet_8h_source.html">ethernet.h</a>"</code><br />
112 <code>#include "<a class="el" href="ethdi_8h_source.html">ethdi.h</a>"</code><br />
113 <code>#include "<a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>"</code><br />
114 <code>#include "<a class="el" href="xran__mlog__lnx_8h_source.html">xran_mlog_lnx.h</a>"</code><br />
115 <code>#include "<a class="el" href="xran__printf_8h_source.html">xran_printf.h</a>"</code><br />
116 <code>#include "<a class="el" href="xran__lib__mlog__tasks__id_8h_source.html">../src/xran_lib_mlog_tasks_id.h</a>"</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-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"/>
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 </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"> </td></tr>
137 <tr class="memitem:a4c38cae04fab7c03bcfef74030da111e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a4c38cae04fab7c03bcfef74030da111e">BURST_RX_IO_SIZE</a>   48</td></tr>
138 <tr class="separator:a4c38cae04fab7c03bcfef74030da111e"><td class="memSeparator" colspan="2"> </td></tr>
139 <tr class="memitem:a9a0ad39cc5436a5f75a4763bcfd12284"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a9a0ad39cc5436a5f75a4763bcfd12284">CHECK_INTERVAL</a>   100 /* 100ms */</td></tr>
140 <tr class="separator:a9a0ad39cc5436a5f75a4763bcfd12284"><td class="memSeparator" colspan="2"> </td></tr>
141 <tr class="memitem:a8656398fc65eefb503ceaf1006c095ac"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8c.html#a8656398fc65eefb503ceaf1006c095ac">MAX_CHECK_TIME</a>   90 /* 9s (90 * 100ms) in total */</td></tr>
142 <tr class="separator:a8656398fc65eefb503ceaf1006c095ac"><td class="memSeparator" colspan="2"> </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 * </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"> </td></tr>
148 <tr class="memitem:ab6a05b3b37887e49b0017e1668317829"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr>
150 <tr class="memitem:ab8a8c592ac06111ce690ab5a6207a6eb"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr>
152 <tr class="memitem:a69c763967ba7e28c4a589ce624c226ff"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr>
154 <tr class="memitem:a20cda8ace162cadfe3d21c06385fdebe"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr>
156 <tr class="memitem:af110b40ee89935ebe18d65ef84de1359"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr>
158 <tr class="memitem:a97dcf8200aebed714f47764c302a06b5"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr>
160 <tr class="memitem:ae5cd564d3dc5eb89dbe0dd1fa105b645"><td class="memItemLeft" align="right" valign="top">int32_t </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"> </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> </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"> </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> </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"> </td></tr>
169 <tr class="memitem:a3f53957f895afe4f72ecdc94556077d7"><td class="memItemLeft" >struct {</td></tr>
170 <tr class="memitem:aa9296c58dc24c63c4ee927db394a97d7"><td class="memItemLeft" >   uint16_t   <a class="el" href="ethdi_8c.html#aa9296c58dc24c63c4ee927db394a97d7">ethertype</a></td></tr>
171 <tr class="separator:aa9296c58dc24c63c4ee927db394a97d7"><td class="memSeparator" colspan="2"> </td></tr>
172 <tr class="memitem:a964502cdb0a980bb8110971755faec77"><td class="memItemLeft" >   <a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a>   <a class="el" href="ethdi_8c.html#a964502cdb0a980bb8110971755faec77">fn</a></td></tr>
173 <tr class="separator:a964502cdb0a980bb8110971755faec77"><td class="memSeparator" colspan="2"> </td></tr>
174 <tr class="memitem:a3f53957f895afe4f72ecdc94556077d7"><td class="memItemLeft" valign="top">} </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"> </td></tr>
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>
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">◆ </a></span>_GNU_SOURCE</h2>
186 <div class="memitem">
187 <div class="memproto">
188 <table class="memname">
190 <td class="memname">#define _GNU_SOURCE</td>
193 </div><div class="memdoc">
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>
199 <a id="a4c38cae04fab7c03bcfef74030da111e"></a>
200 <h2 class="memtitle"><span class="permalink"><a href="#a4c38cae04fab7c03bcfef74030da111e">◆ </a></span>BURST_RX_IO_SIZE</h2>
202 <div class="memitem">
203 <div class="memproto">
204 <table class="memname">
206 <td class="memname">#define BURST_RX_IO_SIZE   48</td>
209 </div><div class="memdoc">
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>
215 <a id="a9a0ad39cc5436a5f75a4763bcfd12284"></a>
216 <h2 class="memtitle"><span class="permalink"><a href="#a9a0ad39cc5436a5f75a4763bcfd12284">◆ </a></span>CHECK_INTERVAL</h2>
218 <div class="memitem">
219 <div class="memproto">
220 <table class="memname">
222 <td class="memname">#define CHECK_INTERVAL   100 /* 100ms */</td>
225 </div><div class="memdoc">
229 <a id="a8656398fc65eefb503ceaf1006c095ac"></a>
230 <h2 class="memtitle"><span class="permalink"><a href="#a8656398fc65eefb503ceaf1006c095ac">◆ </a></span>MAX_CHECK_TIME</h2>
232 <div class="memitem">
233 <div class="memproto">
234 <table class="memname">
236 <td class="memname">#define MAX_CHECK_TIME   90 /* 9s (90 * 100ms) in total */</td>
239 </div><div class="memdoc">
243 <h2 class="groupheader">Function Documentation</h2>
244 <a id="ae5cd564d3dc5eb89dbe0dd1fa105b645"></a>
245 <h2 class="memtitle"><span class="permalink"><a href="#ae5cd564d3dc5eb89dbe0dd1fa105b645">◆ </a></span>process_dpdk_io()</h2>
247 <div class="memitem">
248 <div class="memproto">
249 <table class="memname">
251 <td class="memname">int32_t process_dpdk_io </td>
253 <td class="paramtype">void </td>
254 <td class="paramname"></td><td>)</td>
258 </div><div class="memdoc">
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>
264 <a id="af110b40ee89935ebe18d65ef84de1359"></a>
265 <h2 class="memtitle"><span class="permalink"><a href="#af110b40ee89935ebe18d65ef84de1359">◆ </a></span>xran_ethdi_filter_packet()</h2>
267 <div class="memitem">
268 <div class="memproto">
269 <table class="memname">
271 <td class="memname">int xran_ethdi_filter_packet </td>
273 <td class="paramtype">struct rte_mbuf * </td>
274 <td class="paramname"><em>pkt</em>, </td>
277 <td class="paramkey"></td>
279 <td class="paramtype">uint64_t </td>
280 <td class="paramname"><em>rx_time</em> </td>
288 </div><div class="memdoc">
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"/>
302 <a id="a97dcf8200aebed714f47764c302a06b5"></a>
303 <h2 class="memtitle"><span class="permalink"><a href="#a97dcf8200aebed714f47764c302a06b5">◆ </a></span>xran_ethdi_init_dpdk_io()</h2>
305 <div class="memitem">
306 <div class="memproto">
307 <table class="memname">
309 <td class="memname">int xran_ethdi_init_dpdk_io </td>
311 <td class="paramtype">char * </td>
312 <td class="paramname"><em>name</em>, </td>
315 <td class="paramkey"></td>
317 <td class="paramtype">const struct <a class="el" href="structxran__io__loop__cfg.html">xran_io_loop_cfg</a> * </td>
318 <td class="paramname"><em>io_cfg</em>, </td>
321 <td class="paramkey"></td>
323 <td class="paramtype">int * </td>
324 <td class="paramname"><em>lcore_id</em>, </td>
327 <td class="paramkey"></td>
329 <td class="paramtype">struct ether_addr * </td>
330 <td class="paramname"><em>p_lls_cu_addr</em>, </td>
333 <td class="paramkey"></td>
335 <td class="paramtype">struct ether_addr * </td>
336 <td class="paramname"><em>p_ru_addr</em>, </td>
339 <td class="paramkey"></td>
341 <td class="paramtype">uint16_t </td>
342 <td class="paramname"><em>cp_vlan</em>, </td>
345 <td class="paramkey"></td>
347 <td class="paramtype">uint16_t </td>
348 <td class="paramname"><em>up_vlan</em> </td>
356 </div><div class="memdoc">
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"/>
371 <a id="a77f0a4b49dc21be816aefa3066debfa7"></a>
372 <h2 class="memtitle"><span class="permalink"><a href="#a77f0a4b49dc21be816aefa3066debfa7">◆ </a></span>xran_ethdi_mbuf_alloc()</h2>
374 <div class="memitem">
375 <div class="memproto">
376 <table class="memname">
378 <td class="memname">struct rte_mbuf* xran_ethdi_mbuf_alloc </td>
380 <td class="paramtype">void </td>
381 <td class="paramname"></td><td>)</td>
385 </div><div class="memdoc">
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"/>
400 <a id="ab6a05b3b37887e49b0017e1668317829"></a>
401 <h2 class="memtitle"><span class="permalink"><a href="#ab6a05b3b37887e49b0017e1668317829">◆ </a></span>xran_ethdi_mbuf_send()</h2>
403 <div class="memitem">
404 <div class="memproto">
405 <table class="memname">
407 <td class="memname">int xran_ethdi_mbuf_send </td>
409 <td class="paramtype">struct rte_mbuf * </td>
410 <td class="paramname"><em>mb</em>, </td>
413 <td class="paramkey"></td>
415 <td class="paramtype">uint16_t </td>
416 <td class="paramname"><em>ethertype</em> </td>
424 </div><div class="memdoc">
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>
430 <a id="ab8a8c592ac06111ce690ab5a6207a6eb"></a>
431 <h2 class="memtitle"><span class="permalink"><a href="#ab8a8c592ac06111ce690ab5a6207a6eb">◆ </a></span>xran_ethdi_mbuf_send_cp()</h2>
433 <div class="memitem">
434 <div class="memproto">
435 <table class="memname">
437 <td class="memname">int xran_ethdi_mbuf_send_cp </td>
439 <td class="paramtype">struct rte_mbuf * </td>
440 <td class="paramname"><em>mb</em>, </td>
443 <td class="paramkey"></td>
445 <td class="paramtype">uint16_t </td>
446 <td class="paramname"><em>ethertype</em> </td>
454 </div><div class="memdoc">
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>
460 <a id="a20cda8ace162cadfe3d21c06385fdebe"></a>
461 <h2 class="memtitle"><span class="permalink"><a href="#a20cda8ace162cadfe3d21c06385fdebe">◆ </a></span>xran_handle_ether()</h2>
463 <div class="memitem">
464 <div class="memproto">
465 <table class="memname">
467 <td class="memname">int xran_handle_ether </td>
469 <td class="paramtype">uint16_t </td>
470 <td class="paramname"><em>ethertype</em>, </td>
473 <td class="paramkey"></td>
475 <td class="paramtype">struct rte_mbuf * </td>
476 <td class="paramname"><em>pkt</em>, </td>
479 <td class="paramkey"></td>
481 <td class="paramtype">uint64_t </td>
482 <td class="paramname"><em>rx_time</em> </td>
490 </div><div class="memdoc">
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>
496 <a id="a69c763967ba7e28c4a589ce624c226ff"></a>
497 <h2 class="memtitle"><span class="permalink"><a href="#a69c763967ba7e28c4a589ce624c226ff">◆ </a></span>xran_register_ethertype_handler()</h2>
499 <div class="memitem">
500 <div class="memproto">
501 <table class="memname">
503 <td class="memname">int xran_register_ethertype_handler </td>
505 <td class="paramtype">uint16_t </td>
506 <td class="paramname"><em>ethertype</em>, </td>
509 <td class="paramkey"></td>
511 <td class="paramtype"><a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a> </td>
512 <td class="paramname"><em>callback</em> </td>
520 </div><div class="memdoc">
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"/>
535 <h2 class="groupheader">Variable Documentation</h2>
536 <a id="aa9296c58dc24c63c4ee927db394a97d7"></a>
537 <h2 class="memtitle"><span class="permalink"><a href="#aa9296c58dc24c63c4ee927db394a97d7">◆ </a></span>ethertype</h2>
539 <div class="memitem">
540 <div class="memproto">
541 <table class="memname">
543 <td class="memname">uint16_t ethertype</td>
546 </div><div class="memdoc">
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>
552 <a id="a964502cdb0a980bb8110971755faec77"></a>
553 <h2 class="memtitle"><span class="permalink"><a href="#a964502cdb0a980bb8110971755faec77">◆ </a></span>fn</h2>
555 <div class="memitem">
556 <div class="memproto">
557 <table class="memname">
559 <td class="memname"><a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a> fn</td>
562 </div><div class="memdoc">
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>
568 <a id="a87322175547262f4937875027a108e90"></a>
569 <h2 class="memtitle"><span class="permalink"><a href="#a87322175547262f4937875027a108e90">◆ </a></span>g_ethdi_ctx</h2>
571 <div class="memitem">
572 <div class="memproto">
573 <table class="memname">
575 <td class="memname">struct <a class="el" href="structxran__ethdi__ctx.html">xran_ethdi_ctx</a> g_ethdi_ctx = { 0 }</td>
578 </div><div class="memdoc">
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>
584 <a id="a3f53957f895afe4f72ecdc94556077d7"></a>
585 <h2 class="memtitle"><span class="permalink"><a href="#a3f53957f895afe4f72ecdc94556077d7">◆ </a></span>xran_ethertype_handlers</h2>
587 <div class="memitem">
588 <div class="memproto">
589 <table class="memname">
591 <td class="memname">struct { ... } xran_ethertype_handlers[]</td>
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 -->
601 <a id="aef5f52e6a4f49171518a59382eb03df5"></a>
602 <h2 class="memtitle"><span class="permalink"><a href="#aef5f52e6a4f49171518a59382eb03df5">◆ </a></span>xran_if_current_state</h2>
604 <div class="memitem">
605 <div class="memproto">
606 <table class="memname">
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>
611 </div><div class="memdoc">
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>
617 </div><!-- contents -->
618 <!-- start footer part -->
619 <hr class="footer"/><address class="footer"><small>
620 Generated by  <a href="http://www.doxygen.org/index.html">
621 <img class="footer" src="doxygen.png" alt="doxygen"/>