<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=utf-8">
<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.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle21
        {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;}
--></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,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for your comments. We are able to read the tag in the net-device as expected.<o:p></o:p></p>
<p class="MsoNormal">We then added a new NDNLP field and TLV to pass this value and later be able to read it in the strategy. More specifically, we added the following code in NetDeviceTransport::receiveFromNetDevice after the nfdPacket is created in
<a href="https://github.com/named-data-ndnSIM/ndnSIM/blob/master/model/ndn-net-device-transport.cpp#L133">
L133</a>. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">::ndn::lp::Packet lpPacket = ::ndn::lp::Packet(nfdPacket.packet);<o:p></o:p></p>
<p class="MsoNormal">  if (sinrValue){<o:p></o:p></p>
<p class="MsoNormal">    lpPacket.add<lp::SinrTagField>(sinrValue);<o:p></o:p></p>
<p class="MsoNormal">  }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In our strategy, we are reading the tag in the afterReceiveInterest like this:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">auto sinrTag = interest.getTag<lp::SinrTag>();<o:p></o:p></p>
<p class="MsoNormal">      if (sinrTag != nullptr) {<o:p></o:p></p>
<p class="MsoNormal">        sinr = *sinrTag;<o:p></o:p></p>
<p class="MsoNormal">      }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Though the value of sinr is always zero. Our suspicion is that the lpPacket is not being added to the nfdPacket when receive is called (below).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">this->receive(std::move(nfdPacket)); <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We couldn’t find any topic or article related to this issue. Do you know how can we accomplish this?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Cheers<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> Saturday, July 28, 2018 11:17 PM<br>
<b>To:</b> Thiago Teixeira <tteixeira@umass.edu><br>
<b>Cc:</b> Rajvardhan Deshmukh <rdeshmukh@umass.edu>; NdnSIM <ndnSIM@lists.cs.ucla.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">that might require some hacking.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I think that this might be the right place to start:<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/ndnSIM/blob/master/model/ndn-net-device-transport.cpp#L119">https://github.com/named-data-ndnSIM/ndnSIM/blob/master/model/ndn-net-device-transport.cpp#L119</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In ndnSIM, each simulated node receives NS-3 packets from others and the NDN packets are encapsulated into NS-3 packets. The above method is called when an NS-3 packet is received by a node and extracts the NDN packet from the NS-3 packet.
 I would guess that the tag you are talking about might be attached to the received NS-3 packet. If my intuition is right, you should be able to extract it in this method and store it for later or pass it to the strategy.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Hope this helps,<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 Jul 27, 2018, at 12:21 PM, 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 Spyros,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks for your email. In summary, we added a SINR packet tag on the node’s WiFi interface, which we want to read the value in the strategy layer. The issue is that we could not find a method to read the SINR tag in the strategy. We are
 able to create and use other using the NDNLP (as your commits show). The problem is that the SINR tag is a NS-3 tag (not ndnlp).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">And yes, we are not using sockets whatsoever.<span class="apple-converted-space"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Regarding your last sentence, do you have any documentation or examples on how to make sure the NS-3 tag is preserved in the NDN packet?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I tried this in the strategy,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    std::shared_ptr<ns3::SnrTag> tag;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    auto sinrTag = interest. template getTag <ns3::ndn::Ns3PacketTag> ();<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    bool hasTag = sinrTag.getPacket().PeekPacketTag(tag);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">but I get,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    error: ‘class std::shared_ptr<ns3::ndn::Ns3PacketTag>’ has no member named ‘getPacket’<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 for your help,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thiago<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>Spyridon (Spyros) Mastorakis [<a href="mailto:mastorakis@cs.ucla.edu">mailto:mastorakis@cs.ucla.edu</a>]<span class="apple-converted-space"> </span><br>
