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.h 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="#nested-classes">Data Structures</a> |
68 <a href="#define-members">Macros</a> |
69 <a href="#typedef-members">Typedefs</a> |
70 <a href="#enum-members">Enumerations</a> |
71 <a href="#func-members">Functions</a> |
72 <a href="#var-members">Variables</a> </div>
73 <div class="headertitle">
74 <div class="title">ethdi.h File Reference</div> </div>
76 <div class="contents">
78 <p>This file has all definitions for the Ethernet Data Interface Layer.
79 <a href="#details">More...</a></p>
80 <div class="textblock"><code>#include <rte_config.h></code><br />
81 <code>#include <rte_mbuf.h></code><br />
82 <code>#include <rte_timer.h></code><br />
83 <code>#include "<a class="el" href="ethernet_8h_source.html">ethernet.h</a>"</code><br />
84 <code>#include "<a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>"</code><br />
85 </div><div class="textblock"><div class="dynheader">
86 Include dependency graph for ethdi.h:</div>
87 <div class="dyncontent">
88 <div class="center"><img src="ethdi_8h__incl.png" border="0" usemap="#ethdi_8h" alt=""/></div>
89 <map name="ethdi_8h" id="ethdi_8h">
90 <area shape="rect" id="node5" href="ethernet_8h.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="105,80,185,107"/>
91 <area shape="rect" id="node7" 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="949,80,1059,107"/>
94 </div><div class="textblock"><div class="dynheader">
95 This graph shows which files directly or indirectly include this file:</div>
96 <div class="dyncontent">
97 <div class="center"><img src="ethdi_8h__dep__incl.png" border="0" usemap="#ethdi_8hdep" alt=""/></div>
98 <map name="ethdi_8hdep" id="ethdi_8hdep">
99 <area shape="rect" id="node2" href="ethdi_8c.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="5,80,67,107"/>
100 <area shape="rect" id="node3" href="ethernet_8c.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="91,80,171,107"/>
101 <area shape="rect" id="node4" href="xran__common_8c.html" title="XRAN layer common functionality for both O-DU and O-RU as well as C-plane and U-plane. " alt="" coords="195,80,309,107"/>
102 <area shape="rect" id="node5" href="xran__main_8c.html" title="XRAN main functionality module. " alt="" coords="333,80,427,107"/>
103 <area shape="rect" id="node6" href="xran__timer_8c.html" title="This file provides implementation to Timing for XRAN. " alt="" coords="451,80,546,107"/>
104 <area shape="rect" id="node7" href="c__plane__tests_8cc.html" title="c_plane_tests.cc" alt="" coords="570,80,691,107"/>
105 <area shape="rect" id="node8" href="chain__tests_8cc.html" title="chain_tests.cc" alt="" coords="716,80,823,107"/>
106 <area shape="rect" id="node9" href="init__sys__functional_8cc.html" title="init_sys_functional.cc" alt="" coords="847,80,995,107"/>
110 <p><a href="ethdi_8h_source.html">Go to the source code of this file.</a></p>
111 <table class="memberdecls">
112 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
113 Data Structures</h2></td></tr>
114 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__io__loop__cfg.html">xran_io_loop_cfg</a></td></tr>
115 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
116 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__ethdi__ctx.html">xran_ethdi_ctx</a></td></tr>
117 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
118 </table><table class="memberdecls">
119 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
120 Macros</h2></td></tr>
121 <tr class="memitem:a3822681248af17c36115a411e29e5fc2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a3822681248af17c36115a411e29e5fc2">XRAN_THREAD_DEFAULT_PRIO</a>   (98)</td></tr>
122 <tr class="separator:a3822681248af17c36115a411e29e5fc2"><td class="memSeparator" colspan="2"> </td></tr>
123 <tr class="memitem:ae138d10c7cd4199e5e96377ff1f8e317"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#ae138d10c7cd4199e5e96377ff1f8e317">PING_INTERVAL</a>   300 /* (us) */</td></tr>
124 <tr class="separator:ae138d10c7cd4199e5e96377ff1f8e317"><td class="memSeparator" colspan="2"> </td></tr>
125 <tr class="memitem:a5a5cdcb25b0580324b2cfaa1cad7073c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a5a5cdcb25b0580324b2cfaa1cad7073c">PING_BUSY_POLL</a>   50 /* (us) how long to actively wait <a class="el" href="gen__test_8m.html#af3108abdfc7dbfa64896900ace74b015">for</a> response */</td></tr>
126 <tr class="separator:a5a5cdcb25b0580324b2cfaa1cad7073c"><td class="memSeparator" colspan="2"> </td></tr>
127 <tr class="memitem:abe0b7b2a0ec4b64b92585808a051e1fa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#abe0b7b2a0ec4b64b92585808a051e1fa">SLEEP_TIME</a>   200 /* (us) */</td></tr>
128 <tr class="separator:abe0b7b2a0ec4b64b92585808a051e1fa"><td class="memSeparator" colspan="2"> </td></tr>
129 <tr class="memitem:adc4a14c073a7427003796cbd9d435758"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#adc4a14c073a7427003796cbd9d435758">BCAST</a>   {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}</td></tr>
130 <tr class="separator:adc4a14c073a7427003796cbd9d435758"><td class="memSeparator" colspan="2"> </td></tr>
131 <tr class="memitem:a9df4578d38d6affa477914e529695e10"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a9df4578d38d6affa477914e529695e10">TX_TIMER_INTERVAL</a>   ((rte_get_timer_hz() / 1000000000L)*interval_us*1000) /* nanosec */</td></tr>
132 <tr class="separator:a9df4578d38d6affa477914e529695e10"><td class="memSeparator" colspan="2"> </td></tr>
133 <tr class="memitem:a2b97f9f2ff76cb92d7f3831918979e56"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a2b97f9f2ff76cb92d7f3831918979e56">TX_RX_LOOP_TIME</a>   rte_get_timer_hz() / 1</td></tr>
134 <tr class="separator:a2b97f9f2ff76cb92d7f3831918979e56"><td class="memSeparator" colspan="2"> </td></tr>
135 </table><table class="memberdecls">
136 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
137 Typedefs</h2></td></tr>
138 <tr class="memitem:a8f1b290228ee37b3a5ea2282aded6664"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a8f1b290228ee37b3a5ea2282aded6664">PROCESS_CB</a>) (void *arg)</td></tr>
139 <tr class="separator:a8f1b290228ee37b3a5ea2282aded6664"><td class="memSeparator" colspan="2"> </td></tr>
140 <tr class="memitem:a3f3cb6ac70cce2db8234669b745b4538"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a3f3cb6ac70cce2db8234669b745b4538">xran_ethdi_handler</a>) (struct rte_mbuf *, int sender, uint64_t rx_time)</td></tr>
141 <tr class="separator:a3f3cb6ac70cce2db8234669b745b4538"><td class="memSeparator" colspan="2"> </td></tr>
142 <tr class="memitem:a7c379f4a70692477327fb1a3538cfd1e"><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a>) (struct rte_mbuf *, uint64_t rx_time)</td></tr>
143 <tr class="separator:a7c379f4a70692477327fb1a3538cfd1e"><td class="memSeparator" colspan="2"> </td></tr>
144 <tr class="memitem:abdeeae19de30cfa3120005562b0c4588"><td class="memItemLeft" align="right" valign="top">typedef void() </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#abdeeae19de30cfa3120005562b0c4588">xran_ethdi_tx_callback</a>(struct rte_timer *tim, void *arg)</td></tr>
145 <tr class="separator:abdeeae19de30cfa3120005562b0c4588"><td class="memSeparator" colspan="2"> </td></tr>
146 </table><table class="memberdecls">
147 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
148 Enumerations</h2></td></tr>
149 <tr class="memitem:a400519d4f3774fc47bc51223a4e3e1b4"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4">xran_ping_states</a> { <a class="el" href="ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a10b65ee0f4ee1fa197fcc2171d53a988">PING_IDLE</a>,
150 <a class="el" href="ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a5a397770156c4176fc6a845070313c31">PING_NEEDED</a>,
151 <a class="el" href="ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4a626bfa1d39d92be95dde42f08ec88ef1">AWAITING_PONG</a>
153 <tr class="separator:a400519d4f3774fc47bc51223a4e3e1b4"><td class="memSeparator" colspan="2"> </td></tr>
154 <tr class="memitem:a08bfa37a0c337e82469d07cac15fd22b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22b">xran_ethdi_vf_ports</a> { <a class="el" href="ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22bad26902fd68760130ecf75d5ec52a027d">ETHDI_UP_VF</a> = 0,
155 <a class="el" href="ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22bafd65206af3962a0d333f6bf4456b8c11">ETHDI_CP_VF</a>,
156 <a class="el" href="ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22ba6f2e27be6beca5899e45e8ebade5216d">ETHDI_VF_MAX</a>
158 <tr class="separator:a08bfa37a0c337e82469d07cac15fd22b"><td class="memSeparator" colspan="2"> </td></tr>
159 <tr class="memitem:a0e36dceadaee8cb4907cd2110d135851"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851">xran_entities_id</a> { <a class="el" href="ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851adb43d55990f322d26e5cdd13ae5df1c1">ID_LLS_CU</a>,
160 <a class="el" href="ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851ac45a8e08bb429947dc63349e955829f9">ID_RU</a>,
161 <a class="el" href="ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851ac960a8651dfedb74f745d26695fcc844">ID_BROADCAST</a>,
162 <a class="el" href="ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851a04d25c2b2f0416a3d9ac9c75b10d017e">ID_MAX</a>
164 <tr class="separator:a0e36dceadaee8cb4907cd2110d135851"><td class="memSeparator" colspan="2"> </td></tr>
165 <tr class="memitem:a39fca1837c5ce7715cbf571669660c13"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="ethdi_8h.html#a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5">MBUF_KEEP</a>,
166 <a class="el" href="ethdi_8h.html#a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769">MBUF_FREE</a>
168 <tr class="separator:a39fca1837c5ce7715cbf571669660c13"><td class="memSeparator" colspan="2"> </td></tr>
169 </table><table class="memberdecls">
170 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
171 Functions</h2></td></tr>
172 <tr class="memitem:a69c763967ba7e28c4a589ce624c226ff"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.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>
173 <tr class="separator:a69c763967ba7e28c4a589ce624c226ff"><td class="memSeparator" colspan="2"> </td></tr>
174 <tr class="memitem:a97dcf8200aebed714f47764c302a06b5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.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>
175 <tr class="separator:a97dcf8200aebed714f47764c302a06b5"><td class="memSeparator" colspan="2"> </td></tr>
176 <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_8h.html#a77f0a4b49dc21be816aefa3066debfa7">xran_ethdi_mbuf_alloc</a> (void)</td></tr>
177 <tr class="separator:a77f0a4b49dc21be816aefa3066debfa7"><td class="memSeparator" colspan="2"> </td></tr>
178 <tr class="memitem:ab6a05b3b37887e49b0017e1668317829"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.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>
179 <tr class="separator:ab6a05b3b37887e49b0017e1668317829"><td class="memSeparator" colspan="2"> </td></tr>
180 <tr class="memitem:ab8a8c592ac06111ce690ab5a6207a6eb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.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>
181 <tr class="separator:ab8a8c592ac06111ce690ab5a6207a6eb"><td class="memSeparator" colspan="2"> </td></tr>
182 <tr class="memitem:af110b40ee89935ebe18d65ef84de1359"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#af110b40ee89935ebe18d65ef84de1359">xran_ethdi_filter_packet</a> (struct rte_mbuf *pkt, uint64_t rx_time)</td></tr>
183 <tr class="separator:af110b40ee89935ebe18d65ef84de1359"><td class="memSeparator" colspan="2"> </td></tr>
184 <tr class="memitem:ae5cd564d3dc5eb89dbe0dd1fa105b645"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#ae5cd564d3dc5eb89dbe0dd1fa105b645">process_dpdk_io</a> (void)</td></tr>
185 <tr class="separator:ae5cd564d3dc5eb89dbe0dd1fa105b645"><td class="memSeparator" colspan="2"> </td></tr>
186 </table><table class="memberdecls">
187 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
188 Variables</h2></td></tr>
189 <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_8h.html#aef5f52e6a4f49171518a59382eb03df5">xran_if_current_state</a></td></tr>
190 <tr class="separator:aef5f52e6a4f49171518a59382eb03df5"><td class="memSeparator" colspan="2"> </td></tr>
191 <tr class="memitem:a6cf5d5256dc316f01943cc2850cff44c"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a6cf5d5256dc316f01943cc2850cff44c">ping_dst_id</a></td></tr>
192 <tr class="separator:a6cf5d5256dc316f01943cc2850cff44c"><td class="memSeparator" colspan="2"> </td></tr>
193 <tr class="memitem:a061420dc29ec42fb222295d9496edbf7"><td class="memItemLeft" align="right" valign="top">struct ether_addr </td><td class="memItemRight" valign="bottom"><a class="el" href="ethdi_8h.html#a061420dc29ec42fb222295d9496edbf7">entities_addrs</a> []</td></tr>
194 <tr class="separator:a061420dc29ec42fb222295d9496edbf7"><td class="memSeparator" colspan="2"> </td></tr>
196 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
197 <div class="textblock"><p>This file has all definitions for the Ethernet Data Interface Layer. </p>
198 <dl class="section author"><dt>Author</dt><dd>Intel Corporation </dd></dl>
200 <p class="definition">Definition in file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
201 </div><h2 class="groupheader">Macro Definition Documentation</h2>
202 <a id="adc4a14c073a7427003796cbd9d435758"></a>
203 <h2 class="memtitle"><span class="permalink"><a href="#adc4a14c073a7427003796cbd9d435758">◆ </a></span>BCAST</h2>
205 <div class="memitem">
206 <div class="memproto">
207 <table class="memname">
209 <td class="memname">#define BCAST   {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}</td>
212 </div><div class="memdoc">
214 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00062">62</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
218 <a id="a5a5cdcb25b0580324b2cfaa1cad7073c"></a>
219 <h2 class="memtitle"><span class="permalink"><a href="#a5a5cdcb25b0580324b2cfaa1cad7073c">◆ </a></span>PING_BUSY_POLL</h2>
221 <div class="memitem">
222 <div class="memproto">
223 <table class="memname">
225 <td class="memname">#define PING_BUSY_POLL   50 /* (us) how long to actively wait <a class="el" href="gen__test_8m.html#af3108abdfc7dbfa64896900ace74b015">for</a> response */</td>
228 </div><div class="memdoc">
230 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00056">56</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
234 <a id="ae138d10c7cd4199e5e96377ff1f8e317"></a>
235 <h2 class="memtitle"><span class="permalink"><a href="#ae138d10c7cd4199e5e96377ff1f8e317">◆ </a></span>PING_INTERVAL</h2>
237 <div class="memitem">
238 <div class="memproto">
239 <table class="memname">
241 <td class="memname">#define PING_INTERVAL   300 /* (us) */</td>
244 </div><div class="memdoc">
246 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00055">55</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
250 <a id="abe0b7b2a0ec4b64b92585808a051e1fa"></a>
251 <h2 class="memtitle"><span class="permalink"><a href="#abe0b7b2a0ec4b64b92585808a051e1fa">◆ </a></span>SLEEP_TIME</h2>
253 <div class="memitem">
254 <div class="memproto">
255 <table class="memname">
257 <td class="memname">#define SLEEP_TIME   200 /* (us) */</td>
260 </div><div class="memdoc">
262 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00061">61</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
266 <a id="a2b97f9f2ff76cb92d7f3831918979e56"></a>
267 <h2 class="memtitle"><span class="permalink"><a href="#a2b97f9f2ff76cb92d7f3831918979e56">◆ </a></span>TX_RX_LOOP_TIME</h2>
269 <div class="memitem">
270 <div class="memproto">
271 <table class="memname">
273 <td class="memname">#define TX_RX_LOOP_TIME   rte_get_timer_hz() / 1</td>
276 </div><div class="memdoc">
278 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00065">65</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
282 <a id="a9df4578d38d6affa477914e529695e10"></a>
283 <h2 class="memtitle"><span class="permalink"><a href="#a9df4578d38d6affa477914e529695e10">◆ </a></span>TX_TIMER_INTERVAL</h2>
285 <div class="memitem">
286 <div class="memproto">
287 <table class="memname">
289 <td class="memname">#define TX_TIMER_INTERVAL   ((rte_get_timer_hz() / 1000000000L)*interval_us*1000) /* nanosec */</td>
292 </div><div class="memdoc">
294 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00064">64</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
298 <a id="a3822681248af17c36115a411e29e5fc2"></a>
299 <h2 class="memtitle"><span class="permalink"><a href="#a3822681248af17c36115a411e29e5fc2">◆ </a></span>XRAN_THREAD_DEFAULT_PRIO</h2>
301 <div class="memitem">
302 <div class="memproto">
303 <table class="memname">
305 <td class="memname">#define XRAN_THREAD_DEFAULT_PRIO   (98)</td>
308 </div><div class="memdoc">
310 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00052">52</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
314 <h2 class="groupheader">Typedef Documentation</h2>
315 <a id="a7c379f4a70692477327fb1a3538cfd1e"></a>
316 <h2 class="memtitle"><span class="permalink"><a href="#a7c379f4a70692477327fb1a3538cfd1e">◆ </a></span>ethertype_handler</h2>
318 <div class="memitem">
319 <div class="memproto">
320 <table class="memname">
322 <td class="memname">typedef int(* ethertype_handler) (struct rte_mbuf *, uint64_t rx_time)</td>
325 </div><div class="memdoc">
327 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00152">152</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
331 <a id="a8f1b290228ee37b3a5ea2282aded6664"></a>
332 <h2 class="memtitle"><span class="permalink"><a href="#a8f1b290228ee37b3a5ea2282aded6664">◆ </a></span>PROCESS_CB</h2>
334 <div class="memitem">
335 <div class="memproto">
336 <table class="memname">
338 <td class="memname">typedef int(* PROCESS_CB) (void *arg)</td>
341 </div><div class="memdoc">
343 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00109">109</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
347 <a id="a3f3cb6ac70cce2db8234669b745b4538"></a>
348 <h2 class="memtitle"><span class="permalink"><a href="#a3f3cb6ac70cce2db8234669b745b4538">◆ </a></span>xran_ethdi_handler</h2>
350 <div class="memitem">
351 <div class="memproto">
352 <table class="memname">
354 <td class="memname">typedef int(* xran_ethdi_handler)(struct rte_mbuf *, int sender, uint64_t rx_time)</td>
357 </div><div class="memdoc">
359 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00150">150</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
363 <a id="abdeeae19de30cfa3120005562b0c4588"></a>
364 <h2 class="memtitle"><span class="permalink"><a href="#abdeeae19de30cfa3120005562b0c4588">◆ </a></span>xran_ethdi_tx_callback</h2>
366 <div class="memitem">
367 <div class="memproto">
368 <table class="memname">
370 <td class="memname">typedef void() xran_ethdi_tx_callback(struct rte_timer *tim, void *arg)</td>
373 </div><div class="memdoc">
375 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00154">154</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
379 <h2 class="groupheader">Enumeration Type Documentation</h2>
380 <a id="a39fca1837c5ce7715cbf571669660c13"></a>
381 <h2 class="memtitle"><span class="permalink"><a href="#a39fca1837c5ce7715cbf571669660c13">◆ </a></span>anonymous enum</h2>
383 <div class="memitem">
384 <div class="memproto">
385 <table class="memname">
387 <td class="memname">anonymous enum</td>
390 </div><div class="memdoc">
391 <table class="fieldtable">
392 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a39fca1837c5ce7715cbf571669660c13a5c8f213f6ff879119c23ec38c63a54e5"></a>MBUF_KEEP </td><td class="fielddoc"></td></tr>
393 <tr><td class="fieldname"><a id="a39fca1837c5ce7715cbf571669660c13a90bbe176be23902fec1de76501599769"></a>MBUF_FREE </td><td class="fielddoc"></td></tr>
396 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00135">135</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
400 <a id="a0e36dceadaee8cb4907cd2110d135851"></a>
401 <h2 class="memtitle"><span class="permalink"><a href="#a0e36dceadaee8cb4907cd2110d135851">◆ </a></span>xran_entities_id</h2>
403 <div class="memitem">
404 <div class="memproto">
405 <table class="memname">
407 <td class="memname">enum <a class="el" href="ethdi_8h.html#a0e36dceadaee8cb4907cd2110d135851">xran_entities_id</a></td>
410 </div><div class="memdoc">
411 <table class="fieldtable">
412 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0e36dceadaee8cb4907cd2110d135851adb43d55990f322d26e5cdd13ae5df1c1"></a>ID_LLS_CU </td><td class="fielddoc"></td></tr>
413 <tr><td class="fieldname"><a id="a0e36dceadaee8cb4907cd2110d135851ac45a8e08bb429947dc63349e955829f9"></a>ID_RU </td><td class="fielddoc"></td></tr>
414 <tr><td class="fieldname"><a id="a0e36dceadaee8cb4907cd2110d135851ac960a8651dfedb74f745d26695fcc844"></a>ID_BROADCAST </td><td class="fielddoc"></td></tr>
415 <tr><td class="fieldname"><a id="a0e36dceadaee8cb4907cd2110d135851a04d25c2b2f0416a3d9ac9c75b10d017e"></a>ID_MAX </td><td class="fielddoc"></td></tr>
418 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00096">96</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
422 <a id="a08bfa37a0c337e82469d07cac15fd22b"></a>
423 <h2 class="memtitle"><span class="permalink"><a href="#a08bfa37a0c337e82469d07cac15fd22b">◆ </a></span>xran_ethdi_vf_ports</h2>
425 <div class="memitem">
426 <div class="memproto">
427 <table class="memname">
429 <td class="memname">enum <a class="el" href="ethdi_8h.html#a08bfa37a0c337e82469d07cac15fd22b">xran_ethdi_vf_ports</a></td>
432 </div><div class="memdoc">
433 <table class="fieldtable">
434 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a08bfa37a0c337e82469d07cac15fd22bad26902fd68760130ecf75d5ec52a027d"></a>ETHDI_UP_VF </td><td class="fielddoc"></td></tr>
435 <tr><td class="fieldname"><a id="a08bfa37a0c337e82469d07cac15fd22bafd65206af3962a0d333f6bf4456b8c11"></a>ETHDI_CP_VF </td><td class="fielddoc"></td></tr>
436 <tr><td class="fieldname"><a id="a08bfa37a0c337e82469d07cac15fd22ba6f2e27be6beca5899e45e8ebade5216d"></a>ETHDI_VF_MAX </td><td class="fielddoc"></td></tr>
439 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00074">74</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
443 <a id="a400519d4f3774fc47bc51223a4e3e1b4"></a>
444 <h2 class="memtitle"><span class="permalink"><a href="#a400519d4f3774fc47bc51223a4e3e1b4">◆ </a></span>xran_ping_states</h2>
446 <div class="memitem">
447 <div class="memproto">
448 <table class="memname">
450 <td class="memname">enum <a class="el" href="ethdi_8h.html#a400519d4f3774fc47bc51223a4e3e1b4">xran_ping_states</a></td>
453 </div><div class="memdoc">
454 <table class="fieldtable">
455 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a400519d4f3774fc47bc51223a4e3e1b4a10b65ee0f4ee1fa197fcc2171d53a988"></a>PING_IDLE </td><td class="fielddoc"></td></tr>
456 <tr><td class="fieldname"><a id="a400519d4f3774fc47bc51223a4e3e1b4a5a397770156c4176fc6a845070313c31"></a>PING_NEEDED </td><td class="fielddoc"></td></tr>
457 <tr><td class="fieldname"><a id="a400519d4f3774fc47bc51223a4e3e1b4a626bfa1d39d92be95dde42f08ec88ef1"></a>AWAITING_PONG </td><td class="fielddoc"></td></tr>
460 <p class="definition">Definition at line <a class="el" href="ethdi_8h_source.html#l00067">67</a> of file <a class="el" href="ethdi_8h_source.html">ethdi.h</a>.</p>
464 <h2 class="groupheader">Function Documentation</h2>
465 <a id="ae5cd564d3dc5eb89dbe0dd1fa105b645"></a>
466 <h2 class="memtitle"><span class="permalink"><a href="#ae5cd564d3dc5eb89dbe0dd1fa105b645">◆ </a></span>process_dpdk_io()</h2>
468 <div class="memitem">
469 <div class="memproto">
470 <table class="memname">
472 <td class="memname">int32_t process_dpdk_io </td>
474 <td class="paramtype">void </td>
475 <td class="paramname"></td><td>)</td>
479 </div><div class="memdoc">
481 <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>
485 <a id="af110b40ee89935ebe18d65ef84de1359"></a>
486 <h2 class="memtitle"><span class="permalink"><a href="#af110b40ee89935ebe18d65ef84de1359">◆ </a></span>xran_ethdi_filter_packet()</h2>
488 <div class="memitem">
489 <div class="memproto">
490 <table class="memname">
492 <td class="memname">int xran_ethdi_filter_packet </td>
494 <td class="paramtype">struct rte_mbuf * </td>
495 <td class="paramname"><em>pkt</em>, </td>
498 <td class="paramkey"></td>
500 <td class="paramtype">uint64_t </td>
501 <td class="paramname"><em>rx_time</em> </td>
509 </div><div class="memdoc">
511 <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>
512 <div class="dynheader">
513 Here is the caller graph for this function:</div>
514 <div class="dyncontent">
515 <div class="center"><img src="ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph.png" border="0" usemap="#ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph" alt=""/></div>
516 <map name="ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph" id="ethdi_8h_af110b40ee89935ebe18d65ef84de1359_icgraph">
517 <area shape="rect" id="node2" href="xran__common_8h.html#a4e156a8a72cc16b05c6ad0532df4e75a" title="process_ring" alt="" coords="213,5,309,32"/>
523 <a id="a97dcf8200aebed714f47764c302a06b5"></a>
524 <h2 class="memtitle"><span class="permalink"><a href="#a97dcf8200aebed714f47764c302a06b5">◆ </a></span>xran_ethdi_init_dpdk_io()</h2>
526 <div class="memitem">
527 <div class="memproto">
528 <table class="memname">
530 <td class="memname">int xran_ethdi_init_dpdk_io </td>
532 <td class="paramtype">char * </td>
533 <td class="paramname"><em>name</em>, </td>
536 <td class="paramkey"></td>
538 <td class="paramtype">const struct <a class="el" href="structxran__io__loop__cfg.html">xran_io_loop_cfg</a> * </td>
539 <td class="paramname"><em>io_cfg</em>, </td>
542 <td class="paramkey"></td>
544 <td class="paramtype">int * </td>
545 <td class="paramname"><em>lcore_id</em>, </td>
548 <td class="paramkey"></td>
550 <td class="paramtype">struct ether_addr * </td>
551 <td class="paramname"><em>p_lls_cu_addr</em>, </td>
554 <td class="paramkey"></td>
556 <td class="paramtype">struct ether_addr * </td>
557 <td class="paramname"><em>p_ru_addr</em>, </td>
560 <td class="paramkey"></td>
562 <td class="paramtype">uint16_t </td>
563 <td class="paramname"><em>cp_vlan</em>, </td>
566 <td class="paramkey"></td>
568 <td class="paramtype">uint16_t </td>
569 <td class="paramname"><em>up_vlan</em> </td>
577 </div><div class="memdoc">
579 <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>
580 <div class="dynheader">
581 Here is the caller graph for this function:</div>
582 <div class="dyncontent">
583 <div class="center"><img src="ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph.png" border="0" usemap="#ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph" alt=""/></div>
584 <map name="ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph" id="ethdi_8h_a97dcf8200aebed714f47764c302a06b5_icgraph">
585 <area shape="rect" id="node2" href="xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952" title="xran_init" alt="" coords="212,5,283,32"/>
586 <area shape="rect" id="node3" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="331,5,481,32"/>
592 <a id="a77f0a4b49dc21be816aefa3066debfa7"></a>
593 <h2 class="memtitle"><span class="permalink"><a href="#a77f0a4b49dc21be816aefa3066debfa7">◆ </a></span>xran_ethdi_mbuf_alloc()</h2>
595 <div class="memitem">
596 <div class="memproto">
597 <table class="memname">
599 <td class="memname">struct rte_mbuf* xran_ethdi_mbuf_alloc </td>
601 <td class="paramtype">void </td>
602 <td class="paramname"></td><td>)</td>
606 </div><div class="memdoc">
608 <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>
609 <div class="dynheader">
610 Here is the caller graph for this function:</div>
611 <div class="dyncontent">
612 <div class="center"><img src="ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph.png" border="0" usemap="#ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph" alt=""/></div>
613 <map name="ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph" id="ethdi_8h_a77f0a4b49dc21be816aefa3066debfa7_icgraph">
614 <area shape="rect" id="node2" href="class_c__plane.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="C_plane::SetUp" alt="" coords="208,5,323,32"/>
615 <area shape="rect" id="node3" href="xran__common_8h.html#ab67b9cc6e54d8ba3945b265b47af743c" title="send_symbol_ex" alt="" coords="205,56,325,83"/>
621 <a id="ab6a05b3b37887e49b0017e1668317829"></a>
622 <h2 class="memtitle"><span class="permalink"><a href="#ab6a05b3b37887e49b0017e1668317829">◆ </a></span>xran_ethdi_mbuf_send()</h2>
624 <div class="memitem">
625 <div class="memproto">
626 <table class="memname">
628 <td class="memname">int xran_ethdi_mbuf_send </td>
630 <td class="paramtype">struct rte_mbuf * </td>
631 <td class="paramname"><em>mb</em>, </td>
634 <td class="paramkey"></td>
636 <td class="paramtype">uint16_t </td>
637 <td class="paramname"><em>ethertype</em> </td>
645 </div><div class="memdoc">
647 <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>
651 <a id="ab8a8c592ac06111ce690ab5a6207a6eb"></a>
652 <h2 class="memtitle"><span class="permalink"><a href="#ab8a8c592ac06111ce690ab5a6207a6eb">◆ </a></span>xran_ethdi_mbuf_send_cp()</h2>
654 <div class="memitem">
655 <div class="memproto">
656 <table class="memname">
658 <td class="memname">int xran_ethdi_mbuf_send_cp </td>
660 <td class="paramtype">struct rte_mbuf * </td>
661 <td class="paramname"><em>mb</em>, </td>
664 <td class="paramkey"></td>
666 <td class="paramtype">uint16_t </td>
667 <td class="paramname"><em>ethertype</em> </td>
675 </div><div class="memdoc">
677 <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>
681 <a id="a69c763967ba7e28c4a589ce624c226ff"></a>
682 <h2 class="memtitle"><span class="permalink"><a href="#a69c763967ba7e28c4a589ce624c226ff">◆ </a></span>xran_register_ethertype_handler()</h2>
684 <div class="memitem">
685 <div class="memproto">
686 <table class="memname">
688 <td class="memname">int xran_register_ethertype_handler </td>
690 <td class="paramtype">uint16_t </td>
691 <td class="paramname"><em>ethertype</em>, </td>
694 <td class="paramkey"></td>
696 <td class="paramtype"><a class="el" href="ethdi_8h.html#a7c379f4a70692477327fb1a3538cfd1e">ethertype_handler</a> </td>
697 <td class="paramname"><em>callback</em> </td>
705 </div><div class="memdoc">
707 <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>
708 <div class="dynheader">
709 Here is the caller graph for this function:</div>
710 <div class="dyncontent">
711 <div class="center"><img src="ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph.png" border="0" usemap="#ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph" alt=""/></div>
712 <map name="ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph" id="ethdi_8h_a69c763967ba7e28c4a589ce624c226ff_icgraph">
713 <area shape="rect" id="node2" href="xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952" title="xran_init" alt="" coords="212,13,283,39"/>
714 <area shape="rect" id="node3" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="331,13,481,39"/>
720 <h2 class="groupheader">Variable Documentation</h2>
721 <a id="a061420dc29ec42fb222295d9496edbf7"></a>
722 <h2 class="memtitle"><span class="permalink"><a href="#a061420dc29ec42fb222295d9496edbf7">◆ </a></span>entities_addrs</h2>
724 <div class="memitem">
725 <div class="memproto">
726 <table class="memname">
728 <td class="memname">struct ether_addr entities_addrs[]</td>
731 </div><div class="memdoc">
735 <a id="a6cf5d5256dc316f01943cc2850cff44c"></a>
736 <h2 class="memtitle"><span class="permalink"><a href="#a6cf5d5256dc316f01943cc2850cff44c">◆ </a></span>ping_dst_id</h2>
738 <div class="memitem">
739 <div class="memproto">
740 <table class="memname">
742 <td class="memname">uint8_t ping_dst_id</td>
745 </div><div class="memdoc">
749 <a id="aef5f52e6a4f49171518a59382eb03df5"></a>
750 <h2 class="memtitle"><span class="permalink"><a href="#aef5f52e6a4f49171518a59382eb03df5">◆ </a></span>xran_if_current_state</h2>
752 <div class="memitem">
753 <div class="memproto">
754 <table class="memname">
756 <td class="memname">enum <a class="el" href="xran__fh__o__du_8h.html#a2f600110ab5726a0f21375b7f24c0326">xran_if_state</a> xran_if_current_state</td>
759 </div><div class="memdoc">
761 <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>
765 </div><!-- contents -->
766 <!-- start footer part -->
767 <hr class="footer"/><address class="footer"><small>
768 Generated by  <a href="http://www.doxygen.org/index.html">
769 <img class="footer" src="doxygen.png" alt="doxygen"/>