<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:968244261;
        mso-list-template-ids:968639458;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi Spyros. Hi Junxiao.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We solved the issue (thanks to Raj) by encoding the NDNLP packet into a NFD packet in the receiveFromNetDevice method, as follows:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">void<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">NetDeviceTransport::receiveFromNetDevice(<args>){<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">   <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">   // Read SINR value from NS-3 packet tag<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">   double sinrValue = 0;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">   ns3::SnrTag tag;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">   if(p->PeekPacketTag(tag)){<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      sinrValue = tag.Get();<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">   }<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  Ptr<ns3::Packet> packet = p->Copy();<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  BlockHeader header;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  packet->RemoveHeader(header);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  auto nfdPacket = Packet(std::move(header.getBlock()));<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  // If SINR tag is present, add as a LP tag 
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  ::ndn::lp::Packet lpPacket = ::ndn::lp::Packet(nfdPacket.packet);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  if (sinrValue){<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">    lpPacket.set<lp::SinrTagField>(sinrValue);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  }<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  else{<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">    lpPacket.set<lp::SinrTagField>(0);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  }  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  //this->receive(std::move(nfdPacket));<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  this->receive(std::move(Packet(lpPacket.wireEncode())));<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for your assistance!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Spyridon (Spyros) Mastorakis <mastorakis@cs.ucla.edu>
<br>
<b>Sent:</b> Monday, August 13, 2018 4:31 PM<br>
<b>To:</b> Thiago Teixeira <tteixeira@umass.edu><br>
<b>Cc:</b> NdnSIM <ndnSIM@lists.cs.ucla.edu>; Junxiao Shi <shijunxiao@email.arizona.edu>; Rajvardhan Deshmukh <rdeshmukh@umass.edu><br>
<b>Subject:</b> Re: [ndnSIM] SINR packet tag in ndnSIM 2.5<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Thiago,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">did you guys also do something like that:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://github.com/named-data-ndnSIM/NFD/blob/0a30676920b9d3f2b2c8bc68e583befc415210cc/daemon/face/generic-link-service.cpp#L136">https://github.com/named-data-ndnSIM/NFD/blob/0a30676920b9d3f2b2c8bc68e583befc415210cc/daemon/face/generic-link-service.cpp#L136</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Other than that, if the geo-tag works for you, then why not following this logic (do not remember how different or similar it is to the the general way of encoding/decoding NDNLP tags)?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Spyridon (Spyros) Mastorakis<br>
Personal Website: <a href="http://cs.ucla.edu/~mastorakis/">http://cs.ucla.edu/~mastorakis/</a><br>
Internet Research Laboratory<br>
Computer Science Department<br>
UCLA<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Aug 13, 2018, at 9:31 AM, Thiago Teixeira <<a href="mailto:tteixeira@umass.edu">tteixeira@umass.edu</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi all,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I wonder if you had a chance to look into this issue.<span class="apple-converted-space"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Recapping, we<o:p></o:p></p>
</div>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l0 level1 lfo1">created a SINR tag (NS-3) in the<span class="apple-converted-space"> </span><a href="http://wifi-phy.cc/"><span style="color:purple">wifi-phy.cc</span></a><o:p></o:p></li><li class="MsoNormal" style="mso-list:l0 level1 lfo1">created a new TLV and tag (NDNLP) to carry that value<o:p></o:p></li><li class="MsoNormal" style="mso-list:l0 level1 lfo1">modified the encoding according to the<span class="apple-converted-space"> </span><a href="https://lo.calho.st/networks/adding-custom-packet-fields-to-packets-in-ndnsim-2-3-without-forking-the-entire-repository/"><span style="color:purple">post</span></a><span class="apple-converted-space"> </span>Junxiao
 shared<o:p></o:p></li><li class="MsoNormal" style="mso-list:l0 level1 lfo1">read the SINR value in the NDN net-device (thus, the NS-3 tag works) and attach the NDNLP tag to the newly created NFD packet<o:p></o:p></li><li class="MsoNormal" style="mso-list:l0 level1 lfo1">read the SINR tag (NDNLP) that is attached to the NFD packet in the forwarding strategy, but the value is zero<o:p></o:p></li></ul>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I was looking at the<span class="apple-converted-space"> </span><a href="https://github.com/4th-ndn-hackathon/ndnSIM-Mobile-Simulation-Package/commit/c59de9d958ad0aed7bcb37bdc57a46ebe1752b6f"><span style="color:purple">geo-tag</span></a><span class="apple-converted-space"> </span>from
 the 4<sup>th</sup><span class="apple-converted-space"> </span>Hackathon, and that tag survives this encoding/decoding process. Is this a way worth pursuing?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">TT<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<p class="MsoNormal"><b>From:</b><span class="apple-converted-space"> </span>Thiago Teixeira<span class="apple-converted-space"> </span><br>
<b>Sent:</b><span class="apple-converted-space"> </span>Tuesday, August 7, 2018 7:24 AM<br>
<b>To:</b><span class="apple-converted-space"> </span>NdnSIM <<a href="mailto:ndnSIM@lists.cs.ucla.edu">ndnSIM@lists.cs.ucla.edu</a>><br>
<b>Cc:</b><span class="apple-converted-space"> </span>'Spyridon (Spyros) Mastorakis' <<a href="mailto:mastorakis@cs.ucla.edu">mastorakis@cs.ucla.edu</a>>; Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu">shijunxiao@email.arizona.edu</a>><br>
<b>Subject:</b><span class="apple-converted-space"> </span>FW: [ndnSIM] SINR packet tag in ndnSIM 2.5<o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Just including the mailing list<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<p class="MsoNormal"><b>From:</b><span class="apple-converted-space"> </span>Rajvardhan Deshmukh <<a href="mailto:rdeshmukh@umass.edu"><span style="color:purple">rdeshmukh@umass.edu</span></a>><span class="apple-converted-space"> </span><br>
<b>Sent:</b><span class="apple-converted-space"> </span>Monday, August 6, 2018 4:14 PM<br>
<b>To:</b><span class="apple-converted-space"> </span>Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu"><span style="color:purple">shijunxiao@email.arizona.edu</span></a>><br>
<b>Cc:</b><span class="apple-converted-space"> </span>Thiago Teixeira <<a href="mailto:tteixeira@umass.edu"><span style="color:purple">tteixeira@umass.edu</span></a>><br>
<b>Subject:</b><span class="apple-converted-space"> </span>Re: [ndnSIM] SINR packet tag in ndnSIM 2.5<o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Hi Junxiao,</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">The error was solved using your suggestion (using the set method).</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">But when we try to access this tag in the forwarding strategy, we still get null value:</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Code Snippet #1: (to access tag in forwarding strategy)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> double sinr = 0.0;<br>
 auto sinrTag = interest.getTag<lp::SinrTag>();<br>
 if (sinrTag != nullptr) {</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">   sinr =*sinrTag;</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> }</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Output for Snippet #1:</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> sinrTag is nullptr</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">--------------------------------------------------------------</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Code Snippet #2: (to set tag in<span class="apple-converted-space"> </span><a href="https://github.com/named-data-ndnSIM/ndnSIM/blob/65c490630e1a2e9cdebaf505de8729838c000821/model/ndn-net-device-transport.cpp#L119"><span style="color:purple">ndn-net-device-transport.cpp</span></a>)<br>
<br>
 BlockHeader header;<br>
 packet->RemoveHeader(header);<br>
 auto nfdPacket = Packet(std::move(header.getBlock()));<br>
<br>
 ::ndn::lp::Packet lpPacket = ::ndn::lp::Packet(nfdPacket.packet);<br>
 if (sinrValue) {<br>
   lpPacket.set<lp::SinrTagField>(sinrValue);<br>
 }<br>
<br>
 this->receive(std::move(nfdPacket));<br>
-------------------------------------------------------------</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Can you help us set the value for SinrTagField in the ndn-net-device-transport.cpp?</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Thanks,</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Raj</span><o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>