<b>Sent:</b><span class="apple-converted-space"> </span>Friday, July 27, 2018 2:20 PM<br>
<b>To:</b><span class="apple-converted-space"> </span>Rajvardhan Deshmukh <<a href="mailto:rdeshmukh@umass.edu">rdeshmukh@umass.edu</a>><br>
<b>Cc:</b><span class="apple-converted-space"> </span>NdnSIM <<a href="mailto:ndnSIM@lists.cs.ucla.edu">ndnSIM@lists.cs.ucla.edu</a>>; Thiago Teixeira <<a href="mailto:tteixeira@umass.edu">tteixeira@umass.edu</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>
<p class="MsoNormal">Hi,<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">I am not sure I understand what you are trying to do.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">It seems to me that you are using sockets and some TCP application, but you are trying to use NDN?<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">If you want to use an NS-3 tag, you will have to make sure that when you try to get the NDN packet out of the NS-3 packet, you have to preserve the tag. <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Spyridon (Spyros) Mastorakis<br>
Personal Website: <a href="http://cs.ucla.edu/~mastorakis/"><span style="color:purple">http://cs.ucla.edu/~mastorakis/</span></a><br>
Internet Research Laboratory<br>
Computer Science Department<br>
UCLA<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">On Jul 24, 2018, at 11:32 AM, Rajvardhan Deshmukh <<a href="mailto:rdeshmukh@umass.edu"><span style="color:purple">rdeshmukh@umass.edu</span></a>> wrote:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Hi Spyros,<br>
<br>
We intend to access the SINR/SNR in the forwarding strategy.<br>
<br>
1) As i was going through the<span class="apple-converted-space"> </span><a href="https://github.com/named-data-ndnSIM/NFD/commit/3bebd1190b1c45f8acaa0fe1d3a3100651a062e4#diff-bcc8f3e64bcd66371436f906a83e51b5"><span style="color:purple">links</span></a><span class="apple-converted-space"> </span>Spyros
 sent, i noticed that they use an interest or data object with API setTag. But we don't have access to those objects in the PHY (wifi) layer. So i'm not sure as to which object i should use the SetTag API.<span class="apple-converted-space"> </span><strong><span style="font-family:"Courier New"">Should
 we pursue this line of thoughts?</span></strong></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"><strong><span style="font-size:10.0pt;font-family:"Courier New"">We also looked at</span></strong><span class="apple-converted-space"><span style="font-size:10.0pt;font-family:"Courier New""> </span></span><strong><span style="font-size:10.0pt;font-family:"Courier New"">ns3
 related posts.</span></strong><span style="font-size:10.0pt;font-family:"Courier New""><br>
2) So, we looked at ns3 related posts, which suggest that we need to attach the SNR value to the Packet in the PHY layer.<br>
We added a SINR packet tag in the src/wifi/model/<a href="http://wifi-phy.cc/"><span style="color:purple">wifi-phy.cc</span></a><span class="apple-converted-space"> </span>EndReceive() method using the following snippet:<br>
<br>
  SnrTag tag;<br>
<br>
  tag.Set(signalNoise.signal - signalNoise.noise);<br>
<br>
  if (! packet->PeekPacketTag (tag)){<br>
<br>
     packet->AddPacketTag (tag);<br>
<br>
  }</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><br>
The implementation of the SINR packet tag is available at src/wifi/model/<a href="http://snr-tag.cc/"><span style="color:purple">snr-tag.cc</span></a>.</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">But we get an error during reading this Tag in the 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""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">ns3::Ptr<ns3::Socket>m_socket=node->GetObject<ns3::Socket>();<span class="apple-converted-space"> </span><strong><span style="font-family:"Courier New"">//(line of concern)</span></strong>                                   <span class="apple-converted-space"> </span><br>
ns3::Ptr<ns3::Packet>packet=m_socket->Recv();                                                                                                                    <span class="apple-converted-space"> </span><br>
ns3::SnrTag tag;                                                                                     <span class="apple-converted-space"> </span><br>
if(packet->PeekPacketTag(tag)){                                                                      <br>
        NS_LOG_DEBUG ("Received Packet with SRN = " << tag.Get());                                          <br>
       </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">std::cout<< "\nSNR:"<< tag.Get()<< std::endl;                                                       <br>
                                                                                                          <span class="apple-converted-space"> </span><br>
}</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><strong><span style="font-size:10.0pt;font-family:"Courier New"">Note: I think we get to get the right socket (check line of concern) using something similar to what they do in the application layer in ns3 (GetObject<OnOffApplication> ()->GetSocket
 ())</span></strong><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 assist please? Let me know if you need more info.</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 style="border:none;border-left:solid #1010FF 1.5pt;padding:0in 0in 0in 5.0pt;margin-left:0in;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">-------------------------------------------------------------------<br>
