| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| <meta name="generator" content="Doxygen 1.9.1"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>API Reference Manual for linux-dpdk: ODP REASSEMBLY</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <link href="navtree.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="resize.js"></script> |
| <script type="text/javascript" src="navtreedata.js"></script> |
| <script type="text/javascript" src="navtree.js"></script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| <link href="odpdoxygen.css" rel="stylesheet" type="text/css"/> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td id="projectlogo"><img alt="Logo" src="ODP-Logo-HQ.svg"/></td> |
| <td id="projectalign" style="padding-left: 0.5em;"> |
| <div id="projectname">API Reference Manual for linux-dpdk |
|  <span id="projectnumber">1.47.0</span> |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.9.1 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| var searchBox = new SearchBox("searchBox", "search",false,'Search','.html'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| /* @license-end */</script> |
| <div id="main-nav"></div> |
| </div><!-- top --> |
| <div id="side-nav" class="ui-resizable side-nav-resizable"> |
| <div id="nav-tree"> |
| <div id="nav-tree-contents"> |
| <div id="nav-sync" class="sync"></div> |
| </div> |
| </div> |
| <div id="splitbar" style="-moz-user-select:none;" |
| class="ui-resizable-handle"> |
| </div> |
| </div> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(document).ready(function(){initNavTree('group__odp__reassembly.html',''); initResizable(); }); |
| /* @license-end */ |
| </script> |
| <div id="doc-content"> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div class="header"> |
| <div class="summary"> |
| <a href="#nested-classes">Data Structures</a> | |
| <a href="#typedef-members">Typedefs</a> </div> |
| <div class="headertitle"> |
| <div class="title">ODP REASSEMBLY</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| <a name="details" id="details"></a><h2 class="groupheader">API Description</h2> |
| <p>Reassembly. </p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> |
| Data Structures</h2></td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structodp__reass__capability__t.html">odp_reass_capability_t</a></td></tr> |
| <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Reassembly capabilities. <a href="structodp__reass__capability__t.html#details">More...</a><br /></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structodp__reass__config__t.html">odp_reass_config_t</a></td></tr> |
| <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Fragment reassembly configuration. <a href="structodp__reass__config__t.html#details">More...</a><br /></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> |
| Typedefs</h2></td></tr> |
| <tr class="memitem:ga60fbe864161ebb109d73190048146f4d"><td class="memItemLeft" align="right" valign="top"><a id="ga60fbe864161ebb109d73190048146f4d"></a> |
| typedef struct <a class="el" href="structodp__reass__capability__t.html">odp_reass_capability_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odp__reassembly.html#ga60fbe864161ebb109d73190048146f4d">odp_reass_capability_t</a></td></tr> |
| <tr class="memdesc:ga60fbe864161ebb109d73190048146f4d"><td class="mdescLeft"> </td><td class="mdescRight">Reassembly capabilities. <br /></td></tr> |
| <tr class="separator:ga60fbe864161ebb109d73190048146f4d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga4d124dd001329fa2e12cf3d715992586"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structodp__reass__config__t.html">odp_reass_config_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odp__reassembly.html#ga4d124dd001329fa2e12cf3d715992586">odp_reass_config_t</a></td></tr> |
| <tr class="memdesc:ga4d124dd001329fa2e12cf3d715992586"><td class="mdescLeft"> </td><td class="mdescRight">Fragment reassembly configuration. <a href="group__odp__reassembly.html#ga4d124dd001329fa2e12cf3d715992586">More...</a><br /></td></tr> |
| <tr class="separator:ga4d124dd001329fa2e12cf3d715992586"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <h2 class="groupheader">Typedef Documentation</h2> |
| <a id="ga4d124dd001329fa2e12cf3d715992586"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga4d124dd001329fa2e12cf3d715992586">◆ </a></span>odp_reass_config_t</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef struct <a class="el" href="structodp__reass__config__t.html">odp_reass_config_t</a> <a class="el" href="structodp__reass__config__t.html">odp_reass_config_t</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Fragment reassembly configuration. </p> |
| <p>Configure inline fragment reassembly offload support. Fragment reassembly offload can be enabled in IPSEC and PKTIN operations.</p> |
| <p>When the offload is enabled, fragments will be delayed for a specified time period to allow reassembly.</p> |
| <p>Reassembly result will be delivered to the application through an ODP packet with reassembly metadata. <a class="el" href="group__odp__packet.html#ga97dad01c0769ba31fc9ad8ae7779d2d0" title="Check reassembly status of the packet.">odp_packet_reass_status()</a> can be used to query if reassembly has been attempted and if reassembly was successfully completed.</p> |
| <p>In case of successful reassembly, the reassembled packet is delivered to the receiver as a regular ODP packet as if the reassembled packet was received as such. When reassembly is enabled in pktio, it will be attempted before other offloads such as packet parsing, inline IPsec and classification.</p> |
| <p>In case of failed reassembly, the result is delivered to the application as a special packet that does not contain valid packet data. Such a packet can be used to get information of the incomplete reassembly so that the application can try to retry or continue the reassembly. See <a class="el" href="group__odp__packet.html#gabb92b37b4ccfe45efd24a3f2dd0e1979" title="Get partial reassembly state from a packet.">odp_packet_reass_partial_state()</a>.</p> |
| <p>Reassembly may not complete if not all fragments were received in time but also for packet parsing difficulty, fragment overlap, resource shortage or other reasons. In such cases, application may receive packets with reassembly status as either <code>ODP_PACKET_REASS_NONE</code> or <code>ODP_PACKET_REASS_INCOMPLETE</code>.</p> |
| <p>This structure is used only for configuration, not for capability query even though it is indirectly contained in <a class="el" href="structodp__pktio__capability__t.html" title="Packet IO capabilities.">odp_pktio_capability_t</a>. The content of odp_pktio_capability_t.config.reassembly written by <a class="el" href="group__odp__packet__io.html#gaba80778db7ec138977ed9e473bd1faaa" title="Query packet IO interface capabilities.">odp_pktio_capability()</a> is undefined. Reassembly capabilities of a pktio can be checked through <a class="el" href="structodp__pktio__capability__t.html#afd6b982854f943e8e5070c675ef8cf69" title="Packet input reassembly capability.">odp_pktio_capability_t.reassembly</a>.</p> |
| <dl class="section see"><dt>See also</dt><dd><a class="el" href="group__odp__packet.html#ga97dad01c0769ba31fc9ad8ae7779d2d0" title="Check reassembly status of the packet.">odp_packet_reass_status()</a>, <a class="el" href="group__odp__packet.html#gabb92b37b4ccfe45efd24a3f2dd0e1979" title="Get partial reassembly state from a packet.">odp_packet_reass_partial_state()</a> </dd></dl> |
| |
| </div> |
| </div> |
| </div><!-- contents --> |
| </div><!-- doc-content --> |
| <!-- start footer part --> |
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> |
| <ul> |
| <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li> |
| </ul> |
| </div> |
| </body> |
| </html> |