<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/622b367281ded46b7f569419/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/622b367281ded46b7f569419/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">Implemen<span class="_ _0"></span>ting<span class="_ _1"> </span>a<span class="_ _1"> </span>New<span class="_ _1"> </span>Manet<span class="_ _1"> </span>Unicast<span class="_ _1"> </span>Routing</div><div class="t m0 x2 h2 y2 ff1 fs0 fc0 sc0 ls0 ws0">Proto<span class="_ _2"></span>col<span class="_ _1"> </span>in<span class="_ _1"> </span>NS2</div><div class="t m0 x3 h3 y3 ff2 fs1 fc0 sc0 ls0 ws0">F<span class="_ _3"></span>rancisco<span class="_ _4"> </span>J.<span class="_ _4"> </span>Ros</div><div class="t m0 x4 h3 y4 ff2 fs1 fc0 sc0 ls0 ws0">P<span class="_ _0"></span>edro<span class="_ _4"> </span>M.<span class="_ _4"> </span>Ruiz</div><div class="t m0 x5 h4 y5 ff3 fs1 fc0 sc0 ls0 ws0">{<span class="ff4">fjrm,<span class="_ _5"> </span>p<span class="_ _2"></span>edrom</span>}<span class="ff4">@dif.um.es</span></div><div class="t m0 x6 h5 y6 ff5 fs1 fc0 sc0 ls0 ws0">Dept.<span class="_ _1"> </span>of<span class="_ _4"> </span>Information<span class="_ _5"> </span>and<span class="_ _4"> </span>Communic<span class="_ _0"></span>ations<span class="_ _5"> </span>Engine<span class="_ _0"></span>ering</div><div class="t m0 x7 h5 y7 ff5 fs1 fc0 sc0 ls0 ws0">University<span class="_ _6"> </span>of<span class="_ _6"> </span>Mur<span class="_ _0"></span>cia</div><div class="t m0 x8 h5 y8 ff4 fs1 fc0 sc0 ls0 ws0">Decem<span class="_ _0"></span>b<span class="_ _2"></span>er,<span class="_ _5"> </span>2004</div><div class="t m0 x9 h6 y9 ff6 fs2 fc0 sc0 ls0 ws0">1</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/622b367281ded46b7f569419/bg2.jpg"><div class="t m0 xa h6 ya ff6 fs2 fc0 sc0 ls0 ws0">Cop<span class="_ _0"></span>yright<span class="_ _7"> </span>(c)<span class="_ _7"> </span>2004<span class="_ _8"> </span>F<span class="_ _9"></span>rancisco<span class="_ _7"> </span>J.<span class="_ _8"> </span>Ros<span class="_ _7"> </span>and<span class="_ _8"> </span>P<span class="_ _0"></span>edro<span class="_ _8"> </span>M.<span class="_ _7"> </span>Ruiz.</div><div class="t m0 xa h6 yb ff6 fs2 fc0 sc0 ls0 ws0">P<span class="_ _0"></span>ermission<span class="_ _5"> </span>is<span class="_ _5"> </span>gran<span class="_ _0"></span>ted<span class="_ _5"> </span>to<span class="_ _8"> </span>copy<span class="_ _3"></span>,<span class="_ _5"> </span>distribute<span class="_ _5"> </span>and/or<span class="_ _5"> </span>modify<span class="_ _5"> </span>this<span class="_ _5"> </span>docu-</div><div class="t m0 xa h6 yc ff6 fs2 fc0 sc0 ls0 ws0">men<span class="_ _0"></span>t<span class="_ _a"> </span>under<span class="_ _a"> </span>the<span class="_ _b"> </span>terms<span class="_ _b"> </span>of<span class="_ _a"> </span>the<span class="_ _b"> </span>GNU<span class="_ _a"> </span>F<span class="_ _9"></span>ree<span class="_ _b"> </span>Do<span class="_ _2"></span>cumen<span class="_ _0"></span>tation<span class="_ _a"> </span>License,<span class="_ _a"> </span>V<span class="_ _9"></span>er-</div><div class="t m0 xa h6 yd ff6 fs2 fc0 sc0 ls0 ws0">sion<span class="_ _5"> </span>1.2<span class="_ _5"> </span>or<span class="_ _5"> </span>an<span class="_ _0"></span>y<span class="_ _5"> </span>later<span class="_ _5"> </span>v<span class="_ _0"></span>ersion<span class="_ _5"> </span>published<span class="_ _5"> </span>b<span class="_ _0"></span>y<span class="_ _5"> </span>the<span class="_ _5"> </span>F<span class="_ _3"></span>ree<span class="_ _5"> </span>Softw<span class="_ _0"></span>are<span class="_ _5"> </span>F<span class="_ _9"></span>oun-</div><div class="t m0 xa h6 ye ff6 fs2 fc0 sc0 ls0 ws0">dation;<span class="_ _c"> </span>with<span class="_ _6"> </span>no<span class="_ _4"> </span>Inv<span class="_ _9"></span>ariant<span class="_ _5"> </span>Sections,<span class="_ _c"> </span>no<span class="_ _6"> </span>F<span class="_ _9"></span>ront-Co<span class="_ _0"></span>v<span class="_ _0"></span>er<span class="_ _4"> </span>T<span class="_ _9"></span>exts,<span class="_ _4"> </span>and<span class="_ _4"> </span>no</div><div class="t m0 xa h6 y2 ff6 fs2 fc0 sc0 ls0 ws0">Bac<span class="_ _0"></span>k-Cov<span class="_ _0"></span>er<span class="_ _5"> </span>T<span class="_ _9"></span>exts.<span class="_ _d"> </span>A<span class="_ _5"> </span>cop<span class="_ _0"></span>y<span class="_ _5"> </span>of<span class="_ _5"> </span>the<span class="_ _5"> </span>license<span class="_ _5"> </span>is<span class="_ _5"> </span>included<span class="_ _8"> </span>in<span class="_ _5"> </span>the<span class="_ _5"> </span>section</div><div class="t m0 xa h6 yf ff6 fs2 fc0 sc0 ls0 ws0">en<span class="_ _0"></span>titled<span class="_ _8"> </span>”GNU<span class="_ _7"> </span>F<span class="_ _9"></span>ree<span class="_ _8"> </span>Do<span class="_ _2"></span>cumen<span class="_ _0"></span>tation<span class="_ _7"> </span>License”.</div><div class="t m0 x9 h6 y9 ff6 fs2 fc0 sc0 ls0 ws0">2</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/622b367281ded46b7f569419/bg3.jpg"><div class="t m0 xb h7 ya ff2 fs3 fc0 sc0 ls0 ws0">Con<span class="_ _0"></span>ten<span class="_ _0"></span>ts</div><div class="t m0 xb h6 y10 ff7 fs2 fc0 sc0 ls0 ws0">1<span class="_ _e"> </span>In<span class="_ _0"></span>tro<span class="_ _2"></span>duction<span class="_ _f"> </span>4</div><div class="t m0 xb h6 y11 ff7 fs2 fc0 sc0 ls0 ws0">2<span class="_ _e"> </span>Getting<span class="_ _5"> </span>Started<span class="_ _10"> </span>4</div><div class="t m0 xb h6 y12 ff7 fs2 fc0 sc0 ls0 ws0">3<span class="_ _e"> </span>P<span class="_ _0"></span>ack<span class="_ _0"></span>et<span class="_ _5"> </span>T<span class="_ _0"></span>yp<span class="_"> </span>es<span class="_ _11"> </span>5</div><div class="t m0 xb h6 y13 ff7 fs2 fc0 sc0 ls0 ws0">4<span class="_ _e"> </span>The<span class="_ _5"> </span>Routing<span class="_ _5"> </span>Agen<span class="_ _0"></span>t<span class="_ _12"> </span>7</div><div class="t m0 xc h6 y14 ff6 fs2 fc0 sc0 ls0 ws0">4.1<span class="_ _13"> </span>Tcl<span class="_ _7"> </span>ho<span class="_ _2"></span>oks<span class="_ _14"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>10</div><div class="t m0 xc h6 y15 ff6 fs2 fc0 sc0 ls0 ws0">4.2<span class="_ _13"> </span>Timers<span class="_ _5"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _15"> </span>11</div><div class="t m0 xc h6 y16 ff6 fs2 fc0 sc0 ls0 ws0">4.3<span class="_ _13"> </span>Agen<span class="_ _0"></span>t<span class="_ _16"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>11</div><div class="t m0 xd h6 y17 ff6 fs2 fc0 sc0 ls0 ws0">4.3.1<span class="_ _17"> </span>Constructor<span class="_ _4"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>11</div><div class="t m0 xd h6 y18 ff6 fs2 fc0 sc0 ls0 ws0">4.3.2<span class="_ _17"> </span>command()<span class="_ _18"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>11</div><div class="t m0 xd h6 y19 ff6 fs2 fc0 sc0 ls0 ws0">4.3.3<span class="_ _17"> </span>recv()<span class="_ _19"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>13</div><div class="t m0 xd h6 y1a ff6 fs2 fc0 sc0 ls0 ws0">4.3.4<span class="_ _17"> </span>recv<span class="_ _8"> </span>protoname<span class="_ _5"> </span>pkt()<span class="_ _1a"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _15"> </span>15</div><div class="t m0 xd h6 y1b ff6 fs2 fc0 sc0 ls0 ws0">4.3.5<span class="_ _17"> </span>send<span class="_ _8"> </span>protoname<span class="_ _5"> </span>pkt()<span class="_ _19"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _15"> </span>15</div><div class="t m0 xd h6 y1c ff6 fs2 fc0 sc0 ls0 ws0">4.3.6<span class="_ _17"> </span>reset<span class="_ _8"> </span>protoname<span class="_ _5"> </span>pkt<span class="_ _7"> </span>timer()<span class="_ _7"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>17</div><div class="t m0 xd h6 y1d ff6 fs2 fc0 sc0 ls0 ws0">4.3.7<span class="_ _17"> </span>forw<span class="_ _0"></span>ard<span class="_ _5"> </span>data()<span class="_ _1b"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>17</div><div class="t m0 xb h6 y1e ff7 fs2 fc0 sc0 ls0 ws0">5<span class="_ _e"> </span>The<span class="_ _5"> </span>Routing<span class="_ _5"> </span>T<span class="_ _3"></span>able<span class="_ _1c"> </span>18</div><div class="t m0 xb h6 y1f ff7 fs2 fc0 sc0 ls0 ws0">6<span class="_ _e"> </span>Needed<span class="_ _5"> </span>Changes<span class="_ _1d"> </span>20</div><div class="t m0 xc h6 y20 ff6 fs2 fc0 sc0 ls0 ws0">6.1<span class="_ _13"> </span>P<span class="_ _0"></span>ack<span class="_ _0"></span>et<span class="_ _7"> </span>type<span class="_ _8"> </span>declaration<span class="_ _1a"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>20</div><div class="t m0 xc h6 y21 ff6 fs2 fc0 sc0 ls0 ws0">6.2<span class="_ _13"> </span>T<span class="_ _9"></span>racing<span class="_ _7"> </span>supp<span class="_ _2"></span>ort<span class="_ _7"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>21</div><div class="t m0 xc h6 y22 ff6 fs2 fc0 sc0 ls0 ws0">6.3<span class="_ _13"> </span>Tcl<span class="_ _7"> </span>library<span class="_ _7"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _15"> </span>23</div><div class="t m0 xc h6 y23 ff6 fs2 fc0 sc0 ls0 ws0">6.4<span class="_ _13"> </span>Priorit<span class="_ _0"></span>y<span class="_ _8"> </span>queue<span class="_ _a"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _15"> </span>24</div><div class="t m0 xc h6 y24 ff6 fs2 fc0 sc0 ls0 ws0">6.5<span class="_ _13"> </span>Mak<span class="_ _0"></span>efile<span class="_ _d"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _c"> </span>.<span class="_ _1"> </span>.<span class="_ _c"> </span>.<span class="_ _15"> </span>25</div><div class="t m0 xb h6 y25 ff7 fs2 fc0 sc0 ls0 ws0">7<span class="_ _e"> </span>Receiving<span class="_ _5"> </span>Information<span class="_ _5"> </span>from<span class="_ _8"> </span>Lay<span class="_ _0"></span>er-2<span class="_ _5"> </span>Protocols<span class="_ _1e"> </span>25</div><div class="t m0 xb h6 y26 ff7 fs2 fc0 sc0 ls0 ws0">8<span class="_ _e"> </span>Supp<span class="_ _2"></span>ort<span class="_ _5"> </span>for<span class="_ _8"> </span>Wired-Cum-Wireless<span class="_ _5"> </span>Simulations<span class="_ _1f"> </span>27</div><div class="t m0 xb h6 y27 ff7 fs2 fc0 sc0 ls0 ws0">A<span class="_ _20"> </span>GNU<span class="_ _5"> </span>F<span class="_ _3"></span>ree<span class="_ _5"> </span>Do<span class="_ _2"></span>cumen<span class="_ _0"></span>tation<span class="_ _5"> </span>License<span class="_ _21"> </span>29</div><div class="t m0 xb h6 y28 ff7 fs2 fc0 sc0 ls0 ws0">1.<span class="_ _c"> </span>APPLICABILITY<span class="_ _5"> </span>AND<span class="_ _5"> </span>DEFINITIONS<span class="_ _22"> </span>29</div><div class="t m0 xb h6 y29 ff7 fs2 fc0 sc0 ls0 ws0">2.<span class="_ _c"> </span>VERBA<span class="_ _9"></span>TIM<span class="_ _5"> </span>COPYING<span class="_ _23"> </span>30</div><div class="t m0 xb h6 y2a ff7 fs2 fc0 sc0 ls0 ws0">3.<span class="_ _c"> </span>COPYING<span class="_ _5"> </span>IN<span class="_ _5"> </span>QUANTITY<span class="_ _24"> </span>31</div><div class="t m0 xb h6 y2b ff7 fs2 fc0 sc0 ls0 ws0">4.<span class="_ _c"> </span>MODIFICA<span class="_ _9"></span>TIONS<span class="_ _25"> </span>31</div><div class="t m0 xb h6 y2c ff7 fs2 fc0 sc0 ls0 ws0">5.<span class="_ _c"> </span>COMBINING<span class="_ _5"> </span>DOCUMENTS<span class="_ _26"> </span>33</div><div class="t m0 xb h6 y2d ff7 fs2 fc0 sc0 ls0 ws0">6.<span class="_ _c"> </span>COLLECTIONS<span class="_ _5"> </span>OF<span class="_ _5"> </span>DOCUMENTS<span class="_ _27"> </span>33</div><div class="t m0 xb h6 y2e ff7 fs2 fc0 sc0 ls0 ws0">7.<span class="_ _c"> </span>AGGREGA<span class="_ _3"></span>TION<span class="_ _5"> </span>WITH<span class="_ _5"> </span>INDEPENDENT<span class="_ _5"> </span>W<span class="_ _0"></span>ORKS<span class="_ _28"> </span>34</div><div class="t m0 xb h6 y2f ff7 fs2 fc0 sc0 ls0 ws0">8.<span class="_ _c"> </span>TRANSLA<span class="_ _9"></span>TION<span class="_ _29"> </span>34</div><div class="t m0 xb h6 y30 ff7 fs2 fc0 sc0 ls0 ws0">9.<span class="_ _c"> </span>TERMINA<span class="_ _9"></span>TION<span class="_ _2a"> </span>34</div><div class="t m0 x9 h6 y9 ff6 fs2 fc0 sc0 ls0 ws0">3</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/622b367281ded46b7f569419/bg4.jpg"><div class="t m0 xb h6 ya ff7 fs2 fc0 sc0 ls0 ws0">10.<span class="_ _c"> </span>FUTURE<span class="_ _5"> </span>REVISIONS<span class="_ _5"> </span>OF<span class="_ _5"> </span>THIS<span class="_ _5"> </span>LICENSE<span class="_ _2b"> </span>34</div><div class="t m0 xb h7 y31 ff2 fs3 fc0 sc0 ls0 ws0">1<span class="_ _2c"> </span>In<span class="_ _0"></span>tro<span class="_ _2"></span>duction</div><div class="t m0 xb h6 y32 ff6 fs2 fc0 sc0 ls0 ws0">During<span class="_ _4"> </span>the<span class="_ _4"> </span>last<span class="_ _4"> </span>y<span class="_ _0"></span>ear,<span class="_ _c"> </span>we<span class="_ _6"> </span>hav<span class="_ _0"></span>e<span class="_ _6"> </span>witnessed<span class="_ _4"> </span>a<span class="_ _4"> </span>lot<span class="_ _4"> </span>of<span class="_ _4"> </span>p<span class="_ _2"></span>eople<span class="_ _4"> </span>asking<span class="_ _4"> </span>for<span class="_ _4"> </span>the<span class="_ _4"> </span>same</div><div class="t m0 xb h6 y33 ff6 fs2 fc0 sc0 ls0 ws0">question<span class="_ _6"> </span>in<span class="_ _6"> </span>the<span class="_ _6"> </span>ns-users<span class="_ _6"> </span>mailing<span class="_ _4"> </span>list.<span class="_ _18"> </span>How<span class="_ _6"> </span>do<span class="_ _6"> </span>I<span class="_ _6"> </span>develop<span class="_ _5"> </span>my<span class="_ _5"> </span>own<span class="_ _6"> </span>proto<span class="_ _2"></span>col<span class="_ _5"> </span>for</div><div class="t m0 xb h6 y34 ff6 fs2 fc0 sc0 ls0 ws0">NS2?<span class="_ _6"> </span>By<span class="_ _7"> </span>writing<span class="_ _8"> </span>this<span class="_ _7"> </span>do<span class="_ _2"></span>cumen<span class="_ _0"></span>t<span class="_ _7"> </span>we<span class="_ _a"> </span>hop<span class="_ _2"></span>e<span class="_ _7"> </span>to<span class="_ _7"> </span>help<span class="_ _7"> </span>those<span class="_ _7"> </span>researchers<span class="_ _7"> </span>who<span class="_ _7"> </span>need<span class="_ _7"> </span>to</div><div class="t m0 xb h6 y35 ff6 fs2 fc0 sc0 ls0 ws0">add<span class="_ _5"> </span>a<span class="_ _8"> </span>manet<span class="_ _5"> </span>routing<span class="_ _5"> </span>protocol<span class="_ _5"> </span>for<span class="_ _5"> </span>NS-2.27.<span class="_ _2d"> </span>W<span class="_ _9"></span>e<span class="_ _5"> </span>focus<span class="_ _5"> </span>our<span class="_ _5"> </span>document<span class="_ _8"> </span>in<span class="_ _5"> </span>unicast</div><div class="t m0 xb h6 y36 ff6 fs2 fc0 sc0 ls0 ws0">proto<span class="_ _2"></span>cols.<span class="_ _d"> </span>The<span class="_ _5"> </span>do<span class="_ _2"></span>cument<span class="_ _8"> </span>is<span class="_ _6"> </span>aimed<span class="_ _5"> </span>to<span class="_ _5"> </span>those<span class="_ _5"> </span>p<span class="_ _2"></span>eople<span class="_ _5"> </span>who<span class="_ _5"> </span>are<span class="_ _5"> </span>somehow<span class="_ _8"> </span>familiar</div><div class="t m0 xb h6 y37 ff6 fs2 fc0 sc0 ls0 ws0">with<span class="_ _5"> </span>performing<span class="_ _5"> </span>sim<span class="_ _0"></span>ulations<span class="_ _5"> </span>in<span class="_ _5"> </span>ns-2,<span class="_ _8"> </span>and<span class="_ _5"> </span>they<span class="_ _5"> </span>w<span class="_ _0"></span>ant<span class="_ _8"> </span>to<span class="_ _5"> </span>go<span class="_ _5"> </span>one<span class="_ _8"> </span>step<span class="_ _5"> </span>forw<span class="_ _0"></span>ard<span class="_ _5"> </span>to</div><div class="t m0 xb h6 y38 ff6 fs2 fc0 sc0 ls0 ws0">implemen<span class="_ _0"></span>t<span class="_ _5"> </span>their<span class="_ _5"> </span>own<span class="_ _8"> </span>proto<span class="_ _2"></span>cols.<span class="_ _d"> </span>Everything<span class="_ _8"> </span>we<span class="_ _5"> </span>describe<span class="_ _5"> </span>in<span class="_ _5"> </span>this<span class="_ _5"> </span>text<span class="_ _5"> </span>is<span class="_ _5"> </span>related</div><div class="t m0 xb h6 y39 ff6 fs2 fc0 sc0 ls0 ws0">to<span class="_ _7"> </span>version<span class="_ _7"> </span>2.27<span class="_ _7"> </span>of<span class="_ _7"> </span>NS2,<span class="_ _8"> </span>but<span class="_ _7"> </span>it<span class="_ _8"> </span>might<span class="_ _7"> </span>be<span class="_ _8"> </span>useful<span class="_ _7"> </span>for<span class="_ _8"> </span>other<span class="_ _7"> </span>versions<span class="_ _7"> </span>as<span class="_ _7"> </span>well.</div><div class="t m0 xc h6 y3a ff6 fs2 fc0 sc0 ls0 ws0">W<span class="_ _9"></span>e<span class="_ _a"> </span>assume<span class="_ _a"> </span>that<span class="_ _a"> </span>the<span class="_ _a"> </span>reader<span class="_ _a"> </span>is<span class="_ _a"> </span>familiar<span class="_ _a"> </span>with<span class="_ _a"> </span>the<span class="_ _a"> </span>NS2<span class="_ _a"> </span>basics.<span class="_ _6"> </span>That<span class="_ _a"> </span>means<span class="_ _a"> </span>hav-</div><div class="t m0 xb h6 y3b ff6 fs2 fc0 sc0 ls0 ws0">ing<span class="_ _a"> </span>read<span class="_ _7"> </span>and<span class="_ _b"> </span>at<span class="_ _7"> </span>least<span class="_ _a"> </span>mostly<span class="_ _a"> </span>understo<span class="_ _2"></span>o<span class="_ _2"></span>d<span class="_ _a"> </span>“Marc<span class="_ _a"> </span>Greis’<span class="_ _7"> </span>T<span class="_ _3"></span>utorial”<span class="_ _7"> </span>[1].<span class="_ _5"> </span>It<span class="_ _7"> </span>w<span class="_ _0"></span>ould<span class="_ _a"> </span>b<span class="_ _2"></span>e</div><div class="t m0 xb h6 y3c ff6 fs2 fc0 sc0 ls0 ws0">v<span class="_ _0"></span>ery<span class="_ _a"> </span>useful<span class="_ _b"> </span>if<span class="_ _a"> </span>you<span class="_ _b"> </span>also<span class="_ _b"> </span>take<span class="_ _b"> </span>a<span class="_ _b"> </span>lo<span class="_ _2"></span>ok<span class="_ _b"> </span>at<span class="_ _a"> </span>“The<span class="_ _a"> </span>ns<span class="_ _b"> </span>Manual”<span class="_ _b"> </span>[2],<span class="_ _a"> </span>sp<span class="_ _2"></span>ecially<span class="_ _b"> </span>chapters<span class="_ _b"> </span>3-5,</div><div class="t m0 xb h6 y3d ff6 fs2 fc0 sc0 ls0 ws0">10-12,<span class="_ _7"> </span>15-16,<span class="_ _a"> </span>23,<span class="_ _7"> </span>25<span class="_ _a"> </span>and<span class="_ _7"> </span>29.<span class="_ _5"> </span>W<span class="_ _9"></span>e<span class="_ _7"> </span>will<span class="_ _a"> </span>refer<span class="_ _7"> </span>to<span class="_ _a"> </span>them<span class="_ _7"> </span>sev<span class="_ _0"></span>eral<span class="_ _a"> </span>times<span class="_ _7"> </span>throughout<span class="_ _a"> </span>this</div><div class="t m0 xb h6 y3e ff6 fs2 fc0 sc0 ls0 ws0">text<span class="_ _a"> </span>and<span class="_ _a"> </span>encourage<span class="_ _7"> </span>y<span class="_ _0"></span>ou<span class="_ _a"> </span>to<span class="_ _7"> </span>read<span class="_ _b"> </span>them.<span class="_ _4"> </span>Before<span class="_ _a"> </span>co<span class="_ _2"></span>ding<span class="_ _a"> </span>your<span class="_ _b"> </span>own<span class="_ _a"> </span>routing<span class="_ _a"> </span>proto<span class="_ _2"></span>col,</div><div class="t m0 xb h6 y3f ff6 fs2 fc0 sc0 ls0 ws0">y<span class="_ _0"></span>ou<span class="_ _7"> </span>should<span class="_ _a"> </span>know<span class="_ _a"> </span>how<span class="_ _a"> </span>to<span class="_ _7"> </span>p<span class="_ _2"></span>erform<span class="_ _a"> </span>simulations<span class="_ _a"> </span>with<span class="_ _7"> </span>other<span class="_ _a"> </span>implemented<span class="_ _a"> </span>proto<span class="_ _2"></span>cols</div><div class="t m0 xb h6 y40 ff6 fs2 fc0 sc0 ls0 ws0">and<span class="_ _7"> </span>y<span class="_ _0"></span>ou<span class="_ _7"> </span>are<span class="_ _7"> </span>expected<span class="_ _7"> </span>to<span class="_ _7"> </span>feel<span class="_ _7"> </span>familiar<span class="_ _7"> </span>and<span class="_ _a"> </span>comfortable<span class="_ _7"> </span>with<span class="_ _7"> </span>simulator.<span class="_ _5"> </span>This<span class="_ _7"> </span>will</div><div class="t m0 xb h6 y41 ff6 fs2 fc0 sc0 ls0 ws0">a<span class="_ _0"></span>void<span class="_ _7"> </span>lots<span class="_ _7"> </span>of<span class="_ _8"> </span>misunderstandings<span class="_ _7"> </span>and<span class="_ _8"> </span>doubts<span class="_ _7"> </span>while<span class="_ _8"> </span>reading<span class="_ _7"> </span>this<span class="_ _8"> </span>do<span class="_"> </span>cument.</div><div class="t m0 xc h6 y42 ff6 fs2 fc0 sc0 ls0 ws0">Besides<span class="_ _b"> </span>this<span class="_ _b"> </span>tutorial<span class="_ _2e"> </span>is<span class="_ _2e"> </span>ab<span class="_ _2"></span>out<span class="_ _b"> </span>programming.<span class="_ _5"> </span>Y<span class="_ _9"></span>ou<span class="_ _b"> </span>need<span class="_ _b"> </span>kno<span class="_ _0"></span>wledge<span class="_ _b"> </span>ab<span class="_ _2"></span>out<span class="_ _2e"> </span>C++</div><div class="t m0 xb h6 y43 ff6 fs2 fc0 sc0 ls0 ws0">and<span class="_ _5"> </span>(a<span class="_ _6"> </span>little)<span class="_ _6"> </span>Tcl<span class="_ _6"> </span>programming.<span class="_ _18"> </span>If<span class="_ _5"> </span>you<span class="_ _5"> </span>aren’t<span class="_ _6"> </span>enough<span class="_ _5"> </span>exp<span class="_ _2"></span>erienced<span class="_ _6"> </span>with<span class="_ _5"> </span>these</div><div class="t m0 xb h6 y44 ff6 fs2 fc0 sc0 ls0 ws0">programming<span class="_ _5"> </span>lenguages,<span class="_ _5"> </span>you<span class="_ _8"> </span>should<span class="_ _5"> </span>firstly<span class="_ _5"> </span>read<span class="_ _5"> </span>any<span class="_ _5"> </span>of<span class="_ _8"> </span>the<span class="_ _5"> </span>excellent<span class="_ _5"> </span>resources</div><div class="t m0 xb h6 y45 ff6 fs2 fc0 sc0 ls0 ws0">ab<span class="_ _2"></span>out<span class="_ _7"> </span>them<span class="_ _7"> </span>which<span class="_ _7"> </span>are<span class="_ _7"> </span>freely<span class="_ _7"> </span>av<span class="_ _9"></span>ailable<span class="_ _8"> </span>in<span class="_ _7"> </span>the<span class="_ _8"> </span>Internet.</div><div class="t m0 xb h7 y46 ff2 fs3 fc0 sc0 ls0 ws0">2<span class="_ _2c"> </span>Getting<span class="_ _1"> </span>Started</div><div class="t m0 xb h6 y47 ff6 fs2 fc0 sc0 ls0 ws0">W<span class="_ _9"></span>e<span class="_ _4"> </span>are<span class="_ _c"> </span>going<span class="_ _c"> </span>to<span class="_ _4"> </span>implement<span class="_ _4"> </span>a<span class="_ _c"> </span>new<span class="_ _4"> </span>manet<span class="_ _c"> </span>routing<span class="_ _4"> </span>proto<span class="_ _2"></span>col<span class="_ _c"> </span>called<span class="_ _4"> </span><span class="ff8">pr<span class="_ _0"></span>otoname</span></div><div class="t m0 xb h6 y48 ff6 fs2 fc0 sc0 ls0 ws0">step<span class="_ _6"> </span>by<span class="_ _6"> </span>step.<span class="_ _19"> </span>This<span class="_ _6"> </span>proto<span class="_ _2"></span>col<span class="_ _6"> </span>do<span class="_ _2"></span>es<span class="_ _6"> </span>nothing<span class="_ _4"> </span>useful,<span class="_ _4"> </span>but<span class="_ _4"> </span>it<span class="_ _4"> </span>is<span class="_ _6"> </span>general<span class="_ _4"> </span>enough<span class="_ _4"> </span>to</div><div class="t m0 xb h6 y49 ff6 fs2 fc0 sc0 ls0 ws0">ha<span class="_ _0"></span>ve<span class="_ _8"> </span>several<span class="_ _8"> </span>common<span class="_ _5"> </span>points<span class="_ _8"> </span>with<span class="_ _5"> </span>other<span class="_ _5"> </span>routing<span class="_ _8"> </span>proto<span class="_ _2"></span>cols.<span class="_ _2d"> </span>As<span class="_ _8"> </span>you<span class="_ _8"> </span>likely<span class="_ _8"> </span>know</div><div class="t m0 xb h6 y4a ff6 fs2 fc0 sc0 ls0 ws0">(if<span class="_ _a"> </span>not,<span class="_ _a"> </span>please<span class="_ _a"> </span>read<span class="_ _a"> </span>firstly<span class="_ _7"> </span>what<span class="_ _b"> </span>we<span class="_ _b"> </span>told<span class="_ _a"> </span>you!)<span class="_ _6"> </span>w<span class="_ _0"></span>e<span class="_ _a"> </span>are<span class="_ _a"> </span>going<span class="_ _7"> </span>to<span class="_ _b"> </span>implement<span class="_ _b"> </span>routing</div><div class="t m0 xb h6 y4b ff6 fs2 fc0 sc0 ls0 ws0">proto<span class="_ _2"></span>col<span class="_ _7"> </span>using<span class="_ _8"> </span>C++<span class="_ _5"> </span>and<span class="_ _7"> </span>then<span class="_ _8"> </span>we<span class="_ _7"> </span>will<span class="_ _5"> </span>do<span class="_ _7"> </span>simulations<span class="_ _7"> </span>describing<span class="_ _5"> </span>scenarios<span class="_ _7"> </span>with</div><div class="t m0 xb h6 y4c ff6 fs2 fc0 sc0 ls0 ws0">Tcl<span class="_ _7"> </span>scripts.</div><div class="t m0 xc h6 y4d ff6 fs2 fc0 sc0 ls0 ws0">T<span class="_ _9"></span>o<span class="_ _7"> </span>allo<span class="_ _2"></span>cate<span class="_ _7"> </span>our<span class="_ _7"> </span>co<span class="_ _2"></span>de<span class="_ _7"> </span>we<span class="_ _7"> </span>will<span class="_ _7"> </span>firstly<span class="_ _8"> </span>create<span class="_ _7"> </span>a<span class="_ _8"> </span>new<span class="_ _7"> </span>directory<span class="_ _8"> </span>called<span class="_ _7"> </span><span class="ff8">pr<span class="_ _0"></span>otoname</span></div><div class="t m0 xb h6 y4e ff6 fs2 fc0 sc0 ls0 ws0">inside<span class="_ _7"> </span>your<span class="_ _7"> </span>NS2<span class="_ _7"> </span>base<span class="_ _7"> </span>directory<span class="_ _9"></span>.<span class="_ _4"> </span>W<span class="_ _9"></span>e<span class="_ _8"> </span>will<span class="_ _7"> </span>create<span class="_ _8"> </span>five<span class="_ _7"> </span>files<span class="_ _7"> </span>there:</div><div class="t m0 xb h6 y4f ff7 fs2 fc0 sc0 ls0 ws0">protoname.h<span class="_ _c"> </span><span class="ff6">This<span class="_ _7"> </span>is<span class="_ _a"> </span>the<span class="_ _7"> </span>header<span class="_ _7"> </span>file<span class="_ _a"> </span>where<span class="_ _7"> </span>will<span class="_ _7"> </span>be<span class="_ _7"> </span>defined<span class="_ _a"> </span>all<span class="_ _7"> </span>necessary<span class="_ _7"> </span>timers</span></div><div class="t m0 xa h6 y50 ff6 fs2 fc0 sc0 ls0 ws0">(if<span class="_ _7"> </span>any)<span class="_ _7"> </span>and<span class="_ _7"> </span>routing<span class="_ _7"> </span>agent<span class="_ _7"> </span>which<span class="_ _7"> </span>performs<span class="_ _8"> </span>proto<span class="_ _2"></span>col’s<span class="_ _7"> </span>functionality<span class="_ _3"></span>.</div><div class="t m0 xb h6 y51 ff7 fs2 fc0 sc0 ls0 ws0">protoname.cc<span class="_ _c"> </span><span class="ff6">In<span class="_ _5"> </span>this<span class="_ _5"> </span>file<span class="_ _5"> </span>are<span class="_ _5"> </span>actually<span class="_ _8"> </span>implemented<span class="_ _5"> </span>all<span class="_ _8"> </span>timers,<span class="_ _6"> </span>routing<span class="_ _5"> </span>agen<span class="_ _0"></span>t</span></div><div class="t m0 xa h6 y52 ff6 fs2 fc0 sc0 ls0 ws0">and<span class="_ _7"> </span>Tcl<span class="_ _8"> </span>ho<span class="_ _2"></span>oks.</div><div class="t m0 xb h6 y53 ff7 fs2 fc0 sc0 ls0 ws0">protoname<span class="_ _5"> </span>pkt.h<span class="_ _1"> </span><span class="ff6">Here<span class="_ _8"> </span>are<span class="_ _8"> </span>declared<span class="_ _8"> </span>all<span class="_ _8"> </span>pack<span class="_ _0"></span>ets<span class="_ _7"> </span><span class="ff8">pr<span class="_ _0"></span>otoname<span class="_ _6"> </span><span class="ff6">proto<span class="_ _2"></span>col<span class="_ _7"> </span>needs<span class="_ _8"> </span>to</span></span></span></div><div class="t m0 xa h6 y54 ff6 fs2 fc0 sc0 ls0 ws0">exc<span class="_ _0"></span>hange<span class="_ _8"> </span>among<span class="_ _7"> </span>no<span class="_ _2"></span>des<span class="_ _7"> </span>in<span class="_ _8"> </span>the<span class="_ _7"> </span>manet.</div><div class="t m0 xb h6 y55 ff7 fs2 fc0 sc0 ls0 ws0">protoname<span class="_ _5"> </span>rtable.h<span class="_ _1"> </span><span class="ff6">Header<span class="_ _7"> </span>file<span class="_ _8"> </span>where<span class="_ _7"> </span>our<span class="_ _8"> </span>own<span class="_ _7"> </span>routing<span class="_ _7"> </span>table<span class="_ _7"> </span>is<span class="_ _8"> </span>declared.</span></div><div class="t m0 xb h6 y56 ff7 fs2 fc0 sc0 ls0 ws0">protoname<span class="_ _5"> </span>rtable.cc<span class="_ _1"> </span><span class="ff6">Routing<span class="_ _7"> </span>table<span class="_ _8"> </span>implementation.</span></div><div class="t m0 x9 h6 y9 ff6 fs2 fc0 sc0 ls0 ws0">4</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/622b367281ded46b7f569419/bg5.jpg"><div class="t m0 xc h6 ya ff6 fs2 fc0 sc0 ls0 ws0">Y<span class="_ _9"></span>ou<span class="_ _7"> </span>can<span class="_ _a"> </span>organize<span class="_ _7"> </span>y<span class="_ _0"></span>our<span class="_ _7"> </span>code<span class="_ _7"> </span>as<span class="_ _a"> </span>you<span class="_ _a"> </span>wan<span class="_ _0"></span>t<span class="_ _7"> </span>to.<span class="_ _6"> </span>That<span class="_ _7"> </span>is,<span class="_ _a"> </span>you<span class="_ _a"> </span>can<span class="_ _7"> </span>create<span class="_ _7"> </span>more<span class="_ _a"> </span>or</div><div class="t m0 xb h6 y57 ff6 fs2 fc0 sc0 ls0 ws0">less<span class="_ _7"> </span>files,<span class="_ _8"> </span>with<span class="_ _8"> </span>those<span class="_ _8"> </span>names<span class="_ _7"> </span>or<span class="_ _8"> </span>with<span class="_ _8"> </span>others;<span class="_ _8"> </span>this<span class="_ _8"> </span>is<span class="_ _7"> </span>only<span class="_ _8"> </span>a<span class="_ _8"> </span>hint.<span class="_ _4"> </span>Our<span class="_ _7"> </span>advice<span class="_ _8"> </span>is<span class="_ _8"> </span>to</div><div class="t m0 xb h6 y58 ff6 fs2 fc0 sc0 ls0 ws0">use<span class="_ _7"> </span>at<span class="_ _8"> </span>least<span class="_ _7"> </span>those<span class="_ _8"> </span>files<span class="_ _7"> </span>and<span class="_ _7"> </span>to<span class="_ _8"> </span>create<span class="_ _7"> </span>more<span class="_ _8"> </span>as<span class="_ _7"> </span>they<span class="_ _8"> </span>are<span class="_ _7"> </span>needed.</div><div class="t m0 xc h6 y59 ff6 fs2 fc0 sc0 ls0 ws0">No<span class="_ _0"></span>w<span class="_ _b"> </span>we<span class="_ _2e"> </span>hav<span class="_ _0"></span>e<span class="_ _b"> </span>our<span class="_ _b"> </span>“physical”<span class="_ _2e"> </span>structure<span class="_ _b"> </span>(files),<span class="_ _a"> </span>let’s<span class="_ _b"> </span>contin<span class="_ _0"></span>ue<span class="_ _b"> </span>with<span class="_ _b"> </span>the<span class="_ _b"> </span>“logical”</div><div class="t m0 xb h6 y5a ff6 fs2 fc0 sc0 ls0 ws0">one<span class="_ _a"> </span>(classes).<span class="_ _6"> </span>T<span class="_ _9"></span>o<span class="_ _a"> </span>implement<span class="_ _b"> </span>a<span class="_ _a"> </span>routing<span class="_ _a"> </span>proto<span class="_ _2"></span>col<span class="_ _a"> </span>in<span class="_ _a"> </span>NS2<span class="_ _a"> </span>you<span class="_ _b"> </span>must<span class="_ _b"> </span>create<span class="_ _a"> </span>an<span class="_ _a"> </span>agent</div><div class="t m0 xb h6 y5b ff6 fs2 fc0 sc0 ls0 ws0">b<span class="_ _0"></span>y<span class="_ _7"> </span>inheriting<span class="_ _7"> </span>from<span class="_ _7"> </span><span class="ff7">Agen<span class="_ _0"></span>t<span class="_ _7"> </span><span class="ff6">class.<span class="_ _6"> </span>At<span class="_ _a"> </span>the<span class="_ _7"> </span>very<span class="_ _7"> </span>beginning<span class="_ _7"> </span>of<span class="_ _7"> </span>c<span class="_ _0"></span>hapter<span class="_ _7"> </span>10<span class="_ _7"> </span>[2]<span class="_ _7"> </span>w<span class="_ _0"></span>e<span class="_ _7"> </span>can</span></span></div><div class="t m0 xb h6 y5c ff6 fs2 fc0 sc0 ls0 ws0">read<span class="_ _b"> </span>“<span class="ff8">A<span class="_ _0"></span>gents<span class="_ _a"> </span>r<span class="_ _0"></span>epr<span class="_ _0"></span>esent<span class="_ _b"> </span>endp<span class="_ _0"></span>oints<span class="_ _a"> </span>wher<span class="_ _0"></span>e<span class="_ _a"> </span>network-layer<span class="_ _7"> </span>p<span class="_ _9"></span>ackets<span class="_ _a"> </span>ar<span class="_ _0"></span>e<span class="_ _a"> </span>c<span class="_ _0"></span>onstructe<span class="_ _0"></span>d<span class="_ _a"> </span>or</span></div><div class="t m0 xb h6 y5d ff8 fs2 fc0 sc0 ls0 ws0">c<span class="_ _0"></span>onsume<span class="_ _9"></span>d,<span class="_ _6"> </span>and<span class="_ _5"> </span>ar<span class="_ _0"></span>e<span class="_ _5"> </span>use<span class="_ _0"></span>d<span class="_ _5"> </span>in<span class="_ _5"> </span>the<span class="_ _5"> </span>implementation<span class="_ _5"> </span>of<span class="_ _5"> </span>pr<span class="_ _0"></span>oto<span class="_ _9"></span>c<span class="_ _0"></span>ols<span class="_ _5"> </span>at<span class="_ _5"> </span>various<span class="_ _5"> </span>layers<span class="_ _2f"></span><span class="ff6">”.</span></div><div class="t m0 xb h6 y5e ff6 fs2 fc0 sc0 ls0 ws0">As<span class="_ _5"> </span>you<span class="_ _8"> </span>can<span class="_ _6"> </span>figure<span class="_ _5"> </span>out,<span class="_ _5"> </span>this<span class="_ _6"> </span>is<span class="_ _5"> </span>the<span class="_ _5"> </span>main<span class="_ _5"> </span>class<span class="_ _5"> </span>we<span class="_ _5"> </span>will<span class="_ _5"> </span>ha<span class="_ _0"></span>ve<span class="_ _5"> </span>to<span class="_ _5"> </span>code<span class="_ _5"> </span>in<span class="_ _6"> </span>order<span class="_ _5"> </span>to</div><div class="t m0 xb h6 y5f ff6 fs2 fc0 sc0 ls0 ws0">implemen<span class="_ _0"></span>t<span class="_ _7"> </span>our<span class="_ _a"> </span>routing<span class="_ _7"> </span>proto<span class="_ _2"></span>col.<span class="_ _6"> </span>In<span class="_ _7"> </span>addition,<span class="_ _a"> </span>this<span class="_ _7"> </span>class<span class="_ _7"> </span>offers<span class="_ _a"> </span>a<span class="_ _7"> </span>link<span class="_ _0"></span>age<span class="_ _a"> </span>with<span class="_ _7"> </span>Tcl</div><div class="t m0 xb h6 y60 ff6 fs2 fc0 sc0 ls0 ws0">in<span class="_ _0"></span>terface,<span class="_ _8"> </span>so<span class="_ _7"> </span>we<span class="_ _7"> </span>will<span class="_ _7"> </span>b<span class="_ _2"></span>e<span class="_ _7"> </span>able<span class="_ _7"> </span>to<span class="_ _8"> </span>control<span class="_ _7"> </span>our<span class="_ _7"> </span>routing<span class="_ _7"> </span>proto<span class="_ _2"></span>col<span class="_ _7"> </span>through<span class="_ _8"> </span>simulation</div><div class="t m0 xb h6 y61 ff6 fs2 fc0 sc0 ls0 ws0">scripts<span class="_ _7"> </span>written<span class="_ _8"> </span>in<span class="_ _7"> </span>Tcl.</div><div class="t m0 xc h6 y62 ff6 fs2 fc0 sc0 ls0 ws0">Our<span class="_ _a"> </span>routing<span class="_ _a"> </span>agent<span class="_ _a"> </span>will<span class="_ _a"> </span>maintain<span class="_ _b"> </span>an<span class="_ _7"> </span>in<span class="_ _0"></span>ternal<span class="_ _a"> </span>state<span class="_ _7"> </span>and<span class="_ _b"> </span>a<span class="_ _7"> </span>routing<span class="_ _b"> </span>table<span class="_ _7"> </span>(whic<span class="_ _0"></span>h</div><div class="t m0 xb h6 y63 ff6 fs2 fc0 sc0 ls0 ws0">is<span class="_ _8"> </span>not<span class="_ _8"> </span>alwa<span class="_ _0"></span>ys<span class="_ _7"> </span>needed).<span class="_ _c"> </span>Internal<span class="_ _7"> </span>state<span class="_ _8"> </span>can<span class="_ _8"> </span>b<span class="_ _2"></span>e<span class="_ _8"> </span>represented<span class="_ _7"> </span>as<span class="_ _8"> </span>a<span class="_ _8"> </span>new<span class="_ _8"> </span>class<span class="_ _8"> </span>or<span class="_ _8"> </span>as<span class="_ _8"> </span>a</div><div class="t m0 xb h6 y64 ff6 fs2 fc0 sc0 ls0 ws0">collection<span class="_ _8"> </span>of<span class="_ _8"> </span>attributes<span class="_ _8"> </span>inside<span class="_ _8"> </span>the<span class="_ _8"> </span>routing<span class="_ _8"> </span>agent.<span class="_ _4"> </span>W<span class="_ _9"></span>e<span class="_ _8"> </span>will<span class="_ _8"> </span>treat<span class="_ _8"> </span>routing<span class="_ _8"> </span>table<span class="_ _8"> </span>as</div><div class="t m0 xb h6 y65 ff6 fs2 fc0 sc0 ls0 ws0">a<span class="_ _7"> </span>new<span class="_ _8"> </span>class,<span class="_ _7"> </span><span class="ff7">protoname<span class="_ _6"> </span>rtable</span>.</div><div class="t m0 xc h6 y66 ff6 fs2 fc0 sc0 ls0 ws0">Also<span class="_ _8"> </span>our<span class="_ _5"> </span>new<span class="_ _8"> </span>proto<span class="_ _2"></span>col<span class="_ _7"> </span>must<span class="_ _8"> </span>define<span class="_ _5"> </span>at<span class="_ _7"> </span>least<span class="_ _5"> </span>one<span class="_ _8"> </span>new<span class="_ _8"> </span>pack<span class="_ _0"></span>et<span class="_ _8"> </span>type<span class="_ _5"> </span>whic<span class="_ _0"></span>h<span class="_ _8"> </span>will</div><div class="t m0 xb h6 y67 ff6 fs2 fc0 sc0 ls0 ws0">represen<span class="_ _0"></span>t<span class="_ _5"> </span>the<span class="_ _5"> </span>format<span class="_ _8"> </span>of<span class="_ _5"> </span>its<span class="_ _5"> </span>con<span class="_ _0"></span>trol<span class="_ _5"> </span>pack<span class="_ _0"></span>ets.<span class="_ _2d"> </span>As<span class="_ _5"> </span>w<span class="_ _0"></span>e<span class="_ _5"> </span>said<span class="_ _5"> </span>these<span class="_ _8"> </span>pack<span class="_ _0"></span>et<span class="_ _5"> </span>t<span class="_ _0"></span>yp<span class="_ _2"></span>es<span class="_ _5"> </span>are</div><div class="t m0 xb h6 y68 ff6 fs2 fc0 sc0 ls0 ws0">defined<span class="_ _7"> </span>in<span class="_ _7"> </span><span class="ff8">pr<span class="_ _0"></span>otoname/pr<span class="_ _9"></span>otoname<span class="_ _5"> </span>pkt.h<span class="ff6">.<span class="_ _6"> </span>When<span class="_ _7"> </span>the<span class="_ _7"> </span>proto<span class="_ _2"></span>col<span class="_ _7"> </span>needs<span class="_ _7"> </span>to<span class="_ _7"> </span>send<span class="_ _7"> </span>pac<span class="_ _0"></span>k-</span></span></div><div class="t m0 xb h6 y69 ff6 fs2 fc0 sc0 ls0 ws0">ets<span class="_ _5"> </span>perio<span class="_ _2"></span>dically<span class="_ _5"> </span>or<span class="_ _5"> </span>after<span class="_ _5"> </span>some<span class="_ _5"> </span>time<span class="_ _5"> </span>from<span class="_ _5"> </span>the<span class="_ _8"> </span>o<span class="_ _2"></span>ccurrence<span class="_ _5"> </span>of<span class="_ _5"> </span>an<span class="_ _5"> </span>ev<span class="_ _0"></span>ent,<span class="_ _5"> </span>it<span class="_ _5"> </span>is<span class="_ _5"> </span>v<span class="_ _0"></span>ery</div><div class="t m0 xb h6 y6a ff6 fs2 fc0 sc0 ls0 ws0">useful<span class="_ _8"> </span>to<span class="_ _5"> </span>coun<span class="_ _0"></span>t<span class="_ _8"> </span>on<span class="_ _5"> </span>a<span class="_ _8"> </span><span class="ff7">Timer<span class="_ _5"> </span></span>class.<span class="_ _1"> </span>W<span class="_ _9"></span>e<span class="_ _5"> </span>sho<span class="_ _0"></span>w<span class="_ _8"> </span>an<span class="_ _5"> </span>example<span class="_ _8"> </span>in<span class="_ _8"> </span>which<span class="_ _8"> </span>we<span class="_ _8"> </span>co<span class="_ _2"></span>de<span class="_ _8"> </span>our</div><div class="t m0 xb h6 y1f ff6 fs2 fc0 sc0 ls0 ws0">o<span class="_ _0"></span>wn<span class="_ _7"> </span>timers<span class="_ _b"> </span>for<span class="_ _7"> </span>sending<span class="_ _a"> </span>these<span class="_ _a"> </span>pack<span class="_ _0"></span>ets<span class="_ _a"> </span>at<span class="_ _7"> </span>regular<span class="_ _a"> </span>interv<span class="_ _9"></span>als.<span class="_ _6"> </span>Timers<span class="_ _a"> </span>are<span class="_ _7"> </span>also<span class="_ _a"> </span>useful</div><div class="t m0 xb h6 y20 ff6 fs2 fc0 sc0 ls0 ws0">in<span class="_ _8"> </span>lots<span class="_ _5"> </span>of<span class="_ _5"> </span>other<span class="_ _8"> </span>cases.<span class="_ _2d"> </span>Imagine<span class="_ _5"> </span><span class="ff8">pr<span class="_ _9"></span>otoname<span class="_ _4"> </span><span class="ff6">needs<span class="_ _5"> </span>to<span class="_ _8"> </span>store<span class="_ _5"> </span>some<span class="_ _8"> </span>sort<span class="_ _5"> </span>of<span class="_ _8"> </span>internal</span></span></div><div class="t m0 xb h6 y21 ff6 fs2 fc0 sc0 ls0 ws0">information<span class="_ _6"> </span>which<span class="_ _5"> </span>must<span class="_ _5"> </span>b<span class="_ _2"></span>e<span class="_ _6"> </span>erased<span class="_ _6"> </span>at<span class="_ _6"> </span>a<span class="_ _6"> </span>certain<span class="_ _4"> </span>time.<span class="_ _14"> </span>The<span class="_ _6"> </span>b<span class="_ _2"></span>est<span class="_ _5"> </span>solution<span class="_ _4"> </span>is<span class="_ _6"> </span>to</div><div class="t m0 xb h6 y22 ff6 fs2 fc0 sc0 ls0 ws0">create<span class="_ _a"> </span>a<span class="_ _a"> </span>custom<span class="_ _7"> </span>timer<span class="_ _a"> </span>capable<span class="_ _a"> </span>of<span class="_ _a"> </span>doing<span class="_ _7"> </span>suc<span class="_ _0"></span>h<span class="_ _a"> </span>job.<span class="_ _6"> </span>A<span class="_ _7"> </span>timer<span class="_ _a"> </span>should<span class="_ _a"> </span>also<span class="_ _a"> </span>b<span class="_ _2"></span>e<span class="_ _a"> </span>used<span class="_ _7"> </span>to</div><div class="t m0 xb h6 y23 ff6 fs2 fc0 sc0 ls0 ws0">sp<span class="_ _2"></span>ecify<span class="_ _7"> </span>timelife<span class="_ _7"> </span>of<span class="_ _7"> </span>an<span class="_ _7"> </span>entry<span class="_ _7"> </span>in<span class="_ _7"> </span>the<span class="_ _7"> </span>routing<span class="_ _8"> </span>table.<span class="_ _4"> </span>In<span class="_ _7"> </span>general,<span class="_ _7"> </span>we<span class="_ _7"> </span>will<span class="_ _7"> </span>use<span class="_ _7"> </span>a<span class="_ _8"> </span>timer</div><div class="t m0 xb h6 y24 ff6 fs2 fc0 sc0 ls0 ws0">whenev<span class="_ _0"></span>er<span class="_ _8"> </span>w<span class="_ _0"></span>e<span class="_ _8"> </span>hav<span class="_ _0"></span>e<span class="_ _7"> </span>to<span class="_ _7"> </span>schedule<span class="_ _7"> </span>a<span class="_ _7"> </span>task<span class="_ _8"> </span>at<span class="_ _7"> </span>a<span class="_ _8"> </span>given<span class="_ _7"> </span>time.</div><div class="t m0 xc h6 y6b ff6 fs2 fc0 sc0 ls0 ws0">There<span class="_ _6"> </span>is<span class="_ _6"> </span>another<span class="_ _6"> </span>imp<span class="_ _2"></span>ortan<span class="_ _0"></span>t<span class="_ _6"> </span>class<span class="_ _6"> </span>we<span class="_ _5"> </span>must<span class="_ _5"> </span>know<span class="_ _6"> </span>b<span class="_ _2"></span>efore<span class="_ _5"> </span>going<span class="_ _6"> </span>into<span class="_ _5"> </span>details.</div><div class="t m0 xb h6 y6c ff6 fs2 fc0 sc0 ls0 ws0">The<span class="_ _5"> </span><span class="ff7">T<span class="_ _3"></span>race<span class="_ _5"> </span><span class="ff6">class<span class="_ _5"> </span>is<span class="_ _5"> </span>the<span class="_ _5"> </span>base<span class="_ _5"> </span>for<span class="_ _5"> </span>writing<span class="_ _5"> </span>log<span class="_ _5"> </span>files<span class="_ _5"> </span>with<span class="_ _8"> </span>information<span class="_ _5"> </span>ab<span class="_ _2"></span>out<span class="_ _5"> </span>what</span></span></div><div class="t m0 xb h6 y6d ff6 fs2 fc0 sc0 ls0 ws0">happ<span class="_ _2"></span>ened<span class="_ _7"> </span>during<span class="_ _7"> </span>the<span class="_ _7"> </span>simulation.</div><div class="t m0 xc h6 y6e ff6 fs2 fc0 sc0 ls0 ws0">And<span class="_ _7"> </span>the<span class="_ _7"> </span>last<span class="_ _7"> </span>hin<span class="_ _0"></span>t<span class="_ _7"> </span>for<span class="_ _7"> </span>no<span class="_ _0"></span>w:<span class="_ _6"> </span>when<span class="_ _7"> </span>you<span class="_ _a"> </span>wan<span class="_ _0"></span>t<span class="_ _7"> </span>to<span class="_ _7"> </span>prin<span class="_ _0"></span>t<span class="_ _7"> </span>a<span class="_ _7"> </span>debug<span class="_ _7"> </span>message<span class="_ _7"> </span>in<span class="_ _7"> </span>y<span class="_ _0"></span>our</div><div class="t m0 xb h6 y6f ff6 fs2 fc0 sc0 ls0 ws0">co<span class="_ _2"></span>de,<span class="_ _a"> </span>it<span class="_ _a"> </span>is<span class="_ _a"> </span>helpful<span class="_ _7"> </span>to<span class="_ _a"> </span>use<span class="_ _a"> </span>the<span class="_ _a"> </span><span class="ff8">debug()<span class="_ _7"> </span></span>function<span class="_ _7"> </span>as<span class="_ _b"> </span>it<span class="_ _7"> </span>is<span class="_ _a"> </span>suggested<span class="_ _a"> </span>in<span class="_ _a"> </span>chapter<span class="_ _a"> </span>25<span class="_ _a"> </span>[2].</div><div class="t m0 xb h6 y70 ff6 fs2 fc0 sc0 ls0 ws0">This<span class="_ _7"> </span>allo<span class="_ _0"></span>ws<span class="_ _7"> </span>you<span class="_ _7"> </span>to<span class="_ _a"> </span>turn<span class="_ _7"> </span>debugging<span class="_ _7"> </span>on<span class="_ _7"> </span>or<span class="_ _7"> </span>off<span class="_ _7"> </span>from<span class="_ _7"> </span>your<span class="_ _a"> </span>simulation<span class="_ _7"> </span>scripts<span class="_ _7"> </span>and<span class="_ _7"> </span>is</div><div class="t m0 xb h6 y71 ff6 fs2 fc0 sc0 ls0 ws0">easier<span class="_ _7"> </span>to<span class="_ _8"> </span>read<span class="_ _7"> </span>for<span class="_ _8"> </span>other<span class="_ _7"> </span>programmers.</div><div class="t m0 xb h7 y72 ff2 fs3 fc0 sc0 ls0 ws0">3<span class="_ _2c"> </span>P<span class="_ _0"></span>ac<span class="_ _0"></span>k<span class="_ _0"></span>et<span class="_ _1"> </span>T<span class="_ _0"></span>yp<span class="_ _2"></span>es</div><div class="t m0 xb h6 y73 ff6 fs2 fc0 sc0 ls0 ws0">No<span class="_ _0"></span>w<span class="_ _7"> </span>that<span class="_ _7"> </span>y<span class="_ _0"></span>ou<span class="_ _7"> </span>already<span class="_ _7"> </span>kno<span class="_ _0"></span>w<span class="_ _7"> </span>the<span class="_ _a"> </span>basics,<span class="_ _7"> </span>let’s<span class="_ _7"> </span>create<span class="_ _7"> </span>a<span class="_ _a"> </span>new<span class="_ _7"> </span>file<span class="_ _7"> </span>and<span class="_ _7"> </span>call<span class="_ _a"> </span>it<span class="_ _7"> </span><span class="ff8">pr<span class="_ _0"></span>oton-</span></div><div class="t m0 xb h6 y74 ff8 fs2 fc0 sc0 ls0 ws0">ame/pr<span class="_ _0"></span>otoname<span class="_ _8"> </span>pkt.h<span class="ff6">.<span class="_ _2d"> </span>Here<span class="_ _5"> </span>w<span class="_ _0"></span>e<span class="_ _8"> </span>are<span class="_ _5"> </span>going<span class="_ _8"> </span>to<span class="_ _5"> </span>put<span class="_ _5"> </span>all<span class="_ _8"> </span>data<span class="_ _5"> </span>structures,<span class="_ _8"> </span>constants</span></div><div class="t m0 xb h6 y75 ff6 fs2 fc0 sc0 ls0 ws0">and<span class="_ _7"> </span>macros<span class="_ _8"> </span>related<span class="_ _7"> </span>to<span class="_ _8"> </span>our<span class="_ _7"> </span>new<span class="_ _7"> </span>pack<span class="_ _0"></span>et(s)<span class="_ _8"> </span>t<span class="_ _0"></span>yp<span class="_ _2"></span>e.<span class="_ _6"> </span>See<span class="_ _8"> </span>next<span class="_ _7"> </span>example.</div><div class="t m0 xb h8 y76 ff9 fs2 fc0 sc0 ls0 ws0">protoname/protoname_pkt.h</div><div class="t m0 xb h8 y77 ff9 fs2 fc0 sc0 ls0 ws0">1:<span class="_ _30"> </span>#ifndef<span class="_ _1"> </span>__protoname_pkt_h__</div><div class="t m0 xb h8 y78 ff9 fs2 fc0 sc0 ls0 ws0">2:<span class="_ _30"> </span>#define<span class="_ _1"> </span>__protoname_pkt_h__</div><div class="t m0 xb h8 y79 ff9 fs2 fc0 sc0 ls0 ws0">3:</div><div class="t m0 xb h8 y7a ff9 fs2 fc0 sc0 ls0 ws0">4:<span class="_ _30"> </span>#include<span class="_ _1"> </span><packet.h></div><div class="t m0 xb h8 y7b ff9 fs2 fc0 sc0 ls0 ws0">5:</div><div class="t m0 xb h8 y7c ff9 fs2 fc0 sc0 ls0 ws0">6:<span class="_ _30"> </span>#define<span class="_ _1"> </span>HDR_PROTONAME_PKT(p)<span class="_ _1"> </span>hdr_protoname_pkt::access(p)</div><div class="t m0 x9 h6 y9 ff6 fs2 fc0 sc0 ls0 ws0">5</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>