FROM: Spyridon (Spyros) Mastorakis [mailto:<a href="mailto:mastorakis@cs.ucla.edu"><span style="color:purple">mastorakis@cs.ucla.edu</span></a>]<span class="apple-converted-space"> </span><br>
SENT: Monday, July 23, 2018 9:43 PM<br>
TO: Thiago Teixeira <<a href="mailto:tteixeira@umass.edu"><span style="color:purple">tteixeira@umass.edu</span></a>><br>
CC: ndnsim <<a href="mailto:ndnsim@lists.cs.ucla.edu"><span style="color:purple">ndnsim@lists.cs.ucla.edu</span></a>><br>
SUBJECT: Re: [ndnSIM] SINR packet tag in ndnSIM 2.5<span class="apple-converted-space"> </span><br>
<br>
Hi Thiago,<br>
<br>
I think we have converted our NS-3 tags to NDN Link Protocol (LP) tags.<br>
For more details, take a look at these commits (HopCount tag):<span class="apple-converted-space"> </span><br>
<br>
<a href="https://github.com/named-data-ndnSIM/NFD/commit/3bebd1190b1c45f8acaa0fe1d3a3100651a062e4" target="_blank"><span style="color:purple">https://github.com/named-data-ndnSIM/NFD/commit/3bebd1190b1c45f8acaa0fe1d3a3100651a062e4</span></a><br>
<br>
<br>
<a href="https://github.com/named-data-ndnSIM/ndn-cxx/commit/e1ae096efd8ad503ce7dbd616ee174afaed6c66b" target="_blank"><span style="color:purple">https://github.com/named-data-ndnSIM/ndn-cxx/commit/e1ae096efd8ad503ce7dbd616ee174afaed6c66b</span></a><br>
<br>
<br>
Thanks,<span class="apple-converted-space"> </span><br>
<br>
Spyridon (Spyros) Mastorakis<br>
Personal Website:<span class="apple-converted-space"> </span><a href="http://cs.ucla.edu/~mastorakis/" target="_blank"><span style="color:purple">http://cs.ucla.edu/~mastorakis/</span></a><br>
Internet Research Laboratory<br>
Computer Science Department<br>
UCLA<span class="apple-converted-space"> </span><br>
<br>
<br>
<br>
</span><o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #1010FF 1.5pt;padding:0in 0in 0in 5.0pt;margin-left:0in;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">On Jul 23, 2018, at 2:52 PM, Thiago Teixeira <<a href="mailto:tteixeira@umass.edu"><span style="color:purple">tteixeira@umass.edu</span></a>><br>
wrote:<span class="apple-converted-space"> </span></span><o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">Hi Spyros,<br>
<br>
We intend to access the SINR/SNR in the forwarding strategy.<br>
<br>
1) As i was going through the<span class="apple-converted-space"> </span><a href="https://github.com/named-data-ndnSIM/NFD/commit/3bebd1190b1c45f8acaa0fe1d3a3100651a062e4#diff-bcc8f3e64bcd66371436f906a83e51b5"><span style="color:purple">links</span></a><span class="apple-converted-space"> </span>Spyros
 sent, i noticed that they use an interest or data object with API setTag. But we don't have access to those objects in the PHY (wifi) layer. So i'm not sure as to which object i should use the SetTag API.</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""><br>
<br>
2) So, we looked at ns3 related posts, which suggest that we need to attach the SNR value to the Packet in the PHY layer.<br>
We added a SINR packet tag in the src/wifi/model/<a href="http://wifi-phy.cc/"><span style="color:purple">wifi-phy.cc</span></a><span class="apple-converted-space"> </span>EndReceive() method using the following snippet:<br>
<br>
  SnrTag tag;<br>
<br>
  tag.Set(signalNoise.signal - signalNoise.noise);<br>
<br>
  if (! packet->PeekPacketTag (tag)){<br>
<br>
     packet->AddPacketTag (tag);<br>
<br>
  }</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><br>
