add Doxygen documentation
[o-du/phy.git] / docs / API / xran__transport_8h.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: xran_transport.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" />
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_7b477aa413287cfa2199e983b77d66dd.html">api</a></li>  </ul>
63 </div>
64 </div><!-- top -->
65 <div class="header">
66   <div class="summary">
67 <a href="#nested-classes">Data Structures</a> &#124;
68 <a href="#func-members">Functions</a>  </div>
69   <div class="headertitle">
70 <div class="title">xran_transport.h File Reference</div>  </div>
71 </div><!--header-->
72 <div class="contents">
73
74 <p>This file provides the definitions for Transport layer (eCPRI) API.  
75 <a href="#details">More...</a></p>
76 <div class="textblock"><code>#include &lt;rte_common.h&gt;</code><br />
77 <code>#include &lt;rte_mbuf.h&gt;</code><br />
78 <code>#include &quot;<a class="el" href="xran__pkt_8h_source.html">xran_pkt.h</a>&quot;</code><br />
79 </div><div class="textblock"><div class="dynheader">
80 Include dependency graph for xran_transport.h:</div>
81 <div class="dyncontent">
82 <div class="center"><img src="xran__transport_8h__incl.png" border="0" usemap="#xran__transport_8h" alt=""/></div>
83 <map name="xran__transport_8h" id="xran__transport_8h">
84 <area shape="rect" id="node4" href="xran__pkt_8h.html" title="Definitions and support functions to process XRAN packet. " alt="" coords="170,80,253,107"/>
85 </map>
86 </div>
87 </div><div class="textblock"><div class="dynheader">
88 This graph shows which files directly or indirectly include this file:</div>
89 <div class="dyncontent">
90 <div class="center"><img src="xran__transport_8h__dep__incl.png" border="0" usemap="#xran__transport_8hdep" alt=""/></div>
91 <map name="xran__transport_8hdep" id="xran__transport_8hdep">
92 <area shape="rect" id="node2" href="xran__cp__api_8h.html" title="This file provides the definitions for Control Plane Messages APIs. " alt="" coords="1116,80,1218,107"/>
93 <area shape="rect" id="node10" href="xran__cp__api_8c.html" title="This file provides the API functions to build Control Plane Messages for XRAN Front Haul layer as def..." alt="" coords="1922,229,2025,256"/>
94 <area shape="rect" id="node12" href="xran__transport_8c.html" title="This file provides the implementation for Transport lyaer (eCPRI) API. " alt="" coords="409,229,525,256"/>
95 <area shape="rect" id="node16" href="c__plane__tests_8cc.html" title="c_plane_tests.cc" alt="" coords="432,304,553,331"/>
96 <area shape="rect" id="node17" href="chain__tests_8cc.html" title="chain_tests.cc" alt="" coords="1823,304,1930,331"/>
97 <area shape="rect" id="node19" href="prach__functional_8cc.html" title="prach_functional.cc" alt="" coords="198,229,333,256"/>
98 <area shape="rect" id="node20" href="prach__performance_8cc.html" title="prach_performance.cc" alt="" coords="24,229,174,256"/>
99 <area shape="rect" id="node23" href="xran__up__api_8c.html" title="This file provides the implementation of User Plane Messages APIs. " alt="" coords="2152,80,2254,107"/>
100 <area shape="rect" id="node3" href="common_8c.html" title="common.c" alt="" coords="1492,155,1575,181"/>
101 <area shape="rect" id="node4" href="sample-app_8c.html" title="sample&#45;app.c" alt="" coords="1600,155,1700,181"/>
102 <area shape="rect" id="node5" href="xran__app__frag_8h.html" title="Header file for functions to perform application level fragmentation. " alt="" coords="1252,155,1367,181"/>
103 <area shape="rect" id="node6" href="xran__app__frag_8c.html" title="xRAN application frgamentation for U&#45;plane packets " alt="" coords="1666,229,1780,256"/>
104 <area shape="rect" id="node7" href="xran__main_8c.html" title="XRAN main functionality module. " alt="" coords="1804,229,1898,256"/>
105 <area shape="rect" id="node8" href="xran__common_8h.html" title="XRAN layer common functionality for both lls&#45;CU and RU as well as C&#45;plane and U&#45;plane. " alt="" coords="1063,155,1178,181"/>
106 <area shape="rect" id="node18" href="init__sys__functional_8cc.html" title="init_sys_functional.cc" alt="" coords="952,304,1100,331"/>
107 <area shape="rect" id="node9" href="xran__common_8c.html" title="XRAN layer common functionality for both O&#45;DU and O&#45;RU as well as C&#45;plane and U&#45;plane. " alt="" coords="1063,229,1178,256"/>
108 <area shape="rect" id="node11" href="xran__timer_8c.html" title="This file provides implementation to Timing for XRAN. " alt="" coords="1202,229,1297,256"/>
109 <area shape="rect" id="node13" href="xran__ul__tables_8c.html" title="This file defines those table used in 5G NR spec. " alt="" coords="1322,229,1439,256"/>
110 <area shape="rect" id="node14" href="xran__lib__wrap_8hpp.html" title="xran_lib_wrap.hpp" alt="" coords="1464,229,1590,256"/>
111 <area shape="rect" id="node21" href="u__plane__functional_8cc.html" title="u_plane_functional.cc" alt="" coords="652,229,800,256"/>
112 <area shape="rect" id="node22" href="u__plane__performance_8cc.html" title="u_plane_performance.cc" alt="" coords="824,229,988,256"/>
113 <area shape="rect" id="node15" href="xranlib__unit__test__main_8cc.html" title="xranlib_unit_test_main.cc" alt="" coords="1442,304,1612,331"/>
114 </map>
115 </div>
116 </div>
117 <p><a href="xran__transport_8h_source.html">Go to the source code of this file.</a></p>
118 <table class="memberdecls">
119 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
120 Data Structures</h2></td></tr>
121 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__eaxc__info.html">xran_eaxc_info</a></td></tr>
122 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
123 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxran__recv__packet__info.html">xran_recv_packet_info</a></td></tr>
124 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
125 </table><table class="memberdecls">
126 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
127 Functions</h2></td></tr>
128 <tr class="memitem:a0f378609208ec66467c58f0702ced85c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8h.html#a0f378609208ec66467c58f0702ced85c">xran_get_ecpri_hdr_size</a> (void)</td></tr>
129 <tr class="memdesc:a0f378609208ec66467c58f0702ced85c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return eCPRI header size without eCPRI common header  <a href="#a0f378609208ec66467c58f0702ced85c">More...</a><br /></td></tr>
130 <tr class="separator:a0f378609208ec66467c58f0702ced85c"><td class="memSeparator" colspan="2">&#160;</td></tr>
131 <tr class="memitem:a7070bae58b40a4621354bda1677261af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8h.html#a7070bae58b40a4621354bda1677261af">xran_update_ecpri_payload_size</a> (struct rte_mbuf *mbuf, int size)</td></tr>
132 <tr class="memdesc:a7070bae58b40a4621354bda1677261af"><td class="mdescLeft">&#160;</td><td class="mdescRight">modify the payload size of eCPRI header in xRAN packet  <a href="#a7070bae58b40a4621354bda1677261af">More...</a><br /></td></tr>
133 <tr class="separator:a7070bae58b40a4621354bda1677261af"><td class="memSeparator" colspan="2">&#160;</td></tr>
134 <tr class="memitem:ae834080139ba785f1a3ac5781bf2ec88"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8h.html#ae834080139ba785f1a3ac5781bf2ec88">xran_compose_cid</a> (uint8_t CU_Port_ID, uint8_t BandSector_ID, uint8_t CC_ID, uint8_t Ant_ID)</td></tr>
135 <tr class="memdesc:ae834080139ba785f1a3ac5781bf2ec88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compose ecpriRtcid/ecpriPcid.  <a href="#ae834080139ba785f1a3ac5781bf2ec88">More...</a><br /></td></tr>
136 <tr class="separator:ae834080139ba785f1a3ac5781bf2ec88"><td class="memSeparator" colspan="2">&#160;</td></tr>
137 <tr class="memitem:ab08a85b6527f45a9ba22d25061a96a3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8h.html#ab08a85b6527f45a9ba22d25061a96a3c">xran_decompose_cid</a> (uint16_t cid, struct <a class="el" href="structxran__eaxc__info.html">xran_eaxc_info</a> *result)</td></tr>
138 <tr class="memdesc:ab08a85b6527f45a9ba22d25061a96a3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompose ecpriRtcid/ecpriPcid.  <a href="#ab08a85b6527f45a9ba22d25061a96a3c">More...</a><br /></td></tr>
139 <tr class="separator:ab08a85b6527f45a9ba22d25061a96a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
140 <tr class="memitem:aa21387dfaba47c2046d4a05f50cfc768"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8h.html#aa21387dfaba47c2046d4a05f50cfc768">xran_build_ecpri_hdr</a> (struct rte_mbuf *mbuf, uint8_t CC_ID, uint8_t Ant_ID, uint8_t seq_id, struct <a class="el" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> **ecpri_hdr)</td></tr>
141 <tr class="memdesc:aa21387dfaba47c2046d4a05f50cfc768"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build ECPRI header and returns added length.  <a href="#aa21387dfaba47c2046d4a05f50cfc768">More...</a><br /></td></tr>
142 <tr class="separator:aa21387dfaba47c2046d4a05f50cfc768"><td class="memSeparator" colspan="2">&#160;</td></tr>
143 <tr class="memitem:ad199c3f4bfa018f5d0846471206217d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xran__transport_8h.html#ad199c3f4bfa018f5d0846471206217d1">xran_parse_ecpri_hdr</a> (struct rte_mbuf *mbuf, struct <a class="el" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> **ecpri_hdr, struct <a class="el" href="structxran__recv__packet__info.html">xran_recv_packet_info</a> *pkt_info)</td></tr>
144 <tr class="memdesc:ad199c3f4bfa018f5d0846471206217d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse ECPRI header.  <a href="#ad199c3f4bfa018f5d0846471206217d1">More...</a><br /></td></tr>
145 <tr class="separator:ad199c3f4bfa018f5d0846471206217d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
146 </table>
147 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
148 <div class="textblock"><p>This file provides the definitions for Transport layer (eCPRI) API. </p>
149 <dl class="section author"><dt>Author</dt><dd>Intel Corporation </dd></dl>
150
151 <p class="definition">Definition in file <a class="el" href="xran__transport_8h_source.html">xran_transport.h</a>.</p>
152 </div><h2 class="groupheader">Function Documentation</h2>
153 <a id="aa21387dfaba47c2046d4a05f50cfc768"></a>
154 <h2 class="memtitle"><span class="permalink"><a href="#aa21387dfaba47c2046d4a05f50cfc768">&#9670;&nbsp;</a></span>xran_build_ecpri_hdr()</h2>
155
156 <div class="memitem">
157 <div class="memproto">
158       <table class="memname">
159         <tr>
160           <td class="memname">int xran_build_ecpri_hdr </td>
161           <td>(</td>
162           <td class="paramtype">struct rte_mbuf *&#160;</td>
163           <td class="paramname"><em>mbuf</em>, </td>
164         </tr>
165         <tr>
166           <td class="paramkey"></td>
167           <td></td>
168           <td class="paramtype">uint8_t&#160;</td>
169           <td class="paramname"><em>CC_ID</em>, </td>
170         </tr>
171         <tr>
172           <td class="paramkey"></td>
173           <td></td>
174           <td class="paramtype">uint8_t&#160;</td>
175           <td class="paramname"><em>Ant_ID</em>, </td>
176         </tr>
177         <tr>
178           <td class="paramkey"></td>
179           <td></td>
180           <td class="paramtype">uint8_t&#160;</td>
181           <td class="paramname"><em>seq_id</em>, </td>
182         </tr>
183         <tr>
184           <td class="paramkey"></td>
185           <td></td>
186           <td class="paramtype">struct <a class="el" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> **&#160;</td>
187           <td class="paramname"><em>ecpri_hdr</em>&#160;</td>
188         </tr>
189         <tr>
190           <td></td>
191           <td>)</td>
192           <td></td><td></td>
193         </tr>
194       </table>
195 </div><div class="memdoc">
196
197 <p>Build ECPRI header and returns added length. </p>
198 <dl class="params"><dt>Parameters</dt><dd>
199   <table class="params">
200     <tr><td class="paramname">mbuf</td><td>The pointer of the packet buffer to be parsed </td></tr>
201     <tr><td class="paramname">CC_ID</td><td>Component Carrier ID for this C-Plane message </td></tr>
202     <tr><td class="paramname">Ant_ID</td><td>Antenna ID(RU Port ID) for this C-Plane message </td></tr>
203     <tr><td class="paramname">seq_id</td><td>Sequence ID for this C-Plane message </td></tr>
204     <tr><td class="paramname">ecpri_hdr</td><td>The pointer to ECPRI header </td></tr>
205   </table>
206   </dd>
207 </dl>
208 <dl class="section return"><dt>Returns</dt><dd>added payload size on success XRAN_STATUS_RESOURCE if failed to allocate the space to packet buffer </dd></dl>
209
210 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00142">142</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
211 <div class="dynheader">
212 Here is the call graph for this function:</div>
213 <div class="dyncontent">
214 <div class="center"><img src="xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph.png" border="0" usemap="#xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph" alt=""/></div>
215 <map name="xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph" id="xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_cgraph">
216 <area shape="rect" id="node2" href="xran__transport_8c.html#ae834080139ba785f1a3ac5781bf2ec88" title="Compose ecpriRtcid/ecpriPcid. " alt="" coords="211,5,341,32"/>
217 <area shape="rect" id="node5" href="xran__transport_8c.html#a0f378609208ec66467c58f0702ced85c" title="return eCPRI header size without eCPRI common header " alt="" coords="195,56,357,83"/>
218 <area shape="rect" id="node3" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="405,5,549,32"/>
219 <area shape="rect" id="node4" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="597,5,723,32"/>
220 </map>
221 </div>
222 <div class="dynheader">
223 Here is the caller graph for this function:</div>
224 <div class="dyncontent">
225 <div class="center"><img src="xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph.png" border="0" usemap="#xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph" alt=""/></div>
226 <map name="xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph" id="xran__transport_8h_aa21387dfaba47c2046d4a05f50cfc768_icgraph">
227 <area shape="rect" id="node2" href="xran__cp__api_8c.html#af9eb550e92ea270af41b4b6bcda363db" title="Create a C&#45;Plane packet Transport layer fragmentation is not supported. " alt="" coords="195,81,341,108"/>
228 <area shape="rect" id="node3" href="c__plane__tests_8cc.html#ab22c1305386eabc256bc6d3492d50846" title="xran_ut_prepare_cp" alt="" coords="400,5,536,32"/>
229 <area shape="rect" id="node5" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="432,56,504,83"/>
230 <area shape="rect" id="node6" href="xran__common_8h.html#aaa01e98d3b3439a332302aebe21459dd" title="generate_cpmsg_dlul" alt="" coords="395,107,541,133"/>
231 <area shape="rect" id="node7" href="xran__common_8h.html#ab8a6ed3cee8fa183142d0c23d0b4971d" title="generate_cpmsg_prach" alt="" coords="389,157,547,184"/>
232 <area shape="rect" id="node4" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="616,5,688,32"/>
233 <area shape="rect" id="node8" href="prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796" title="TEST_P" alt="" coords="616,132,688,159"/>
234 <area shape="rect" id="node9" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090" title="performance_cp" alt="" coords="595,183,709,209"/>
235 <area shape="rect" id="node10" href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee" title="TEST_P" alt="" coords="757,183,829,209"/>
236 </map>
237 </div>
238
239 </div>
240 </div>
241 <a id="ae834080139ba785f1a3ac5781bf2ec88"></a>
242 <h2 class="memtitle"><span class="permalink"><a href="#ae834080139ba785f1a3ac5781bf2ec88">&#9670;&nbsp;</a></span>xran_compose_cid()</h2>
243
244 <div class="memitem">
245 <div class="memproto">
246       <table class="memname">
247         <tr>
248           <td class="memname">uint16_t xran_compose_cid </td>
249           <td>(</td>
250           <td class="paramtype">uint8_t&#160;</td>
251           <td class="paramname"><em>CU_Port_ID</em>, </td>
252         </tr>
253         <tr>
254           <td class="paramkey"></td>
255           <td></td>
256           <td class="paramtype">uint8_t&#160;</td>
257           <td class="paramname"><em>BandSector_ID</em>, </td>
258         </tr>
259         <tr>
260           <td class="paramkey"></td>
261           <td></td>
262           <td class="paramtype">uint8_t&#160;</td>
263           <td class="paramname"><em>CC_ID</em>, </td>
264         </tr>
265         <tr>
266           <td class="paramkey"></td>
267           <td></td>
268           <td class="paramtype">uint8_t&#160;</td>
269           <td class="paramname"><em>Ant_ID</em>&#160;</td>
270         </tr>
271         <tr>
272           <td></td>
273           <td>)</td>
274           <td></td><td></td>
275         </tr>
276       </table>
277 </div><div class="memdoc">
278
279 <p>Compose ecpriRtcid/ecpriPcid. </p>
280 <dl class="params"><dt>Parameters</dt><dd>
281   <table class="params">
282     <tr><td class="paramname">CU_Port_ID</td><td>CU Port ID </td></tr>
283     <tr><td class="paramname">BanbSector_ID</td><td>Band Sector ID </td></tr>
284     <tr><td class="paramname">CC_ID</td><td>Component Carrier ID </td></tr>
285     <tr><td class="paramname">Ant_ID</td><td>RU Port ID (antenna ID) </td></tr>
286   </table>
287   </dd>
288 </dl>
289 <dl class="section return"><dt>Returns</dt><dd>uint16_t composed ecpriRtcid/ecpriPcid (network byte order) </dd></dl>
290
291 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00065">65</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
292 <div class="dynheader">
293 Here is the call graph for this function:</div>
294 <div class="dyncontent">
295 <div class="center"><img src="xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph.png" border="0" usemap="#xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph" alt=""/></div>
296 <map name="xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph" id="xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_cgraph">
297 <area shape="rect" id="node2" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="184,5,328,32"/>
298 <area shape="rect" id="node3" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="376,5,501,32"/>
299 </map>
300 </div>
301 <div class="dynheader">
302 Here is the caller graph for this function:</div>
303 <div class="dyncontent">
304 <div class="center"><img src="xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph.png" border="0" usemap="#xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph" alt=""/></div>
305 <map name="xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph" id="xran__transport_8h_ae834080139ba785f1a3ac5781bf2ec88_icgraph">
306 <area shape="rect" id="node2" href="xran__transport_8c.html#aa21387dfaba47c2046d4a05f50cfc768" title="Build ECPRI header and returns added length. " alt="" coords="184,81,325,108"/>
307 <area shape="rect" id="node3" href="xran__cp__api_8c.html#af9eb550e92ea270af41b4b6bcda363db" title="Create a C&#45;Plane packet Transport layer fragmentation is not supported. " alt="" coords="373,81,520,108"/>
308 <area shape="rect" id="node4" href="c__plane__tests_8cc.html#ab22c1305386eabc256bc6d3492d50846" title="xran_ut_prepare_cp" alt="" coords="579,5,715,32"/>
309 <area shape="rect" id="node6" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="611,56,683,83"/>
310 <area shape="rect" id="node7" href="xran__common_8h.html#aaa01e98d3b3439a332302aebe21459dd" title="generate_cpmsg_dlul" alt="" coords="574,107,719,133"/>
311 <area shape="rect" id="node8" href="xran__common_8h.html#ab8a6ed3cee8fa183142d0c23d0b4971d" title="generate_cpmsg_prach" alt="" coords="568,157,725,184"/>
312 <area shape="rect" id="node5" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="795,5,867,32"/>
313 <area shape="rect" id="node9" href="prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796" title="TEST_P" alt="" coords="795,132,867,159"/>
314 <area shape="rect" id="node10" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090" title="performance_cp" alt="" coords="773,183,888,209"/>
315 <area shape="rect" id="node11" href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee" title="TEST_P" alt="" coords="936,183,1008,209"/>
316 </map>
317 </div>
318
319 </div>
320 </div>
321 <a id="ab08a85b6527f45a9ba22d25061a96a3c"></a>
322 <h2 class="memtitle"><span class="permalink"><a href="#ab08a85b6527f45a9ba22d25061a96a3c">&#9670;&nbsp;</a></span>xran_decompose_cid()</h2>
323
324 <div class="memitem">
325 <div class="memproto">
326       <table class="memname">
327         <tr>
328           <td class="memname">void xran_decompose_cid </td>
329           <td>(</td>
330           <td class="paramtype">uint16_t&#160;</td>
331           <td class="paramname"><em>cid</em>, </td>
332         </tr>
333         <tr>
334           <td class="paramkey"></td>
335           <td></td>
336           <td class="paramtype">struct <a class="el" href="structxran__eaxc__info.html">xran_eaxc_info</a> *&#160;</td>
337           <td class="paramname"><em>result</em>&#160;</td>
338         </tr>
339         <tr>
340           <td></td>
341           <td>)</td>
342           <td></td><td></td>
343         </tr>
344       </table>
345 </div><div class="memdoc">
346
347 <p>Decompose ecpriRtcid/ecpriPcid. </p>
348 <dl class="params"><dt>Parameters</dt><dd>
349   <table class="params">
350     <tr><td class="paramname">cid</td><td>composed ecpriRtcid/ecpriPcid (network byte order) </td></tr>
351     <tr><td class="paramname">result</td><td>the pointer of the structure to store decomposed values </td></tr>
352   </table>
353   </dd>
354 </dl>
355 <dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
356
357 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00089">89</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
358 <div class="dynheader">
359 Here is the call graph for this function:</div>
360 <div class="dyncontent">
361 <div class="center"><img src="xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph.png" border="0" usemap="#xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph" alt=""/></div>
362 <map name="xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph" id="xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_cgraph">
363 <area shape="rect" id="node2" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="199,5,343,32"/>
364 <area shape="rect" id="node3" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="391,5,516,32"/>
365 </map>
366 </div>
367 <div class="dynheader">
368 Here is the caller graph for this function:</div>
369 <div class="dyncontent">
370 <div class="center"><img src="xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph.png" border="0" usemap="#xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph" alt=""/></div>
371 <map name="xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph" id="xran__transport_8h_ab08a85b6527f45a9ba22d25061a96a3c_icgraph">
372 <area shape="rect" id="node2" href="xran__transport_8c.html#ad199c3f4bfa018f5d0846471206217d1" title="Parse ECPRI header. " alt="" coords="209,31,355,57"/>
373 <area shape="rect" id="node8" href="xran__up__api_8c.html#adfc5ea408600c8de1384be020b359d95" title="Function for extracting all IQ samples from xRAN packet holding a single data section. " alt="" coords="199,81,365,108"/>
374 <area shape="rect" id="node3" href="xran__cp__api_8c.html#a38c83cd67a7265920f3bd0b36510f713" title="Parse a C&#45;Plane packet (for RU emulation) Transport layer fragmentation is not supported. " alt="" coords="413,31,545,57"/>
375 <area shape="rect" id="node4" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="635,5,707,32"/>
376 <area shape="rect" id="node5" href="chain__tests_8cc.html#aa17765d107c851ebcc3d202cef78aa75" title="send_mbuf_cp_perf" alt="" coords="603,56,739,83"/>
377 <area shape="rect" id="node6" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="797,56,869,83"/>
378 <area shape="rect" id="node7" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="957,56,1029,83"/>
379 <area shape="rect" id="node9" href="u__plane__functional_8cc.html#a17e5d82ac5aec3860b1324a80fda79ed" title="TEST_P" alt="" coords="443,81,515,108"/>
380 <area shape="rect" id="node10" href="chain__tests_8cc.html#a3d4bd5c7eec6da4ab71688e209100761" title="process_mbuf" alt="" coords="427,132,531,159"/>
381 <area shape="rect" id="node11" href="xran__main_8c.html#a7a412a9cd0ac919dccb2112fb386d64a" title="handle_ecpri_ethertype" alt="" coords="593,132,749,159"/>
382 <area shape="rect" id="node12" href="xran__main_8c.html#a4ea0e9c036a1dc7605f53f1f862f4952" title="xran_init" alt="" coords="798,132,869,159"/>
383 <area shape="rect" id="node13" href="classxran_lib_wraper.html#a126b53d8cc57521b34496dbe3a26621f" title="xranLibWraper::SetUp" alt="" coords="917,132,1068,159"/>
384 </map>
385 </div>
386
387 </div>
388 </div>
389 <a id="a0f378609208ec66467c58f0702ced85c"></a>
390 <h2 class="memtitle"><span class="permalink"><a href="#a0f378609208ec66467c58f0702ced85c">&#9670;&nbsp;</a></span>xran_get_ecpri_hdr_size()</h2>
391
392 <div class="memitem">
393 <div class="memproto">
394       <table class="memname">
395         <tr>
396           <td class="memname">int xran_get_ecpri_hdr_size </td>
397           <td>(</td>
398           <td class="paramtype">void&#160;</td>
399           <td class="paramname"></td><td>)</td>
400           <td></td>
401         </tr>
402       </table>
403 </div><div class="memdoc">
404
405 <p>return eCPRI header size without eCPRI common header </p>
406 <dl class="section return"><dt>Returns</dt><dd>the size of eCPRI header without common header </dd></dl>
407
408 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00049">49</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
409 <div class="dynheader">
410 Here is the caller graph for this function:</div>
411 <div class="dyncontent">
412 <div class="center"><img src="xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph.png" border="0" usemap="#xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph" alt=""/></div>
413 <map name="xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph" id="xran__transport_8h_a0f378609208ec66467c58f0702ced85c_icgraph">
414 <area shape="rect" id="node2" href="xran__transport_8c.html#aa21387dfaba47c2046d4a05f50cfc768" title="Build ECPRI header and returns added length. " alt="" coords="216,81,357,108"/>
415 <area shape="rect" id="node3" href="xran__cp__api_8c.html#af9eb550e92ea270af41b4b6bcda363db" title="Create a C&#45;Plane packet Transport layer fragmentation is not supported. " alt="" coords="405,81,552,108"/>
416 <area shape="rect" id="node4" href="c__plane__tests_8cc.html#ab22c1305386eabc256bc6d3492d50846" title="xran_ut_prepare_cp" alt="" coords="611,5,747,32"/>
417 <area shape="rect" id="node6" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="643,56,715,83"/>
418 <area shape="rect" id="node7" href="xran__common_8h.html#aaa01e98d3b3439a332302aebe21459dd" title="generate_cpmsg_dlul" alt="" coords="606,107,751,133"/>
419 <area shape="rect" id="node8" href="xran__common_8h.html#ab8a6ed3cee8fa183142d0c23d0b4971d" title="generate_cpmsg_prach" alt="" coords="600,157,757,184"/>
420 <area shape="rect" id="node5" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="827,5,899,32"/>
421 <area shape="rect" id="node9" href="prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796" title="TEST_P" alt="" coords="827,132,899,159"/>
422 <area shape="rect" id="node10" href="prach__performance_8cc.html#a540e426541deb753f7c69d8df5d5b090" title="performance_cp" alt="" coords="805,183,920,209"/>
423 <area shape="rect" id="node11" href="prach__performance_8cc.html#a048e029f091d3d395e44cc24b3f197ee" title="TEST_P" alt="" coords="968,183,1040,209"/>
424 </map>
425 </div>
426
427 </div>
428 </div>
429 <a id="ad199c3f4bfa018f5d0846471206217d1"></a>
430 <h2 class="memtitle"><span class="permalink"><a href="#ad199c3f4bfa018f5d0846471206217d1">&#9670;&nbsp;</a></span>xran_parse_ecpri_hdr()</h2>
431
432 <div class="memitem">
433 <div class="memproto">
434       <table class="memname">
435         <tr>
436           <td class="memname">int xran_parse_ecpri_hdr </td>
437           <td>(</td>
438           <td class="paramtype">struct rte_mbuf *&#160;</td>
439           <td class="paramname"><em>mbuf</em>, </td>
440         </tr>
441         <tr>
442           <td class="paramkey"></td>
443           <td></td>
444           <td class="paramtype">struct <a class="el" href="structxran__ecpri__hdr.html">xran_ecpri_hdr</a> **&#160;</td>
445           <td class="paramname"><em>ecpri_hdr</em>, </td>
446         </tr>
447         <tr>
448           <td class="paramkey"></td>
449           <td></td>
450           <td class="paramtype">struct <a class="el" href="structxran__recv__packet__info.html">xran_recv_packet_info</a> *&#160;</td>
451           <td class="paramname"><em>pkt_info</em>&#160;</td>
452         </tr>
453         <tr>
454           <td></td>
455           <td>)</td>
456           <td></td><td></td>
457         </tr>
458       </table>
459 </div><div class="memdoc">
460
461 <p>Parse ECPRI header. </p>
462 <dl class="params"><dt>Parameters</dt><dd>
463   <table class="params">
464     <tr><td class="paramname">mbuf</td><td>The pointer of the packet buffer to be parsed </td></tr>
465     <tr><td class="paramname">ecpri_hdr</td><td>The pointer to ECPRI header </td></tr>
466     <tr><td class="paramname">pkt_info</td><td>The pointer of sturcture to store the information from header </td></tr>
467   </table>
468   </dd>
469 </dl>
470 <dl class="section return"><dt>Returns</dt><dd>XRAN_STATUS_SUCCESS on success XRAN_STATUS_INVALID_PACKET if failed to parse the packet </dd></dl>
471
472 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00192">192</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
473 <div class="dynheader">
474 Here is the call graph for this function:</div>
475 <div class="dyncontent">
476 <div class="center"><img src="xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph.png" border="0" usemap="#xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph" alt=""/></div>
477 <map name="xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph" id="xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_cgraph">
478 <area shape="rect" id="node2" href="xran__transport_8c.html#ab08a85b6527f45a9ba22d25061a96a3c" title="Decompose ecpriRtcid/ecpriPcid. " alt="" coords="200,5,345,32"/>
479 <area shape="rect" id="node3" href="xran__common_8h.html#a761e3947dcc547008a12a9cca10b1ea0" title="Get the configuration of eAxC ID. " alt="" coords="393,5,537,32"/>
480 <area shape="rect" id="node4" href="xran__main_8c.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="585,5,711,32"/>
481 </map>
482 </div>
483 <div class="dynheader">
484 Here is the caller graph for this function:</div>
485 <div class="dyncontent">
486 <div class="center"><img src="xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph.png" border="0" usemap="#xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph" alt=""/></div>
487 <map name="xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph" id="xran__transport_8h_ad199c3f4bfa018f5d0846471206217d1_icgraph">
488 <area shape="rect" id="node2" href="xran__cp__api_8c.html#a38c83cd67a7265920f3bd0b36510f713" title="Parse a C&#45;Plane packet (for RU emulation) Transport layer fragmentation is not supported. " alt="" coords="200,31,332,57"/>
489 <area shape="rect" id="node3" href="c__plane__tests_8cc.html#a11a0b914a08e5375cae792dc6db08c7a" title="TEST_P" alt="" coords="412,5,484,32"/>
490 <area shape="rect" id="node4" href="chain__tests_8cc.html#aa17765d107c851ebcc3d202cef78aa75" title="send_mbuf_cp_perf" alt="" coords="380,56,516,83"/>
491 <area shape="rect" id="node5" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="564,56,636,83"/>
492 <area shape="rect" id="node6" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="684,56,756,83"/>
493 </map>
494 </div>
495
496 </div>
497 </div>
498 <a id="a7070bae58b40a4621354bda1677261af"></a>
499 <h2 class="memtitle"><span class="permalink"><a href="#a7070bae58b40a4621354bda1677261af">&#9670;&nbsp;</a></span>xran_update_ecpri_payload_size()</h2>
500
501 <div class="memitem">
502 <div class="memproto">
503 <table class="mlabels">
504   <tr>
505   <td class="mlabels-left">
506       <table class="memname">
507         <tr>
508           <td class="memname">void xran_update_ecpri_payload_size </td>
509           <td>(</td>
510           <td class="paramtype">struct rte_mbuf *&#160;</td>
511           <td class="paramname"><em>mbuf</em>, </td>
512         </tr>
513         <tr>
514           <td class="paramkey"></td>
515           <td></td>
516           <td class="paramtype">int&#160;</td>
517           <td class="paramname"><em>size</em>&#160;</td>
518         </tr>
519         <tr>
520           <td></td>
521           <td>)</td>
522           <td></td><td></td>
523         </tr>
524       </table>
525   </td>
526   <td class="mlabels-right">
527 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
528   </tr>
529 </table>
530 </div><div class="memdoc">
531
532 <p>modify the payload size of eCPRI header in xRAN packet </p>
533 <dl class="params"><dt>Parameters</dt><dd>
534   <table class="params">
535     <tr><td class="paramname">mbuf</td><td>Initialized rte_mbuf packet which has eCPRI header already </td></tr>
536     <tr><td class="paramname">size</td><td>payload size to be updated </td></tr>
537   </table>
538   </dd>
539 </dl>
540 <dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
541
542 <p class="definition">Definition at line <a class="el" href="xran__transport_8c_source.html#l00113">113</a> of file <a class="el" href="xran__transport_8c_source.html">xran_transport.c</a>.</p>
543
544 </div>
545 </div>
546 </div><!-- contents -->
547 <!-- start footer part -->
548 <hr class="footer"/><address class="footer"><small>
549 Generated by &#160;<a href="http://www.doxygen.org/index.html">
550 <img class="footer" src="doxygen.png" alt="doxygen"/>
551 </a> 1.8.13
552 </small></address>
553 </body>
554 </html>