| <!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>Helper Reference Manual: ODPH PROTOCOLS</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">Helper Reference Manual |
|  <span id="projectnumber">1.7.1</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__odph__protocols.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="#define-members">Macros</a> | |
| <a href="#typedef-members">Typedefs</a> | |
| <a href="#func-members">Functions</a> </div> |
| <div class="headertitle"> |
| <div class="title">ODPH PROTOCOLS</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| <a name="details" id="details"></a><h2 class="groupheader">API Description</h2> |
| <p>Network protocols. </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__PACKED.html">ODP_PACKED</a></td></tr> |
| <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Ethernet MAC address. <a href="structODP__PACKED.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="define-members"></a> |
| Macros</h2></td></tr> |
| <tr class="memitem:gae79c68009740e014522167c4b0cc3b9e"><td class="memItemLeft" align="right" valign="top"><a id="gae79c68009740e014522167c4b0cc3b9e"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gae79c68009740e014522167c4b0cc3b9e">ODPH_ETHADDR_LEN</a>   6</td></tr> |
| <tr class="memdesc:gae79c68009740e014522167c4b0cc3b9e"><td class="mdescLeft"> </td><td class="mdescRight">Ethernet address length. <br /></td></tr> |
| <tr class="separator:gae79c68009740e014522167c4b0cc3b9e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga7b8f24c196c25d6a93f490727789cbd1"><td class="memItemLeft" align="right" valign="top"><a id="ga7b8f24c196c25d6a93f490727789cbd1"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga7b8f24c196c25d6a93f490727789cbd1">ODPH_ETHHDR_LEN</a>   14</td></tr> |
| <tr class="memdesc:ga7b8f24c196c25d6a93f490727789cbd1"><td class="mdescLeft"> </td><td class="mdescRight">Ethernet header length. <br /></td></tr> |
| <tr class="separator:ga7b8f24c196c25d6a93f490727789cbd1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaace5a7534b57383ce40af12bc4cb6bea"><td class="memItemLeft" align="right" valign="top"><a id="gaace5a7534b57383ce40af12bc4cb6bea"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaace5a7534b57383ce40af12bc4cb6bea">ODPH_VLANHDR_LEN</a>   4</td></tr> |
| <tr class="memdesc:gaace5a7534b57383ce40af12bc4cb6bea"><td class="mdescLeft"> </td><td class="mdescRight">VLAN header length. <br /></td></tr> |
| <tr class="separator:gaace5a7534b57383ce40af12bc4cb6bea"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga29b49922ec11d9efdebf14ac648f1297"><td class="memItemLeft" align="right" valign="top"><a id="ga29b49922ec11d9efdebf14ac648f1297"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga29b49922ec11d9efdebf14ac648f1297">ODPH_ETH_LEN_MIN</a>   60</td></tr> |
| <tr class="memdesc:ga29b49922ec11d9efdebf14ac648f1297"><td class="mdescLeft"> </td><td class="mdescRight">Min frame length (excl CRC 4 bytes) <br /></td></tr> |
| <tr class="separator:ga29b49922ec11d9efdebf14ac648f1297"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gabc7a440febc58f8d3dd932a86aec65c9"><td class="memItemLeft" align="right" valign="top"><a id="gabc7a440febc58f8d3dd932a86aec65c9"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gabc7a440febc58f8d3dd932a86aec65c9">ODPH_ETH_LEN_MIN_CRC</a>   64</td></tr> |
| <tr class="memdesc:gabc7a440febc58f8d3dd932a86aec65c9"><td class="mdescLeft"> </td><td class="mdescRight">Min frame length (incl CRC 4 bytes) <br /></td></tr> |
| <tr class="separator:gabc7a440febc58f8d3dd932a86aec65c9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga99a568e3d4188a35171faf1ca2bb276e"><td class="memItemLeft" align="right" valign="top"><a id="ga99a568e3d4188a35171faf1ca2bb276e"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga99a568e3d4188a35171faf1ca2bb276e">ODPH_ETH_LEN_MAX</a>   1514</td></tr> |
| <tr class="memdesc:ga99a568e3d4188a35171faf1ca2bb276e"><td class="mdescLeft"> </td><td class="mdescRight">Max frame length (excl CRC 4 bytes) <br /></td></tr> |
| <tr class="separator:ga99a568e3d4188a35171faf1ca2bb276e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga42d33b88021b8103c1acda68020dc281"><td class="memItemLeft" align="right" valign="top"><a id="ga42d33b88021b8103c1acda68020dc281"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga42d33b88021b8103c1acda68020dc281">ODPH_ETH_LEN_MAX_CRC</a>   1518</td></tr> |
| <tr class="memdesc:ga42d33b88021b8103c1acda68020dc281"><td class="mdescLeft"> </td><td class="mdescRight">Max frame length (incl CRC 4 bytes) <br /></td></tr> |
| <tr class="separator:ga42d33b88021b8103c1acda68020dc281"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga7e7d3e8bd677a829919f7db9604f9ce9"><td class="memItemLeft" align="right" valign="top"><a id="ga7e7d3e8bd677a829919f7db9604f9ce9"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga7e7d3e8bd677a829919f7db9604f9ce9">ODPH_VLANHDR_MAX_PRIO</a>   7</td></tr> |
| <tr class="memdesc:ga7e7d3e8bd677a829919f7db9604f9ce9"><td class="mdescLeft"> </td><td class="mdescRight">Max value of the 3 bit priority. <br /></td></tr> |
| <tr class="separator:ga7e7d3e8bd677a829919f7db9604f9ce9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga17d0ed4999f440e8c0b2b0638be79716"><td class="memItemLeft" align="right" valign="top"><a id="ga17d0ed4999f440e8c0b2b0638be79716"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga17d0ed4999f440e8c0b2b0638be79716">ODPH_VLANHDR_PCP_MASK</a>   0xE000</td></tr> |
| <tr class="memdesc:ga17d0ed4999f440e8c0b2b0638be79716"><td class="mdescLeft"> </td><td class="mdescRight">PCP field bit mask. <br /></td></tr> |
| <tr class="separator:ga17d0ed4999f440e8c0b2b0638be79716"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaf2b1cad3fdbbf649433779eb775016c5"><td class="memItemLeft" align="right" valign="top"><a id="gaf2b1cad3fdbbf649433779eb775016c5"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaf2b1cad3fdbbf649433779eb775016c5">ODPH_VLANHDR_PCP_SHIFT</a>   13</td></tr> |
| <tr class="memdesc:gaf2b1cad3fdbbf649433779eb775016c5"><td class="mdescLeft"> </td><td class="mdescRight">PCP field shift. <br /></td></tr> |
| <tr class="separator:gaf2b1cad3fdbbf649433779eb775016c5"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga062f5ff9ccc63ff234a4512ced81d49d"><td class="memItemLeft" align="right" valign="top"><a id="ga062f5ff9ccc63ff234a4512ced81d49d"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga062f5ff9ccc63ff234a4512ced81d49d">ODPH_VLANHDR_DEI_MASK</a>   0x1000</td></tr> |
| <tr class="memdesc:ga062f5ff9ccc63ff234a4512ced81d49d"><td class="mdescLeft"> </td><td class="mdescRight">DEI field bit mask. <br /></td></tr> |
| <tr class="separator:ga062f5ff9ccc63ff234a4512ced81d49d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gac7d73f74943c7bc8faa5937f3b4a9469"><td class="memItemLeft" align="right" valign="top"><a id="gac7d73f74943c7bc8faa5937f3b4a9469"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gac7d73f74943c7bc8faa5937f3b4a9469">ODPH_VLANHDR_DEI_SHIFT</a>   12</td></tr> |
| <tr class="memdesc:gac7d73f74943c7bc8faa5937f3b4a9469"><td class="mdescLeft"> </td><td class="mdescRight">DEI field shift. <br /></td></tr> |
| <tr class="separator:gac7d73f74943c7bc8faa5937f3b4a9469"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gafc9c838e4d441a3ae4461f24b7a11b27"><td class="memItemLeft" align="right" valign="top"><a id="gafc9c838e4d441a3ae4461f24b7a11b27"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gafc9c838e4d441a3ae4461f24b7a11b27">ODPH_VLANHDR_MAX_VID</a>   0x0FFF</td></tr> |
| <tr class="memdesc:gafc9c838e4d441a3ae4461f24b7a11b27"><td class="mdescLeft"> </td><td class="mdescRight">Max value of the 12 bit VID field. <br /></td></tr> |
| <tr class="separator:gafc9c838e4d441a3ae4461f24b7a11b27"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gae9b88b3e13a41a15a8d9e35460363910"><td class="memItemLeft" align="right" valign="top"><a id="gae9b88b3e13a41a15a8d9e35460363910"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gae9b88b3e13a41a15a8d9e35460363910">ODPH_VLANHDR_VID_MASK</a>   0x0FFF</td></tr> |
| <tr class="memdesc:gae9b88b3e13a41a15a8d9e35460363910"><td class="mdescLeft"> </td><td class="mdescRight">VID field bit mask. <br /></td></tr> |
| <tr class="separator:gae9b88b3e13a41a15a8d9e35460363910"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga49825c1d9e16701191fe5d4f2d980dea"><td class="memItemLeft" align="right" valign="top"><a id="ga49825c1d9e16701191fe5d4f2d980dea"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga49825c1d9e16701191fe5d4f2d980dea">ODPH_VLANHDR_VID_SHIFT</a>   0</td></tr> |
| <tr class="memdesc:ga49825c1d9e16701191fe5d4f2d980dea"><td class="mdescLeft"> </td><td class="mdescRight">VID field shift. <br /></td></tr> |
| <tr class="separator:ga49825c1d9e16701191fe5d4f2d980dea"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga7e6eebe95029f91b5d22455f84a88534"><td class="memItemLeft" align="right" valign="top"><a id="ga7e6eebe95029f91b5d22455f84a88534"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga7e6eebe95029f91b5d22455f84a88534">ODPH_ETHTYPE_IPV4</a>   0x0800</td></tr> |
| <tr class="memdesc:ga7e6eebe95029f91b5d22455f84a88534"><td class="mdescLeft"> </td><td class="mdescRight">Internet Protocol version 4. <br /></td></tr> |
| <tr class="separator:ga7e6eebe95029f91b5d22455f84a88534"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga3da77325e9833a0deacc2de71882e9da"><td class="memItemLeft" align="right" valign="top"><a id="ga3da77325e9833a0deacc2de71882e9da"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga3da77325e9833a0deacc2de71882e9da">ODPH_ETHTYPE_ARP</a>   0x0806</td></tr> |
| <tr class="memdesc:ga3da77325e9833a0deacc2de71882e9da"><td class="mdescLeft"> </td><td class="mdescRight">Address Resolution Protocol. <br /></td></tr> |
| <tr class="separator:ga3da77325e9833a0deacc2de71882e9da"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga4600140a391e0e334466ca42350d1630"><td class="memItemLeft" align="right" valign="top"><a id="ga4600140a391e0e334466ca42350d1630"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga4600140a391e0e334466ca42350d1630">ODPH_ETHTYPE_RARP</a>   0x8035</td></tr> |
| <tr class="memdesc:ga4600140a391e0e334466ca42350d1630"><td class="mdescLeft"> </td><td class="mdescRight">Reverse Address Resolution Protocol. <br /></td></tr> |
| <tr class="separator:ga4600140a391e0e334466ca42350d1630"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gad16f8bd6c31b46a7d7d8a118dbcde3fb"><td class="memItemLeft" align="right" valign="top"><a id="gad16f8bd6c31b46a7d7d8a118dbcde3fb"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gad16f8bd6c31b46a7d7d8a118dbcde3fb">ODPH_ETHTYPE_VLAN</a>   0x8100</td></tr> |
| <tr class="memdesc:gad16f8bd6c31b46a7d7d8a118dbcde3fb"><td class="mdescLeft"> </td><td class="mdescRight">VLAN-tagged frame IEEE 802.1Q. <br /></td></tr> |
| <tr class="separator:gad16f8bd6c31b46a7d7d8a118dbcde3fb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga4fd1400fa38cea4d81042e99a876b556"><td class="memItemLeft" align="right" valign="top"><a id="ga4fd1400fa38cea4d81042e99a876b556"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga4fd1400fa38cea4d81042e99a876b556">ODPH_ETHTYPE_VLAN_OUTER</a>   0x88A8</td></tr> |
| <tr class="memdesc:ga4fd1400fa38cea4d81042e99a876b556"><td class="mdescLeft"> </td><td class="mdescRight">Stacked VLANs/QinQ, outer-tag/S-TAG. <br /></td></tr> |
| <tr class="separator:ga4fd1400fa38cea4d81042e99a876b556"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga26d94cdb1682db3866ff358b5c29a7a2"><td class="memItemLeft" align="right" valign="top"><a id="ga26d94cdb1682db3866ff358b5c29a7a2"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga26d94cdb1682db3866ff358b5c29a7a2">ODPH_ETHTYPE_IPV6</a>   0x86dd</td></tr> |
| <tr class="memdesc:ga26d94cdb1682db3866ff358b5c29a7a2"><td class="mdescLeft"> </td><td class="mdescRight">Internet Protocol version 6. <br /></td></tr> |
| <tr class="separator:ga26d94cdb1682db3866ff358b5c29a7a2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga25b527650a39ed412de22e4730a987d6"><td class="memItemLeft" align="right" valign="top"><a id="ga25b527650a39ed412de22e4730a987d6"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga25b527650a39ed412de22e4730a987d6">ODPH_ETHTYPE_FLOW_CTRL</a>   0x8808</td></tr> |
| <tr class="memdesc:ga25b527650a39ed412de22e4730a987d6"><td class="mdescLeft"> </td><td class="mdescRight">Ethernet flow control. <br /></td></tr> |
| <tr class="separator:ga25b527650a39ed412de22e4730a987d6"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga7d8909e204cd6d16828b6f475a95d043"><td class="memItemLeft" align="right" valign="top"><a id="ga7d8909e204cd6d16828b6f475a95d043"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga7d8909e204cd6d16828b6f475a95d043">ODPH_ETHTYPE_MPLS</a>   0x8847</td></tr> |
| <tr class="memdesc:ga7d8909e204cd6d16828b6f475a95d043"><td class="mdescLeft"> </td><td class="mdescRight">MPLS unicast. <br /></td></tr> |
| <tr class="separator:ga7d8909e204cd6d16828b6f475a95d043"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga5b6860f87c0aa83e5a496d9327a72e02"><td class="memItemLeft" align="right" valign="top"><a id="ga5b6860f87c0aa83e5a496d9327a72e02"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga5b6860f87c0aa83e5a496d9327a72e02">ODPH_ETHTYPE_MPLS_MCAST</a>   0x8848</td></tr> |
| <tr class="memdesc:ga5b6860f87c0aa83e5a496d9327a72e02"><td class="mdescLeft"> </td><td class="mdescRight">MPLS multicast. <br /></td></tr> |
| <tr class="separator:ga5b6860f87c0aa83e5a496d9327a72e02"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga1261b14ab4e21b5437e68c118a94d88f"><td class="memItemLeft" align="right" valign="top"><a id="ga1261b14ab4e21b5437e68c118a94d88f"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga1261b14ab4e21b5437e68c118a94d88f">ODPH_ETHTYPE_MACSEC</a>   0x88E5</td></tr> |
| <tr class="memdesc:ga1261b14ab4e21b5437e68c118a94d88f"><td class="mdescLeft"> </td><td class="mdescRight">MAC security IEEE 802.1AE. <br /></td></tr> |
| <tr class="separator:ga1261b14ab4e21b5437e68c118a94d88f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga20b06586c67ef1469a3a3d4e274c3e87"><td class="memItemLeft" align="right" valign="top"><a id="ga20b06586c67ef1469a3a3d4e274c3e87"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga20b06586c67ef1469a3a3d4e274c3e87">ODPH_ETHTYPE_1588</a>   0x88F7</td></tr> |
| <tr class="memdesc:ga20b06586c67ef1469a3a3d4e274c3e87"><td class="mdescLeft"> </td><td class="mdescRight">Precision Time Protocol IEEE 1588. <br /></td></tr> |
| <tr class="separator:ga20b06586c67ef1469a3a3d4e274c3e87"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gac6b48e2d84584304228350fe6d8a0853"><td class="memItemLeft" align="right" valign="top"><a id="gac6b48e2d84584304228350fe6d8a0853"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gac6b48e2d84584304228350fe6d8a0853">ODPH_GTP_HLEN</a>   sizeof(<a class="el" href="group__odph__protocols.html#ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5">odph_gtphdr_t</a>)</td></tr> |
| <tr class="memdesc:gac6b48e2d84584304228350fe6d8a0853"><td class="mdescLeft"> </td><td class="mdescRight">GTP header length. <br /></td></tr> |
| <tr class="separator:gac6b48e2d84584304228350fe6d8a0853"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga57bd6e50eb8aa88dd6457022e8e8a6ec"><td class="memItemLeft" align="right" valign="top"><a id="ga57bd6e50eb8aa88dd6457022e8e8a6ec"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga57bd6e50eb8aa88dd6457022e8e8a6ec">ODPH_ICMPHDR_LEN</a>   8</td></tr> |
| <tr class="memdesc:ga57bd6e50eb8aa88dd6457022e8e8a6ec"><td class="mdescLeft"> </td><td class="mdescRight">ICMP header length. <br /></td></tr> |
| <tr class="separator:ga57bd6e50eb8aa88dd6457022e8e8a6ec"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga85d150e90b62fe0d751c423347b1c434"><td class="memItemLeft" align="right" valign="top"><a id="ga85d150e90b62fe0d751c423347b1c434"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga85d150e90b62fe0d751c423347b1c434">ODPH_ICMP_ECHOREPLY</a>   0</td></tr> |
| <tr class="memdesc:ga85d150e90b62fe0d751c423347b1c434"><td class="mdescLeft"> </td><td class="mdescRight">Echo Reply. <br /></td></tr> |
| <tr class="separator:ga85d150e90b62fe0d751c423347b1c434"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga293c689b57807c1d3297b8e950fde052"><td class="memItemLeft" align="right" valign="top"><a id="ga293c689b57807c1d3297b8e950fde052"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga293c689b57807c1d3297b8e950fde052">ODPH_ICMP_ECHO</a>   8</td></tr> |
| <tr class="memdesc:ga293c689b57807c1d3297b8e950fde052"><td class="mdescLeft"> </td><td class="mdescRight">Echo Request. <br /></td></tr> |
| <tr class="separator:ga293c689b57807c1d3297b8e950fde052"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gad259b0bdb0dbd284f9935f68278ebb29"><td class="memItemLeft" align="right" valign="top"><a id="gad259b0bdb0dbd284f9935f68278ebb29"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gad259b0bdb0dbd284f9935f68278ebb29">ODPH_IGMP_HLEN</a>   sizeof(<a class="el" href="group__odph__protocols.html#gab19e45681f0b7bbf2025b40f1396a8d7">odph_igmphdr_t</a>)</td></tr> |
| <tr class="memdesc:gad259b0bdb0dbd284f9935f68278ebb29"><td class="mdescLeft"> </td><td class="mdescRight">IGMP header length. <br /></td></tr> |
| <tr class="separator:gad259b0bdb0dbd284f9935f68278ebb29"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaff30da7cc52e1f749204cec784c975f2"><td class="memItemLeft" align="right" valign="top"><a id="gaff30da7cc52e1f749204cec784c975f2"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaff30da7cc52e1f749204cec784c975f2">ODPH_IPV4</a>   4</td></tr> |
| <tr class="memdesc:gaff30da7cc52e1f749204cec784c975f2"><td class="mdescLeft"> </td><td class="mdescRight">IP version 4. <br /></td></tr> |
| <tr class="separator:gaff30da7cc52e1f749204cec784c975f2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga3ee54e6dba173907d29af0dcfebd8143"><td class="memItemLeft" align="right" valign="top"><a id="ga3ee54e6dba173907d29af0dcfebd8143"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga3ee54e6dba173907d29af0dcfebd8143">ODPH_IPV4HDR_LEN</a>   20</td></tr> |
| <tr class="memdesc:ga3ee54e6dba173907d29af0dcfebd8143"><td class="mdescLeft"> </td><td class="mdescRight">Min length of IP header (no options) <br /></td></tr> |
| <tr class="separator:ga3ee54e6dba173907d29af0dcfebd8143"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga96c19c5b6104595e21c63c141d609bcd"><td class="memItemLeft" align="right" valign="top"><a id="ga96c19c5b6104595e21c63c141d609bcd"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga96c19c5b6104595e21c63c141d609bcd">ODPH_IPV4HDR_IHL_MIN</a>   5</td></tr> |
| <tr class="memdesc:ga96c19c5b6104595e21c63c141d609bcd"><td class="mdescLeft"> </td><td class="mdescRight">Minimum IHL value. <br /></td></tr> |
| <tr class="separator:ga96c19c5b6104595e21c63c141d609bcd"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gac2f2950f904d545e67bba328819743c8"><td class="memItemLeft" align="right" valign="top"><a id="gac2f2950f904d545e67bba328819743c8"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gac2f2950f904d545e67bba328819743c8">ODPH_IPV4ADDR_LEN</a>   4</td></tr> |
| <tr class="memdesc:gac2f2950f904d545e67bba328819743c8"><td class="mdescLeft"> </td><td class="mdescRight">IPv4 address length in bytes. <br /></td></tr> |
| <tr class="separator:gac2f2950f904d545e67bba328819743c8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga1827e7ffd773820e2c1cc4a2a757e942"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga1827e7ffd773820e2c1cc4a2a757e942">ODPH_IP_TOS_MAX_DSCP</a>   63</td></tr> |
| <tr class="memdesc:ga1827e7ffd773820e2c1cc4a2a757e942"><td class="mdescLeft"> </td><td class="mdescRight">The one byte IPv4 tos or IPv6 tc field is composed of the following two subfields - a six bit Differentiated Service Code Point (DSCP) and a two bit Explicit Congestion Notification (ECN) subfield. <a href="group__odph__protocols.html#ga1827e7ffd773820e2c1cc4a2a757e942">More...</a><br /></td></tr> |
| <tr class="separator:ga1827e7ffd773820e2c1cc4a2a757e942"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga2aed456acf8b2e15ca835fcebe685d77"><td class="memItemLeft" align="right" valign="top"><a id="ga2aed456acf8b2e15ca835fcebe685d77"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga2aed456acf8b2e15ca835fcebe685d77">ODPH_IP_TOS_DSCP_MASK</a>   0xFC</td></tr> |
| <tr class="memdesc:ga2aed456acf8b2e15ca835fcebe685d77"><td class="mdescLeft"> </td><td class="mdescRight">DSCP field is in bits <7:2> <br /> |
| <br /></td></tr> |
| <tr class="separator:ga2aed456acf8b2e15ca835fcebe685d77"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga3330343624b84c4438c6e80c2ef8711c"><td class="memItemLeft" align="right" valign="top"><a id="ga3330343624b84c4438c6e80c2ef8711c"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga3330343624b84c4438c6e80c2ef8711c">ODPH_IP_TOS_DSCP_SHIFT</a>   2</td></tr> |
| <tr class="memdesc:ga3330343624b84c4438c6e80c2ef8711c"><td class="mdescLeft"> </td><td class="mdescRight">DSCP field is shifted letf by 2 <br /> |
| <br /></td></tr> |
| <tr class="separator:ga3330343624b84c4438c6e80c2ef8711c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga837913a70c37bad86fd7d971c1ec7610"><td class="memItemLeft" align="right" valign="top"><a id="ga837913a70c37bad86fd7d971c1ec7610"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga837913a70c37bad86fd7d971c1ec7610">ODPH_IP_TOS_MAX_ECN</a>   3</td></tr> |
| <tr class="memdesc:ga837913a70c37bad86fd7d971c1ec7610"><td class="mdescLeft"> </td><td class="mdescRight">2-bit ECN field has max value 3 <br /> |
| <br /></td></tr> |
| <tr class="separator:ga837913a70c37bad86fd7d971c1ec7610"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga8c3d8557e603fe1356182ea4200c2d45"><td class="memItemLeft" align="right" valign="top"><a id="ga8c3d8557e603fe1356182ea4200c2d45"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga8c3d8557e603fe1356182ea4200c2d45">ODPH_IP_TOS_ECN_MASK</a>   0x03</td></tr> |
| <tr class="memdesc:ga8c3d8557e603fe1356182ea4200c2d45"><td class="mdescLeft"> </td><td class="mdescRight">ECN field is in bits <1:0> <br /> |
| <br /></td></tr> |
| <tr class="separator:ga8c3d8557e603fe1356182ea4200c2d45"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga8e8af5901fbee0e3fd9abda555372dc9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga8e8af5901fbee0e3fd9abda555372dc9">ODPH_IP_TOS_ECN_SHIFT</a>   0</td></tr> |
| <tr class="memdesc:ga8e8af5901fbee0e3fd9abda555372dc9"><td class="mdescLeft"> </td><td class="mdescRight">ECN field is not shifted. <a href="group__odph__protocols.html#ga8e8af5901fbee0e3fd9abda555372dc9">More...</a><br /></td></tr> |
| <tr class="separator:ga8e8af5901fbee0e3fd9abda555372dc9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga23f2b3d4745e0c28bbc38ce670da8333"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga23f2b3d4745e0c28bbc38ce670da8333">ODPH_IP_ECN_NOT_ECT</a>   0</td></tr> |
| <tr class="memdesc:ga23f2b3d4745e0c28bbc38ce670da8333"><td class="mdescLeft"> </td><td class="mdescRight">The following constants give names to the four possible ECN values, as described in RFC 3168. <a href="group__odph__protocols.html#ga23f2b3d4745e0c28bbc38ce670da8333">More...</a><br /></td></tr> |
| <tr class="separator:ga23f2b3d4745e0c28bbc38ce670da8333"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga7a78c1101ba8b1f49efb437c6b71d868"><td class="memItemLeft" align="right" valign="top"><a id="ga7a78c1101ba8b1f49efb437c6b71d868"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga7a78c1101ba8b1f49efb437c6b71d868">ODPH_IP_ECN_ECT1</a>   1</td></tr> |
| <tr class="memdesc:ga7a78c1101ba8b1f49efb437c6b71d868"><td class="mdescLeft"> </td><td class="mdescRight">Indicates no congestion seen yet. <br /></td></tr> |
| <tr class="separator:ga7a78c1101ba8b1f49efb437c6b71d868"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga31693efc1b6818b081aa98844e71f79e"><td class="memItemLeft" align="right" valign="top"><a id="ga31693efc1b6818b081aa98844e71f79e"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga31693efc1b6818b081aa98844e71f79e">ODPH_IP_ECN_ECT0</a>   2</td></tr> |
| <tr class="memdesc:ga31693efc1b6818b081aa98844e71f79e"><td class="mdescLeft"> </td><td class="mdescRight">Indicates no congestion seen yet. <br /></td></tr> |
| <tr class="separator:ga31693efc1b6818b081aa98844e71f79e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga24fbfa875ab986fb3b5e8eef263fef33"><td class="memItemLeft" align="right" valign="top"><a id="ga24fbfa875ab986fb3b5e8eef263fef33"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga24fbfa875ab986fb3b5e8eef263fef33">ODPH_IP_ECN_CE</a>   3</td></tr> |
| <tr class="memdesc:ga24fbfa875ab986fb3b5e8eef263fef33"><td class="mdescLeft"> </td><td class="mdescRight">Used to signal Congestion Experienced. <br /></td></tr> |
| <tr class="separator:ga24fbfa875ab986fb3b5e8eef263fef33"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga43ec8785084431f8d2a45a6cea68d10c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga43ec8785084431f8d2a45a6cea68d10c">ODPH_IPV4HDR_VER</a>(ver_ihl)   (((ver_ihl) & 0xf0) >> 4)</td></tr> |
| <tr class="separator:ga43ec8785084431f8d2a45a6cea68d10c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga1777702bc08f58f02100c219b6bfe530"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga1777702bc08f58f02100c219b6bfe530">ODPH_IPV4HDR_IHL</a>(ver_ihl)   ((ver_ihl) & 0x0f)</td></tr> |
| <tr class="separator:ga1777702bc08f58f02100c219b6bfe530"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaaaa9b2ce414b22faf34fae8d6b2a9f21"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaaaa9b2ce414b22faf34fae8d6b2a9f21">ODPH_IPV4HDR_DSCP</a>(tos)   (((tos) & 0xfc) >> 2)</td></tr> |
| <tr class="separator:gaaaa9b2ce414b22faf34fae8d6b2a9f21"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaa3a5b0adcda78a07f2491b0dbfea1899"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaa3a5b0adcda78a07f2491b0dbfea1899">ODPH_IPV4HDR_FLAGS_DONT_FRAG</a>(frag_offset)   ((frag_offset) & 0x4000)</td></tr> |
| <tr class="separator:gaa3a5b0adcda78a07f2491b0dbfea1899"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga4667a19a6cc46d98fd19c3ae54c5724b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga4667a19a6cc46d98fd19c3ae54c5724b">ODPH_IPV4HDR_FLAGS_MORE_FRAGS</a>(frag_offset)   ((frag_offset) & 0x2000)</td></tr> |
| <tr class="separator:ga4667a19a6cc46d98fd19c3ae54c5724b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gab6dfd2884a295fabfbfd13f2badf5f87"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gab6dfd2884a295fabfbfd13f2badf5f87">ODPH_IPV4HDR_FRAG_OFFSET</a>(frag_offset)   ((frag_offset) & 0x1fff)</td></tr> |
| <tr class="separator:gab6dfd2884a295fabfbfd13f2badf5f87"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga65cd376cbfb965737205a6a349d0a851"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga65cd376cbfb965737205a6a349d0a851">ODPH_IPV4HDR_IS_FRAGMENT</a>(frag_offset)   ((frag_offset) & 0x3fff)</td></tr> |
| <tr class="separator:ga65cd376cbfb965737205a6a349d0a851"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga59bbb2ae671ba2ce4d89e316849a4993"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga59bbb2ae671ba2ce4d89e316849a4993">ODPH_IPV4HDR_CSUM_OFFSET</a>   10</td></tr> |
| <tr class="separator:ga59bbb2ae671ba2ce4d89e316849a4993"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga3efb8f7bd8f9cf4791f4b9668c922bc0"><td class="memItemLeft" align="right" valign="top"><a id="ga3efb8f7bd8f9cf4791f4b9668c922bc0"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga3efb8f7bd8f9cf4791f4b9668c922bc0">ODPH_IPV6</a>   6</td></tr> |
| <tr class="memdesc:ga3efb8f7bd8f9cf4791f4b9668c922bc0"><td class="mdescLeft"> </td><td class="mdescRight">IPv6 version. <br /></td></tr> |
| <tr class="separator:ga3efb8f7bd8f9cf4791f4b9668c922bc0"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga361737bac0f5c7ebeea6ffc150885834"><td class="memItemLeft" align="right" valign="top"><a id="ga361737bac0f5c7ebeea6ffc150885834"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga361737bac0f5c7ebeea6ffc150885834">ODPH_IPV6HDR_LEN</a>   40</td></tr> |
| <tr class="memdesc:ga361737bac0f5c7ebeea6ffc150885834"><td class="mdescLeft"> </td><td class="mdescRight">IPv6 header length. <br /></td></tr> |
| <tr class="separator:ga361737bac0f5c7ebeea6ffc150885834"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga3233c4f73cc5fc9a8c34e9e4ec056df8"><td class="memItemLeft" align="right" valign="top"><a id="ga3233c4f73cc5fc9a8c34e9e4ec056df8"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga3233c4f73cc5fc9a8c34e9e4ec056df8">ODPH_IPV6ADDR_LEN</a>   16</td></tr> |
| <tr class="memdesc:ga3233c4f73cc5fc9a8c34e9e4ec056df8"><td class="mdescLeft"> </td><td class="mdescRight">IPv6 address length in bytes. <br /></td></tr> |
| <tr class="separator:ga3233c4f73cc5fc9a8c34e9e4ec056df8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gae8b6b362771a274a5688d6bc3d85222d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gae8b6b362771a274a5688d6bc3d85222d">ODPH_IPV6HDR_VERSION_MASK</a>   0xF0000000</td></tr> |
| <tr class="memdesc:gae8b6b362771a274a5688d6bc3d85222d"><td class="mdescLeft"> </td><td class="mdescRight">The following constants can be used to access the three subfields of the 4 byte ver_tc_flow field - namely the four bit Version subfield, the eight bit Traffic Class subfield (TC) and the twenty bit Flow Label subfield. <a href="group__odph__protocols.html#gae8b6b362771a274a5688d6bc3d85222d">More...</a><br /></td></tr> |
| <tr class="separator:gae8b6b362771a274a5688d6bc3d85222d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gacd69f1e10bd3e4c6e8415f53adb828eb"><td class="memItemLeft" align="right" valign="top"><a id="gacd69f1e10bd3e4c6e8415f53adb828eb"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gacd69f1e10bd3e4c6e8415f53adb828eb">ODPH_IPV6HDR_VERSION_SHIFT</a>   28</td></tr> |
| <tr class="memdesc:gacd69f1e10bd3e4c6e8415f53adb828eb"><td class="mdescLeft"> </td><td class="mdescRight">Version field shift. <br /></td></tr> |
| <tr class="separator:gacd69f1e10bd3e4c6e8415f53adb828eb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gac1c8a40663a116300a30cf1d324aa18e"><td class="memItemLeft" align="right" valign="top"><a id="gac1c8a40663a116300a30cf1d324aa18e"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gac1c8a40663a116300a30cf1d324aa18e">ODPH_IPV6HDR_TC_MASK</a>   0x0FF00000</td></tr> |
| <tr class="memdesc:gac1c8a40663a116300a30cf1d324aa18e"><td class="mdescLeft"> </td><td class="mdescRight">TC field bit mask. <br /></td></tr> |
| <tr class="separator:gac1c8a40663a116300a30cf1d324aa18e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaf5a5212a07aa3b2cdee5982fd53e3881"><td class="memItemLeft" align="right" valign="top"><a id="gaf5a5212a07aa3b2cdee5982fd53e3881"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaf5a5212a07aa3b2cdee5982fd53e3881">ODPH_IPV6HDR_TC_SHIFT</a>   20</td></tr> |
| <tr class="memdesc:gaf5a5212a07aa3b2cdee5982fd53e3881"><td class="mdescLeft"> </td><td class="mdescRight">TC field shift. <br /></td></tr> |
| <tr class="separator:gaf5a5212a07aa3b2cdee5982fd53e3881"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga0343aa4bfcccd76bdd07792691407e63"><td class="memItemLeft" align="right" valign="top"><a id="ga0343aa4bfcccd76bdd07792691407e63"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga0343aa4bfcccd76bdd07792691407e63">ODPH_IPV6HDR_FLOW_LABEL_MASK</a>   0x000FFFFF</td></tr> |
| <tr class="memdesc:ga0343aa4bfcccd76bdd07792691407e63"><td class="mdescLeft"> </td><td class="mdescRight">Flow Label bit mask. <br /></td></tr> |
| <tr class="separator:ga0343aa4bfcccd76bdd07792691407e63"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga7de3499a19954ffe3acec0188d0e66a7"><td class="memItemLeft" align="right" valign="top"><a id="ga7de3499a19954ffe3acec0188d0e66a7"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga7de3499a19954ffe3acec0188d0e66a7">ODPH_IPV6HDR_FLOW_LABEL_SHIFT</a>   0</td></tr> |
| <tr class="memdesc:ga7de3499a19954ffe3acec0188d0e66a7"><td class="mdescLeft"> </td><td class="mdescRight">Flow Label shift. <br /></td></tr> |
| <tr class="separator:ga7de3499a19954ffe3acec0188d0e66a7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga082c9298e331f737a05e91e5bf4c0570"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga082c9298e331f737a05e91e5bf4c0570">ODPH_IPV6HDR_DSCP</a>(ver_tc_flow)    (uint8_t)((((ver_tc_flow) & 0x0fc00000) >> 22) & 0xff)</td></tr> |
| <tr class="separator:ga082c9298e331f737a05e91e5bf4c0570"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga3a404033202052218278e51d38c99d1c"><td class="memItemLeft" align="right" valign="top"><a id="ga3a404033202052218278e51d38c99d1c"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga3a404033202052218278e51d38c99d1c">ODPH_IPPROTO_HOPOPTS</a>   0x00</td></tr> |
| <tr class="memdesc:ga3a404033202052218278e51d38c99d1c"><td class="mdescLeft"> </td><td class="mdescRight">IPv6 hop-by-hop options. <br /></td></tr> |
| <tr class="separator:ga3a404033202052218278e51d38c99d1c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga501dfdf6d2a3047cfba65dacf4dc8f81"><td class="memItemLeft" align="right" valign="top"><a id="ga501dfdf6d2a3047cfba65dacf4dc8f81"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga501dfdf6d2a3047cfba65dacf4dc8f81">ODPH_IPPROTO_ICMPV4</a>   0x01</td></tr> |
| <tr class="memdesc:ga501dfdf6d2a3047cfba65dacf4dc8f81"><td class="mdescLeft"> </td><td class="mdescRight">Internet Control Message Protocol (1) <br /></td></tr> |
| <tr class="separator:ga501dfdf6d2a3047cfba65dacf4dc8f81"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga577b9a6bd72bec491b4fa81351112407"><td class="memItemLeft" align="right" valign="top"><a id="ga577b9a6bd72bec491b4fa81351112407"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga577b9a6bd72bec491b4fa81351112407">ODPH_IPPROTO_IGMP</a>   0x02</td></tr> |
| <tr class="memdesc:ga577b9a6bd72bec491b4fa81351112407"><td class="mdescLeft"> </td><td class="mdescRight">Internet Group Message Protocol (1) <br /></td></tr> |
| <tr class="separator:ga577b9a6bd72bec491b4fa81351112407"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga77f47edd5ccbbf708e756303b35ff27b"><td class="memItemLeft" align="right" valign="top"><a id="ga77f47edd5ccbbf708e756303b35ff27b"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga77f47edd5ccbbf708e756303b35ff27b">ODPH_IPPROTO_TCP</a>   0x06</td></tr> |
| <tr class="memdesc:ga77f47edd5ccbbf708e756303b35ff27b"><td class="mdescLeft"> </td><td class="mdescRight">Transmission Control Protocol (6) <br /></td></tr> |
| <tr class="separator:ga77f47edd5ccbbf708e756303b35ff27b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gab6f0ff7055aa114f3e5adbe27f9a4d2f"><td class="memItemLeft" align="right" valign="top"><a id="gab6f0ff7055aa114f3e5adbe27f9a4d2f"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gab6f0ff7055aa114f3e5adbe27f9a4d2f">ODPH_IPPROTO_UDP</a>   0x11</td></tr> |
| <tr class="memdesc:gab6f0ff7055aa114f3e5adbe27f9a4d2f"><td class="mdescLeft"> </td><td class="mdescRight">User Datagram Protocol (17) <br /></td></tr> |
| <tr class="separator:gab6f0ff7055aa114f3e5adbe27f9a4d2f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gabc852b54a6fd8893ea0947ee0a433eb7"><td class="memItemLeft" align="right" valign="top"><a id="gabc852b54a6fd8893ea0947ee0a433eb7"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gabc852b54a6fd8893ea0947ee0a433eb7">ODPH_IPPROTO_ROUTE</a>   0x2B</td></tr> |
| <tr class="memdesc:gabc852b54a6fd8893ea0947ee0a433eb7"><td class="mdescLeft"> </td><td class="mdescRight">IPv6 Routing header (43) <br /></td></tr> |
| <tr class="separator:gabc852b54a6fd8893ea0947ee0a433eb7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaa1d7756581056edcde0d9e77c1d65f6e"><td class="memItemLeft" align="right" valign="top"><a id="gaa1d7756581056edcde0d9e77c1d65f6e"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaa1d7756581056edcde0d9e77c1d65f6e">ODPH_IPPROTO_FRAG</a>   0x2C</td></tr> |
| <tr class="memdesc:gaa1d7756581056edcde0d9e77c1d65f6e"><td class="mdescLeft"> </td><td class="mdescRight">IPv6 Fragment (44) <br /></td></tr> |
| <tr class="separator:gaa1d7756581056edcde0d9e77c1d65f6e"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gad63ff838aa61b53c242a6987211d7f19"><td class="memItemLeft" align="right" valign="top"><a id="gad63ff838aa61b53c242a6987211d7f19"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gad63ff838aa61b53c242a6987211d7f19">ODPH_IPPROTO_AH</a>   0x33</td></tr> |
| <tr class="memdesc:gad63ff838aa61b53c242a6987211d7f19"><td class="mdescLeft"> </td><td class="mdescRight">Authentication Header (51) <br /></td></tr> |
| <tr class="separator:gad63ff838aa61b53c242a6987211d7f19"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga972743bbfb4ae299f29b38c9a356ce9a"><td class="memItemLeft" align="right" valign="top"><a id="ga972743bbfb4ae299f29b38c9a356ce9a"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga972743bbfb4ae299f29b38c9a356ce9a">ODPH_IPPROTO_ESP</a>   0x32</td></tr> |
| <tr class="memdesc:ga972743bbfb4ae299f29b38c9a356ce9a"><td class="mdescLeft"> </td><td class="mdescRight">Encapsulating Security Payload (50) <br /></td></tr> |
| <tr class="separator:ga972743bbfb4ae299f29b38c9a356ce9a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga17318a342c20e40f2eff4a058edcc666"><td class="memItemLeft" align="right" valign="top"><a id="ga17318a342c20e40f2eff4a058edcc666"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga17318a342c20e40f2eff4a058edcc666">ODPH_IPPROTO_ICMPV6</a>   0x3A</td></tr> |
| <tr class="memdesc:ga17318a342c20e40f2eff4a058edcc666"><td class="mdescLeft"> </td><td class="mdescRight">Internet Control Message Protocol (58) <br /></td></tr> |
| <tr class="separator:ga17318a342c20e40f2eff4a058edcc666"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga5e3c69f1227596395cfa015270251505"><td class="memItemLeft" align="right" valign="top"><a id="ga5e3c69f1227596395cfa015270251505"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga5e3c69f1227596395cfa015270251505">ODPH_IPPROTO_SCTP</a>   0x84</td></tr> |
| <tr class="memdesc:ga5e3c69f1227596395cfa015270251505"><td class="mdescLeft"> </td><td class="mdescRight">Stream Control Transmission protocol (132) <br /></td></tr> |
| <tr class="separator:ga5e3c69f1227596395cfa015270251505"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga26036cbe5a6f3972363f8aa50c7508d3"><td class="memItemLeft" align="right" valign="top"><a id="ga26036cbe5a6f3972363f8aa50c7508d3"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga26036cbe5a6f3972363f8aa50c7508d3">ODPH_IPPROTO_INVALID</a>   0xFF</td></tr> |
| <tr class="memdesc:ga26036cbe5a6f3972363f8aa50c7508d3"><td class="mdescLeft"> </td><td class="mdescRight">Reserved invalid by IANA. <br /></td></tr> |
| <tr class="separator:ga26036cbe5a6f3972363f8aa50c7508d3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga95ae2ff41951ed1886904dfaef6317f8"><td class="memItemLeft" align="right" valign="top"><a id="ga95ae2ff41951ed1886904dfaef6317f8"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga95ae2ff41951ed1886904dfaef6317f8">ODPH_ESPHDR_LEN</a>   8</td></tr> |
| <tr class="memdesc:ga95ae2ff41951ed1886904dfaef6317f8"><td class="mdescLeft"> </td><td class="mdescRight">IPSec ESP header length. <br /></td></tr> |
| <tr class="separator:ga95ae2ff41951ed1886904dfaef6317f8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga3ad46519db1b26d28f16d70376b4ff8c"><td class="memItemLeft" align="right" valign="top"><a id="ga3ad46519db1b26d28f16d70376b4ff8c"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga3ad46519db1b26d28f16d70376b4ff8c">ODPH_ESPTRL_LEN</a>   2</td></tr> |
| <tr class="memdesc:ga3ad46519db1b26d28f16d70376b4ff8c"><td class="mdescLeft"> </td><td class="mdescRight">IPSec ESP trailer length. <br /></td></tr> |
| <tr class="separator:ga3ad46519db1b26d28f16d70376b4ff8c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga0e26044d541c262a0478225c99032bce"><td class="memItemLeft" align="right" valign="top"><a id="ga0e26044d541c262a0478225c99032bce"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga0e26044d541c262a0478225c99032bce">ODPH_AHHDR_LEN</a>   12</td></tr> |
| <tr class="memdesc:ga0e26044d541c262a0478225c99032bce"><td class="mdescLeft"> </td><td class="mdescRight">IPSec AH header length. <br /></td></tr> |
| <tr class="separator:ga0e26044d541c262a0478225c99032bce"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga4294645e59ed0133c28ce5a8e90c7757"><td class="memItemLeft" align="right" valign="top"><a id="ga4294645e59ed0133c28ce5a8e90c7757"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga4294645e59ed0133c28ce5a8e90c7757">ODPH_SCTPHDR_LEN</a>   12</td></tr> |
| <tr class="memdesc:ga4294645e59ed0133c28ce5a8e90c7757"><td class="mdescLeft"> </td><td class="mdescRight">SCTP header length. <br /></td></tr> |
| <tr class="separator:ga4294645e59ed0133c28ce5a8e90c7757"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga508741c434452a2d87ed048792b158f8"><td class="memItemLeft" align="right" valign="top"><a id="ga508741c434452a2d87ed048792b158f8"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga508741c434452a2d87ed048792b158f8">ODPH_TCPHDR_LEN</a>   20</td></tr> |
| <tr class="memdesc:ga508741c434452a2d87ed048792b158f8"><td class="mdescLeft"> </td><td class="mdescRight">Min length of TCP header (no options) <br /></td></tr> |
| <tr class="separator:ga508741c434452a2d87ed048792b158f8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga95e6f17c51c594c9be19670901f5c2d5"><td class="memItemLeft" align="right" valign="top"><a id="ga95e6f17c51c594c9be19670901f5c2d5"></a> |
| #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga95e6f17c51c594c9be19670901f5c2d5">ODPH_UDPHDR_LEN</a>   8</td></tr> |
| <tr class="memdesc:ga95e6f17c51c594c9be19670901f5c2d5"><td class="mdescLeft"> </td><td class="mdescRight">UDP header length. <br /></td></tr> |
| <tr class="separator:ga95e6f17c51c594c9be19670901f5c2d5"><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:ga36dd4d76686b0fb78f369aa6cc83e51d"><td class="memItemLeft" align="right" valign="top"><a id="ga36dd4d76686b0fb78f369aa6cc83e51d"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga36dd4d76686b0fb78f369aa6cc83e51d">odph_ethaddr_t</a></td></tr> |
| <tr class="memdesc:ga36dd4d76686b0fb78f369aa6cc83e51d"><td class="mdescLeft"> </td><td class="mdescRight">Ethernet MAC address. <br /></td></tr> |
| <tr class="separator:ga36dd4d76686b0fb78f369aa6cc83e51d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga87f6c5770c0cf618e9774acf694215a3"><td class="memItemLeft" align="right" valign="top"><a id="ga87f6c5770c0cf618e9774acf694215a3"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga87f6c5770c0cf618e9774acf694215a3">odph_ethhdr_t</a></td></tr> |
| <tr class="memdesc:ga87f6c5770c0cf618e9774acf694215a3"><td class="mdescLeft"> </td><td class="mdescRight">Ethernet header. <br /></td></tr> |
| <tr class="separator:ga87f6c5770c0cf618e9774acf694215a3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga2e4f79e3cc4f63cfec8bbf875d61b101"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga2e4f79e3cc4f63cfec8bbf875d61b101">odph_vlanhdr_t</a></td></tr> |
| <tr class="memdesc:ga2e4f79e3cc4f63cfec8bbf875d61b101"><td class="mdescLeft"> </td><td class="mdescRight">IEEE 802.1Q VLAN header. <a href="group__odph__protocols.html#ga2e4f79e3cc4f63cfec8bbf875d61b101">More...</a><br /></td></tr> |
| <tr class="separator:ga2e4f79e3cc4f63cfec8bbf875d61b101"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5">odph_gtphdr_t</a></td></tr> |
| <tr class="memdesc:ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5"><td class="mdescLeft"> </td><td class="mdescRight">Simplified GTP protocol header. <a href="group__odph__protocols.html#ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5">More...</a><br /></td></tr> |
| <tr class="separator:ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gadbf941fc0e07a8d65a7c8ad41f0a8078"><td class="memItemLeft" align="right" valign="top"><a id="gadbf941fc0e07a8d65a7c8ad41f0a8078"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gadbf941fc0e07a8d65a7c8ad41f0a8078">odph_icmphdr_t</a></td></tr> |
| <tr class="memdesc:gadbf941fc0e07a8d65a7c8ad41f0a8078"><td class="mdescLeft"> </td><td class="mdescRight">ICMP header. <br /></td></tr> |
| <tr class="separator:gadbf941fc0e07a8d65a7c8ad41f0a8078"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gab19e45681f0b7bbf2025b40f1396a8d7"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gab19e45681f0b7bbf2025b40f1396a8d7">odph_igmphdr_t</a></td></tr> |
| <tr class="memdesc:gab19e45681f0b7bbf2025b40f1396a8d7"><td class="mdescLeft"> </td><td class="mdescRight">Simplified IGMP protocol header. <a href="group__odph__protocols.html#gab19e45681f0b7bbf2025b40f1396a8d7">More...</a><br /></td></tr> |
| <tr class="separator:gab19e45681f0b7bbf2025b40f1396a8d7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga9fe6f2c0270aaae211fbfb107a8e3179"><td class="memItemLeft" align="right" valign="top"><a id="ga9fe6f2c0270aaae211fbfb107a8e3179"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga9fe6f2c0270aaae211fbfb107a8e3179">odph_ipv4hdr_t</a></td></tr> |
| <tr class="memdesc:ga9fe6f2c0270aaae211fbfb107a8e3179"><td class="mdescLeft"> </td><td class="mdescRight">IPv4 header. <br /></td></tr> |
| <tr class="separator:ga9fe6f2c0270aaae211fbfb107a8e3179"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga95f33111150572ef86026174d554bc13"><td class="memItemLeft" align="right" valign="top"><a id="ga95f33111150572ef86026174d554bc13"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga95f33111150572ef86026174d554bc13">odph_ipv6hdr_t</a></td></tr> |
| <tr class="memdesc:ga95f33111150572ef86026174d554bc13"><td class="mdescLeft"> </td><td class="mdescRight">IPv6 header. <br /></td></tr> |
| <tr class="separator:ga95f33111150572ef86026174d554bc13"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga42e944d940dce6f49ecbc35cc0b04357"><td class="memItemLeft" align="right" valign="top"><a id="ga42e944d940dce6f49ecbc35cc0b04357"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga42e944d940dce6f49ecbc35cc0b04357">odph_ipv6hdr_ext_t</a></td></tr> |
| <tr class="memdesc:ga42e944d940dce6f49ecbc35cc0b04357"><td class="mdescLeft"> </td><td class="mdescRight">IPv6 Header extensions. <br /></td></tr> |
| <tr class="separator:ga42e944d940dce6f49ecbc35cc0b04357"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gab34b1d2d5648cd65424d99721db06835"><td class="memItemLeft" align="right" valign="top"><a id="gab34b1d2d5648cd65424d99721db06835"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gab34b1d2d5648cd65424d99721db06835">odph_esphdr_t</a></td></tr> |
| <tr class="memdesc:gab34b1d2d5648cd65424d99721db06835"><td class="mdescLeft"> </td><td class="mdescRight">IPSec ESP header. <br /></td></tr> |
| <tr class="separator:gab34b1d2d5648cd65424d99721db06835"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaa7fc9dbea42e375ade64529d146d5ef8"><td class="memItemLeft" align="right" valign="top"><a id="gaa7fc9dbea42e375ade64529d146d5ef8"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaa7fc9dbea42e375ade64529d146d5ef8">odph_esptrl_t</a></td></tr> |
| <tr class="memdesc:gaa7fc9dbea42e375ade64529d146d5ef8"><td class="mdescLeft"> </td><td class="mdescRight">IPSec ESP trailer. <br /></td></tr> |
| <tr class="separator:gaa7fc9dbea42e375ade64529d146d5ef8"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga7092beed517f273393fe34c16fe0f0fe"><td class="memItemLeft" align="right" valign="top"><a id="ga7092beed517f273393fe34c16fe0f0fe"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga7092beed517f273393fe34c16fe0f0fe">odph_ahhdr_t</a></td></tr> |
| <tr class="memdesc:ga7092beed517f273393fe34c16fe0f0fe"><td class="mdescLeft"> </td><td class="mdescRight">IPSec AH header. <br /></td></tr> |
| <tr class="separator:ga7092beed517f273393fe34c16fe0f0fe"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga28ba8e81dd52efaaffa575a4dc871378"><td class="memItemLeft" align="right" valign="top"><a id="ga28ba8e81dd52efaaffa575a4dc871378"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga28ba8e81dd52efaaffa575a4dc871378">odph_sctphdr_t</a></td></tr> |
| <tr class="memdesc:ga28ba8e81dd52efaaffa575a4dc871378"><td class="mdescLeft"> </td><td class="mdescRight">SCTP header. <br /></td></tr> |
| <tr class="separator:ga28ba8e81dd52efaaffa575a4dc871378"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gae5100d96f01b76d7b8916d9d476a5f7a"><td class="memItemLeft" align="right" valign="top"><a id="gae5100d96f01b76d7b8916d9d476a5f7a"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gae5100d96f01b76d7b8916d9d476a5f7a">odph_tcphdr_t</a></td></tr> |
| <tr class="memdesc:gae5100d96f01b76d7b8916d9d476a5f7a"><td class="mdescLeft"> </td><td class="mdescRight">TCP header. <br /></td></tr> |
| <tr class="separator:gae5100d96f01b76d7b8916d9d476a5f7a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gad2e57bfa51de9cefc4ecf5e8fdafef38"><td class="memItemLeft" align="right" valign="top"><a id="gad2e57bfa51de9cefc4ecf5e8fdafef38"></a> |
| typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gad2e57bfa51de9cefc4ecf5e8fdafef38">odph_udphdr_t</a></td></tr> |
| <tr class="memdesc:gad2e57bfa51de9cefc4ecf5e8fdafef38"><td class="mdescLeft"> </td><td class="mdescRight">UDP header. <br /></td></tr> |
| <tr class="separator:gad2e57bfa51de9cefc4ecf5e8fdafef38"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> |
| Functions</h2></td></tr> |
| <tr class="memitem:gacc7d9a0325d5f85f5a30e38ed00d4a5b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gacc7d9a0325d5f85f5a30e38ed00d4a5b">odph_eth_addr_parse</a> (<a class="el" href="group__odph__protocols.html#ga36dd4d76686b0fb78f369aa6cc83e51d">odph_ethaddr_t</a> *mac, const char *str)</td></tr> |
| <tr class="memdesc:gacc7d9a0325d5f85f5a30e38ed00d4a5b"><td class="mdescLeft"> </td><td class="mdescRight">Parse Ethernet from a string. <a href="group__odph__protocols.html#gacc7d9a0325d5f85f5a30e38ed00d4a5b">More...</a><br /></td></tr> |
| <tr class="separator:gacc7d9a0325d5f85f5a30e38ed00d4a5b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga03405b200c29626227be7ec265e0eab3"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga03405b200c29626227be7ec265e0eab3">odph_ipv4_csum</a> (odp_packet_t pkt, uint32_t offset, <a class="el" href="group__odph__protocols.html#ga9fe6f2c0270aaae211fbfb107a8e3179">odph_ipv4hdr_t</a> *ip, odp_u16sum_t *chksum)</td></tr> |
| <tr class="memdesc:ga03405b200c29626227be7ec265e0eab3"><td class="mdescLeft"> </td><td class="mdescRight">Calculate IPv4 header checksum. <a href="group__odph__protocols.html#ga03405b200c29626227be7ec265e0eab3">More...</a><br /></td></tr> |
| <tr class="separator:ga03405b200c29626227be7ec265e0eab3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga23c9fc01880719c53d45ee9f6dbf5457"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga23c9fc01880719c53d45ee9f6dbf5457">odph_ipv4_csum_valid</a> (odp_packet_t pkt)</td></tr> |
| <tr class="memdesc:ga23c9fc01880719c53d45ee9f6dbf5457"><td class="mdescLeft"> </td><td class="mdescRight">Check if IPv4 checksum is valid. <a href="group__odph__protocols.html#ga23c9fc01880719c53d45ee9f6dbf5457">More...</a><br /></td></tr> |
| <tr class="separator:ga23c9fc01880719c53d45ee9f6dbf5457"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga8661fe1260c02b322448199f1ae66fb0"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga8661fe1260c02b322448199f1ae66fb0">odph_ipv4_csum_update</a> (odp_packet_t pkt)</td></tr> |
| <tr class="memdesc:ga8661fe1260c02b322448199f1ae66fb0"><td class="mdescLeft"> </td><td class="mdescRight">Calculate and fill in IPv4 checksum. <a href="group__odph__protocols.html#ga8661fe1260c02b322448199f1ae66fb0">More...</a><br /></td></tr> |
| <tr class="separator:ga8661fe1260c02b322448199f1ae66fb0"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gaff0f87c58df837c02ab5fd9df4f6992d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gaff0f87c58df837c02ab5fd9df4f6992d">odph_ipv4_addr_parse</a> (uint32_t *ip_addr, const char *str)</td></tr> |
| <tr class="memdesc:gaff0f87c58df837c02ab5fd9df4f6992d"><td class="mdescLeft"> </td><td class="mdescRight">Parse IPv4 address from a string. <a href="group__odph__protocols.html#gaff0f87c58df837c02ab5fd9df4f6992d">More...</a><br /></td></tr> |
| <tr class="separator:gaff0f87c58df837c02ab5fd9df4f6992d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga1eb784e4c9cb0e80f9f9a36b18c97240"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga1eb784e4c9cb0e80f9f9a36b18c97240">odph_ipsec_alg_check</a> (const odp_ipsec_capability_t *capa, odp_cipher_alg_t cipher_alg, uint32_t cipher_key_len, odp_auth_alg_t auth_alg, uint32_t auth_key_len)</td></tr> |
| <tr class="memdesc:ga1eb784e4c9cb0e80f9f9a36b18c97240"><td class="mdescLeft"> </td><td class="mdescRight">Check IPSEC algorithm support. <a href="group__odph__protocols.html#ga1eb784e4c9cb0e80f9f9a36b18c97240">More...</a><br /></td></tr> |
| <tr class="separator:ga1eb784e4c9cb0e80f9f9a36b18c97240"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ga6ae7890fbbc14c2944c9a04b4024d779"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#ga6ae7890fbbc14c2944c9a04b4024d779">odph_ipsec_auth_icv_len_default</a> (odp_auth_alg_t auth_alg)</td></tr> |
| <tr class="memdesc:ga6ae7890fbbc14c2944c9a04b4024d779"><td class="mdescLeft"> </td><td class="mdescRight">Return the default ICV length of an algorithm. <a href="group__odph__protocols.html#ga6ae7890fbbc14c2944c9a04b4024d779">More...</a><br /></td></tr> |
| <tr class="separator:ga6ae7890fbbc14c2944c9a04b4024d779"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:gae9d9799fc6bd231a1217ff0cbcb689c3"><td class="memItemLeft" align="right" valign="top">static uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__odph__protocols.html#gae9d9799fc6bd231a1217ff0cbcb689c3">odph_ipv4_udp_chksum</a> (odp_packet_t pkt)</td></tr> |
| <tr class="memdesc:gae9d9799fc6bd231a1217ff0cbcb689c3"><td class="mdescLeft"> </td><td class="mdescRight">UDP checksum. <a href="group__odph__protocols.html#gae9d9799fc6bd231a1217ff0cbcb689c3">More...</a><br /></td></tr> |
| <tr class="separator:gae9d9799fc6bd231a1217ff0cbcb689c3"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <h2 class="groupheader">Macro Definition Documentation</h2> |
| <a id="ga1827e7ffd773820e2c1cc4a2a757e942"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga1827e7ffd773820e2c1cc4a2a757e942">◆ </a></span>ODPH_IP_TOS_MAX_DSCP</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IP_TOS_MAX_DSCP   63</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>The one byte IPv4 tos or IPv6 tc field is composed of the following two subfields - a six bit Differentiated Service Code Point (DSCP) and a two bit Explicit Congestion Notification (ECN) subfield. </p> |
| <p>The following constants can be used to extract or modify these fields. Despite the name prefix being ODPH_IP_TOS_* these constants apply equally well for the IPv6 Traffic Class (tc) field. 6-bit DSCP field has max value 63 <br /> |
| </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00040">40</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga8e8af5901fbee0e3fd9abda555372dc9"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga8e8af5901fbee0e3fd9abda555372dc9">◆ </a></span>ODPH_IP_TOS_ECN_SHIFT</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IP_TOS_ECN_SHIFT   0</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>ECN field is not shifted. </p> |
| <p><br /> |
| </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00045">45</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga23f2b3d4745e0c28bbc38ce670da8333"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga23f2b3d4745e0c28bbc38ce670da8333">◆ </a></span>ODPH_IP_ECN_NOT_ECT</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IP_ECN_NOT_ECT   0</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>The following constants give names to the four possible ECN values, as described in RFC 3168. </p> |
| <p>0 indicates not participating in ECN </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00050">50</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga43ec8785084431f8d2a45a6cea68d10c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga43ec8785084431f8d2a45a6cea68d10c">◆ </a></span>ODPH_IPV4HDR_VER</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV4HDR_VER</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">ver_ihl</td><td>)</td> |
| <td>   (((ver_ihl) & 0xf0) >> 4)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns IPv4 version </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00056">56</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga1777702bc08f58f02100c219b6bfe530"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga1777702bc08f58f02100c219b6bfe530">◆ </a></span>ODPH_IPV4HDR_IHL</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV4HDR_IHL</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">ver_ihl</td><td>)</td> |
| <td>   ((ver_ihl) & 0x0f)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns IPv4 header length </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00059">59</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="gaaaa9b2ce414b22faf34fae8d6b2a9f21"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gaaaa9b2ce414b22faf34fae8d6b2a9f21">◆ </a></span>ODPH_IPV4HDR_DSCP</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV4HDR_DSCP</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">tos</td><td>)</td> |
| <td>   (((tos) & 0xfc) >> 2)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns IPv4 DSCP </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00062">62</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="gaa3a5b0adcda78a07f2491b0dbfea1899"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gaa3a5b0adcda78a07f2491b0dbfea1899">◆ </a></span>ODPH_IPV4HDR_FLAGS_DONT_FRAG</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV4HDR_FLAGS_DONT_FRAG</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">frag_offset</td><td>)</td> |
| <td>   ((frag_offset) & 0x4000)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns IPv4 Don't fragment </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00065">65</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga4667a19a6cc46d98fd19c3ae54c5724b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga4667a19a6cc46d98fd19c3ae54c5724b">◆ </a></span>ODPH_IPV4HDR_FLAGS_MORE_FRAGS</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV4HDR_FLAGS_MORE_FRAGS</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">frag_offset</td><td>)</td> |
| <td>   ((frag_offset) & 0x2000)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns IPv4 more fragments </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00068">68</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="gab6dfd2884a295fabfbfd13f2badf5f87"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gab6dfd2884a295fabfbfd13f2badf5f87">◆ </a></span>ODPH_IPV4HDR_FRAG_OFFSET</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV4HDR_FRAG_OFFSET</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">frag_offset</td><td>)</td> |
| <td>   ((frag_offset) & 0x1fff)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns IPv4 fragment offset </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00071">71</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga65cd376cbfb965737205a6a349d0a851"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga65cd376cbfb965737205a6a349d0a851">◆ </a></span>ODPH_IPV4HDR_IS_FRAGMENT</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV4HDR_IS_FRAGMENT</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">frag_offset</td><td>)</td> |
| <td>   ((frag_offset) & 0x3fff)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns true if IPv4 packet is a fragment </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00074">74</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga59bbb2ae671ba2ce4d89e316849a4993"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga59bbb2ae671ba2ce4d89e316849a4993">◆ </a></span>ODPH_IPV4HDR_CSUM_OFFSET</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV4HDR_CSUM_OFFSET   10</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Checksum offset in IPv4 header </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00077">77</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="gae8b6b362771a274a5688d6bc3d85222d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gae8b6b362771a274a5688d6bc3d85222d">◆ </a></span>ODPH_IPV6HDR_VERSION_MASK</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV6HDR_VERSION_MASK   0xF0000000</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>The following constants can be used to access the three subfields of the 4 byte ver_tc_flow field - namely the four bit Version subfield, the eight bit Traffic Class subfield (TC) and the twenty bit Flow Label subfield. </p> |
| <p>Note that the IPv6 TC field is analogous to the IPv4 TOS field and is composed of the DSCP and ECN subfields. Use the ODPH_IP_TOS_* constants above to access these subfields. Version field bit mask </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00213">213</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga082c9298e331f737a05e91e5bf4c0570"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga082c9298e331f737a05e91e5bf4c0570">◆ </a></span>ODPH_IPV6HDR_DSCP</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define ODPH_IPV6HDR_DSCP</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">ver_tc_flow</td><td>)</td> |
| <td>    (uint8_t)((((ver_tc_flow) & 0x0fc00000) >> 22) & 0xff)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Returns IPv6 DSCP </p> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00221">221</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Typedef Documentation</h2> |
| <a id="ga2e4f79e3cc4f63cfec8bbf875d61b101"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga2e4f79e3cc4f63cfec8bbf875d61b101">◆ </a></span>odph_vlanhdr_t</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> <a class="el" href="group__odph__protocols.html#ga2e4f79e3cc4f63cfec8bbf875d61b101">odph_vlanhdr_t</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>IEEE 802.1Q VLAN header. </p> |
| <p>This field is present when the EtherType (the odph_ethhdr_t type field) of the preceding ethernet header is ODPH_ETHTYPE_VLAN. The inner EtherType (the odph_vlanhdr_t type field) then indicates what comes next. Note that the so called TPID field isn't here because it overlaps with the odph_ethhdr_t type field. </p> |
| |
| </div> |
| </div> |
| <a id="ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5">◆ </a></span>odph_gtphdr_t</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> <a class="el" href="group__odph__protocols.html#ga6d1f12a5f80e9e1ac6f8f764d1ddb8f5">odph_gtphdr_t</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Simplified GTP protocol header. </p> |
| <p>Contains 8-bit gtp_hdr_info, 8-bit msg_type, 16-bit plen, 32-bit teid. No optional fields and next extension header. </p> |
| |
| </div> |
| </div> |
| <a id="gab19e45681f0b7bbf2025b40f1396a8d7"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gab19e45681f0b7bbf2025b40f1396a8d7">◆ </a></span>odph_igmphdr_t</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">typedef struct <a class="el" href="structODP__PACKED.html">ODP_PACKED</a> <a class="el" href="group__odph__protocols.html#gab19e45681f0b7bbf2025b40f1396a8d7">odph_igmphdr_t</a></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Simplified IGMP protocol header. </p> |
| <p>Contains 8-bit type, 8-bit code, 16-bit csum, 32-bit group. No optional fields and next extension header. </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Function Documentation</h2> |
| <a id="gacc7d9a0325d5f85f5a30e38ed00d4a5b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gacc7d9a0325d5f85f5a30e38ed00d4a5b">◆ </a></span>odph_eth_addr_parse()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int odph_eth_addr_parse </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="group__odph__protocols.html#ga36dd4d76686b0fb78f369aa6cc83e51d">odph_ethaddr_t</a> * </td> |
| <td class="paramname"><em>mac</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>str</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Parse Ethernet from a string. </p> |
| <p>Parses Ethernet MAC address from the string which must be passed in format of six hexadecimal digits delimited by colons (xx:xx:xx:xx:xx:xx). Both upper and lower case characters are supported. All six digits have to be present and may have leading zeros. String does not have to be NULL terminated. The address is written only when successful.</p> |
| <p>This function may be called before ODP initialization.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramdir">[out]</td><td class="paramname">mac</td><td>Pointer to Ethernet address for output </td></tr> |
| <tr><td class="paramdir"></td><td class="paramname">str</td><td>MAC address string to be parsed</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="retval"><dt>Return values</dt><dd> |
| <table class="retval"> |
| <tr><td class="paramname">0</td><td>on success </td></tr> |
| <tr><td class="paramname"><0</td><td>on failure </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ga03405b200c29626227be7ec265e0eab3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga03405b200c29626227be7ec265e0eab3">◆ </a></span>odph_ipv4_csum()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static int odph_ipv4_csum </td> |
| <td>(</td> |
| <td class="paramtype">odp_packet_t </td> |
| <td class="paramname"><em>pkt</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">uint32_t </td> |
| <td class="paramname"><em>offset</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="group__odph__protocols.html#ga9fe6f2c0270aaae211fbfb107a8e3179">odph_ipv4hdr_t</a> * </td> |
| <td class="paramname"><em>ip</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">odp_u16sum_t * </td> |
| <td class="paramname"><em>chksum</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Calculate IPv4 header checksum. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramdir"></td><td class="paramname">pkt</td><td>The packet to be checksummed </td></tr> |
| <tr><td class="paramdir"></td><td class="paramname">offset</td><td>Offset into pkt of start of IP header </td></tr> |
| <tr><td class="paramdir"></td><td class="paramname">ip</td><td>Pointer to IPv4 header to be checksummed </td></tr> |
| <tr><td class="paramdir">[out]</td><td class="paramname">chksum</td><td>Field to receive checksum results</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="retval"><dt>Return values</dt><dd> |
| <table class="retval"> |
| <tr><td class="paramname">0</td><td>On success </td></tr> |
| <tr><td class="paramname"><0</td><td>On failure </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00109">109</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| <p class="reference">References <a class="el" href="icmp_8h_source.html#l00033">ODP_PACKED::chksum</a>, <a class="el" href="ip_8h_source.html#l00059">ODPH_IPV4HDR_IHL</a>, and <a class="el" href="ip_8h_source.html#l00081">ODP_PACKED::ver_ihl</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="ip_8h_source.html#l00173">odph_ipv4_csum_update()</a>, and <a class="el" href="ip_8h_source.html#l00141">odph_ipv4_csum_valid()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ga23c9fc01880719c53d45ee9f6dbf5457"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga23c9fc01880719c53d45ee9f6dbf5457">◆ </a></span>odph_ipv4_csum_valid()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static int odph_ipv4_csum_valid </td> |
| <td>(</td> |
| <td class="paramtype">odp_packet_t </td> |
| <td class="paramname"><em>pkt</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Check if IPv4 checksum is valid. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">pkt</td><td>ODP packet</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>1 if checksum is valid, otherwise 0 </dd></dl> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00141">141</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| <p class="reference">References <a class="el" href="icmp_8h_source.html#l00033">ODP_PACKED::chksum</a>, and <a class="el" href="ip_8h_source.html#l00109">odph_ipv4_csum()</a>.</p> |
| <div class="dynheader"> |
| Here is the call graph for this function:</div> |
| <div class="dyncontent"> |
| <div class="center"><iframe scrolling="no" frameborder="0" src="group__odph__protocols_ga23c9fc01880719c53d45ee9f6dbf5457_cgraph.svg" width="360" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> |
| </div> |
| </div> |
| |
| </div> |
| </div> |
| <a id="ga8661fe1260c02b322448199f1ae66fb0"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga8661fe1260c02b322448199f1ae66fb0">◆ </a></span>odph_ipv4_csum_update()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static int odph_ipv4_csum_update </td> |
| <td>(</td> |
| <td class="paramtype">odp_packet_t </td> |
| <td class="paramname"><em>pkt</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Calculate and fill in IPv4 checksum. </p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">pkt</td><td>ODP packet</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="retval"><dt>Return values</dt><dd> |
| <table class="retval"> |
| <tr><td class="paramname">0</td><td>on success </td></tr> |
| <tr><td class="paramname"><0</td><td>on failure </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| <p class="definition">Definition at line <a class="el" href="ip_8h_source.html#l00173">173</a> of file <a class="el" href="ip_8h_source.html">ip.h</a>.</p> |
| |
| <p class="reference">References <a class="el" href="ip_8h_source.html#l00109">odph_ipv4_csum()</a>, and <a class="el" href="ip_8h_source.html#l00077">ODPH_IPV4HDR_CSUM_OFFSET</a>.</p> |
| <div class="dynheader"> |
| Here is the call graph for this function:</div> |
| <div class="dyncontent"> |
| <div class="center"><iframe scrolling="no" frameborder="0" src="group__odph__protocols_ga8661fe1260c02b322448199f1ae66fb0_cgraph.svg" width="372" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> |
| </div> |
| </div> |
| |
| </div> |
| </div> |
| <a id="gaff0f87c58df837c02ab5fd9df4f6992d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gaff0f87c58df837c02ab5fd9df4f6992d">◆ </a></span>odph_ipv4_addr_parse()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int odph_ipv4_addr_parse </td> |
| <td>(</td> |
| <td class="paramtype">uint32_t * </td> |
| <td class="paramname"><em>ip_addr</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">const char * </td> |
| <td class="paramname"><em>str</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Parse IPv4 address from a string. </p> |
| <p>Parses IPv4 address from the string which must be passed in the format of four decimal digits delimited by dots (xxx.xxx.xxx.xxx). All four digits have to be present and may have leading zeros. String does not have to be NULL terminated. The address is written only when successful. The address byte order is CPU native.</p> |
| <p>This function may be called before ODP initialization.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramdir">[out]</td><td class="paramname">ip_addr</td><td>Pointer to IPv4 address for output (in native endian) </td></tr> |
| <tr><td class="paramdir"></td><td class="paramname">str</td><td>IPv4 address string to be parsed</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="retval"><dt>Return values</dt><dd> |
| <table class="retval"> |
| <tr><td class="paramname">0</td><td>on success </td></tr> |
| <tr><td class="paramname"><0</td><td>on failure </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ga1eb784e4c9cb0e80f9f9a36b18c97240"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga1eb784e4c9cb0e80f9f9a36b18c97240">◆ </a></span>odph_ipsec_alg_check()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int odph_ipsec_alg_check </td> |
| <td>(</td> |
| <td class="paramtype">const odp_ipsec_capability_t * </td> |
| <td class="paramname"><em>capa</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">odp_cipher_alg_t </td> |
| <td class="paramname"><em>cipher_alg</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">uint32_t </td> |
| <td class="paramname"><em>cipher_key_len</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">odp_auth_alg_t </td> |
| <td class="paramname"><em>auth_alg</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">uint32_t </td> |
| <td class="paramname"><em>auth_key_len</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Check IPSEC algorithm support. </p> |
| <p>Based on the capabilities exposed by the ODP implementation, check whether the specified IPSEC algorithm configuration with the default ICV length is supported by the implementation. The caller provides the IPSEC capability structure as an argument to the helper function.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">capa</td><td>IPSEC capability structure </td></tr> |
| <tr><td class="paramname">cipher_alg</td><td>Cipher algorithm </td></tr> |
| <tr><td class="paramname">cipher_key_len</td><td>Length of cipher key in bytes </td></tr> |
| <tr><td class="paramname">auth_alg</td><td>Authentication algorithm </td></tr> |
| <tr><td class="paramname">auth_key_len</td><td>Length of authentication key in bytes</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="retval"><dt>Return values</dt><dd> |
| <table class="retval"> |
| <tr><td class="paramname">0</td><td>on success </td></tr> |
| <tr><td class="paramname"><0</td><td>on failure </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ga6ae7890fbbc14c2944c9a04b4024d779"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ga6ae7890fbbc14c2944c9a04b4024d779">◆ </a></span>odph_ipsec_auth_icv_len_default()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">uint32_t odph_ipsec_auth_icv_len_default </td> |
| <td>(</td> |
| <td class="paramtype">odp_auth_alg_t </td> |
| <td class="paramname"><em>auth_alg</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Return the default ICV length of an algorithm. </p> |
| <p>IPsec API specifies default ICV length for each authentication and combined mode algorithm. This function returns the default ICV length.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">auth_alg</td><td>Authentication algorithm</td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>The default ICV length in bytes </dd></dl> |
| |
| </div> |
| </div> |
| <a id="gae9d9799fc6bd231a1217ff0cbcb689c3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#gae9d9799fc6bd231a1217ff0cbcb689c3">◆ </a></span>odph_ipv4_udp_chksum()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="mlabels"> |
| <tr> |
| <td class="mlabels-left"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">static uint16_t odph_ipv4_udp_chksum </td> |
| <td>(</td> |
| <td class="paramtype">odp_packet_t </td> |
| <td class="paramname"><em>pkt</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </td> |
| <td class="mlabels-right"> |
| <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>UDP checksum. </p> |
| <p>This function calculates the UDP checksum given an odp packet.</p> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">pkt</td><td>calculate chksum for pkt </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>checksum value in BE endianness </dd></dl> |
| |
| <p class="definition">Definition at line <a class="el" href="udp_8h_source.html#l00045">45</a> of file <a class="el" href="udp_8h_source.html">udp.h</a>.</p> |
| |
| <p class="reference">References <a class="el" href="chksum_8h_source.html#l00034">ODPH_CHKSUM_RETURN</a>, and <a class="el" href="group__odph__chksum.html#gac208183f2a33d5c60ecc2d12bb02351a">odph_udp_tcp_chksum()</a>.</p> |
| <div class="dynheader"> |
| Here is the call graph for this function:</div> |
| <div class="dyncontent"> |
| <div class="center"><iframe scrolling="no" frameborder="0" src="group__odph__protocols_gae9d9799fc6bd231a1217ff0cbcb689c3_cgraph.svg" width="408" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> |
| </div> |
| </div> |
| |
| </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> |