The implementation of the SINR packet tag is available at src/wifi/model/<a href="http://snr-tag.cc/"><span style="color:purple">snr-tag.cc</span></a>.</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">But we get an error during reading this Tag in the 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""> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">ns3::Ptr<ns3::Socket>m_socket=node->GetObject<ns3::Socket>();                                     <br>
ns3::Ptr<ns3::Packet>packet=m_socket->Recv();                                                                                                                    <span class="apple-converted-space"> </span><br>
ns3::SnrTag tag;                                                                                     <span class="apple-converted-space"> </span><br>
if(packet->PeekPacketTag(tag)){                                                                      <br>
        NS_LOG_DEBUG ("Received Packet with SRN = " << tag.Get());                                          <br>
       </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">std::cout<< "\nSNR:"<< tag.Get()<< std::endl;                                                       <br>
                                                                                                          <span class="apple-converted-space"> </span><br>
}</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><strong><span style="font-size:10.0pt;font-family:"Courier New"">Note: I think we get to get the right socket using something similar to what they do in the application layer in ns3 (GetObject<OnOffApplication> ()->GetSocket ())</span></strong><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 assist please?</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>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">-------------------------------------------------------------------<br>
FROM: Spyridon (Spyros) Mastorakis [mailto:<a href="mailto:mastorakis@cs.ucla.edu"><span style="color:purple">mastorakis@cs.ucla.edu</span></a>]<span class="apple-converted-space"> </span><br>
SENT: Monday, July 23, 2018 9:43 PM<br>
TO: Thiago Teixeira <<a href="mailto:tteixeira@umass.edu"><span style="color:purple">tteixeira@umass.edu</span></a>><br>
CC: ndnsim <<a href="mailto:ndnsim@lists.cs.ucla.edu"><span style="color:purple">ndnsim@lists.cs.ucla.edu</span></a>><br>
SUBJECT: Re: [ndnSIM] SINR packet tag in ndnSIM 2.5<span class="apple-converted-space"> </span><br>
<br>
Hi Thiago,<br>
<br>
I think we have converted our NS-3 tags to NDN Link Protocol (LP) tags.<br>
For more details, take a look at these commits (HopCount tag):<span class="apple-converted-space"> </span><br>
<br>
<a href="https://github.com/named-data-ndnSIM/NFD/commit/3bebd1190b1c45f8acaa0fe1d3a3100651a062e4" target="_blank"><span style="color:purple">https://github.com/named-data-ndnSIM/NFD/commit/3bebd1190b1c45f8acaa0fe1d3a3100651a062e4</span></a><br>
<br>
<br>
<a href="https://github.com/named-data-ndnSIM/ndn-cxx/commit/e1ae096efd8ad503ce7dbd616ee174afaed6c66b" target="_blank"><span style="color:purple">https://github.com/named-data-ndnSIM/ndn-cxx/commit/e1ae096efd8ad503ce7dbd616ee174afaed6c66b</span></a><br>
<br>
<br>
Thanks,<span class="apple-converted-space"> </span><br>
<br>
Spyridon (Spyros) Mastorakis<br>
Personal Website:<span class="apple-converted-space"> </span><a href="http://cs.ucla.edu/~mastorakis/" target="_blank"><span style="color:purple">http://cs.ucla.edu/~mastorakis/</span></a><br>
Internet Research Laboratory<br>
Computer Science Department<br>
UCLA<span class="apple-converted-space"> </span><br>
<br>
<br>
<br>
</span><o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #1010FF 1.5pt;padding:0in 0in 0in 5.0pt;margin-left:0in;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">On Jul 23, 2018, at 2:52 PM, Thiago Teixeira <<a href="mailto:tteixeira@umass.edu"><span style="color:purple">tteixeira@umass.edu</span></a>><br>
wrote:<span class="apple-converted-space"> </span><br>
<br>
Hi all,<span class="apple-converted-space"> </span><br>
<br>
We added a SINR packet tag in the src/wifi/model/<a href="http://wifi-phy.cc/"><span style="color:purple">wifi-phy.cc</span></a><span class="apple-converted-space"> </span>[<a href="https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/wifi-phy.cc#L2541" target="_blank"><span style="color:purple">1</span></a>]<br>
EndReceive() method using the following snippet:<span class="apple-converted-space"> </span><br>
<br>
SnrTag tag;<span class="apple-converted-space"> </span><br>
<br>
tag.Set(signalNoise.signal - signalNoise.noise);<span class="apple-converted-space"> </span><br>
<br>
if (! packet->PeekPacketTag (tag)){<span class="apple-converted-space"> </span><br>
<br>
packet->AddPacketTag (tag);<span class="apple-converted-space"> </span><br>
<br>
}<span class="apple-converted-space"> </span><br>
<br>
The implementation of the SINR packet tag is available at<br>
src/wifi/model/<a href="http://snr-tag.cc/"><span style="color:purple">snr-tag.cc</span></a><span class="apple-converted-space"> </span>[<a href="https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/snr-tag.cc" target="_blank"><span style="color:purple">2</span></a>].<span class="apple-converted-space"> </span><br>
<br>
We would like to get the value of the tag in the forwarding strategy.<br>
Before ndnSIM 2.3, we could just use something like this:<span class="apple-converted-space"> </span><br>
<br>
SnrTag tag;<span class="apple-converted-space"> </span><br>
<br>
Ptr<Packet> payload = ConstCast<Packet>(interest->GetPayload());<span class="apple-converted-space"> </span><br>
<br>
payload->PeekPacketTag (tag);<span class="apple-converted-space"> </span><br>
<br>
but in ndnSIM 2.5 we could not find an equivalent method. I think we<br>
need to convert the SINR tag to type ns3::ndn::ns3PacketTag, is that<br>
correct?<span class="apple-converted-space"> </span><br>
<br>
Can you assist please?<span class="apple-converted-space"> </span><br>
<br>
Thanks,<span class="apple-converted-space"> </span><br>
<br>
Thiago<span class="apple-converted-space"> </span><br>
<br>
_______________________________________________<br>
ndnSIM mailing list<br>
<a href="mailto:ndnSIM@lists.cs.ucla.edu"><span style="color:purple">ndnSIM@lists.cs.ucla.edu</span></a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank"><span style="color:purple">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</span></a><span class="apple-converted-space"> </span>[<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank"><span style="color:purple">3</span></a>]</span><o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><br>
  <br>
<br>
Links:<br>
------<br>
[1]<span class="apple-converted-space"> </span><a href="https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/wifi-phy.cc#L2541" target="_blank"><span style="color:purple">https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/wifi-phy.cc#L2541</span></a><br>
[2]<span class="apple-converted-space"> </span><a href="https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/snr-tag.cc" target="_blank"><span style="color:purple">https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/snr-tag.cc</span></a><br>
[3]<span class="apple-converted-space"> </span><a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank"><span style="color:purple">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</span></a></span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><br>
<br>
Hi all,<span class="apple-converted-space"> </span><br>
<br>
We added a SINR packet tag in the src/wifi/model/<a href="http://wifi-phy.cc/"><span style="color:purple">wifi-phy.cc</span></a><span class="apple-converted-space"> </span>[<a href="https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/wifi-phy.cc#L2541" target="_blank"><span style="color:purple">1</span></a>]<br>
EndReceive() method using the following snippet:<span class="apple-converted-space"> </span><br>
<br>
SnrTag tag;<span class="apple-converted-space"> </span><br>
<br>
tag.Set(signalNoise.signal - signalNoise.noise);<span class="apple-converted-space"> </span><br>
<br>
if (! packet->PeekPacketTag (tag)){<span class="apple-converted-space"> </span><br>
<br>
packet->AddPacketTag (tag);<span class="apple-converted-space"> </span><br>
<br>
}<span class="apple-converted-space"> </span><br>
<br>
The implementation of the SINR packet tag is available at<br>
src/wifi/model/<a href="http://snr-tag.cc/"><span style="color:purple">snr-tag.cc</span></a><span class="apple-converted-space"> </span>[<a href="https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/snr-tag.cc" target="_blank"><span style="color:purple">2</span></a>].<span class="apple-converted-space"> </span><br>
<br>
We would like to get the value of the tag in the forwarding strategy.<br>
Before ndnSIM 2.3, we could just use something like this:<span class="apple-converted-space"> </span><br>
<br>
SnrTag tag;<span class="apple-converted-space"> </span><br>
<br>
Ptr<Packet> payload = ConstCast<Packet>(interest->GetPayload());<span class="apple-converted-space"> </span><br>
<br>
payload->PeekPacketTag (tag);<span class="apple-converted-space"> </span><br>
<br>
but in ndnSIM 2.5 we could not find an equivalent method. I think we<br>
need to convert the SINR tag to type ns3::ndn::ns3PacketTag, is that<br>
correct?<span class="apple-converted-space"> </span><br>
<br>
Can you assist please?<span class="apple-converted-space"> </span><br>
<br>
Thanks,<span class="apple-converted-space"> </span><br>
<br>
Thiago<span class="apple-converted-space"> </span><br>
<br>
_______________________________________________<br>
ndnSIM mailing list<br>
<a href="mailto:ndnSIM@lists.cs.ucla.edu"><span style="color:purple">ndnSIM@lists.cs.ucla.edu</span></a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank"><span style="color:purple">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</span></a><span class="apple-converted-space"> </span>[<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank"><span style="color:purple">3</span></a>]</span><o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""><br>
  <br>
<br>
Links:<br>
------<br>
[1]<span class="apple-converted-space"> </span><a href="https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/wifi-phy.cc#L2541" target="_blank"><span style="color:purple">https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/wifi-phy.cc#L2541</span></a><br>
[2]<span class="apple-converted-space"> </span><a href="https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/snr-tag.cc" target="_blank"><span style="color:purple">https://github.com/named-data-ndnSIM/ns-3-dev/blob/ndnSIM-v2.5/src/wifi/model/snr-tag.cc</span></a><br>
[3]<span class="apple-converted-space"> </span><a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank"><span style="color:purple">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</span></a></span><o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>