<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yiv3439946802"><div id="yui_3_16_0_ym19_1_1489066829160_33725"><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;" id="yui_3_16_0_ym19_1_1489066829160_33724"><div id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_13220">Hi Spyros,</div><div id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_13186"><br clear="none"></div><div id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_13187">After reading a few threads in this mailing list, I think the packet tag can be used to do what I want. I have a Consumer/Producer applications, followed by a new forwarding strategy.</div><div id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_13219">The examples of packet tagging vary, however.  My Consumer SendPacket() looks like this:<br clear="none"></div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14229"><br clear="none"></div><blockquote id="yui_3_16_0_ym19_1_1489066829160_34379"><blockquote id="yui_3_16_0_ym19_1_1489066829160_34349"><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_15657">#include <tag-host.hpp></div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_16799">#include <ndn-cxx/lp/tags.hpp><br clear="none"></div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_16665">#include "utils/ndn-ns3-packet-tag.hpp"</div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_16804"><br clear="none"></div><div id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14677">// ...<br clear="none"></div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14397">void<br id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14400" clear="none">NewConsumer::SendPacket()</div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14432">{</div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_16803">  // ...</div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14558">  shared_ptr<Interest> interest = make_shared<Interest>();<br id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14672" clear="none">  interest->setNonce(m_rand->GetValue(0, std::numeric_limits<uint32_t>::max()));<br id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14673" clear="none">  interest->setName(*nameWithSequence);<br id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14674" clear="none">  time::milliseconds interestLifeTime(m_interestLifeTime.GetMilliSeconds());<br id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14675" clear="none">  interest->setInterestLifetime(interestLifeTime);</div><div dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_15707"><br clear="none"></div><div id="yui_3_16_0_ym19_1_1489066829160_34211">  interest->setTag(??);</div><div id="yui_3_16_0_ym19_1_1489066829160_34382">// ...</div><div id="yui_3_16_0_ym19_1_1489066829160_34548">}<br></div></blockquote></blockquote><div dir="ltr" id="yui_3_16_0_ym19_1_1489066829160_33942"><div id="yui_3_16_0_ym19_1_1489066829160_34346"><br></div><div id="yui_3_16_0_ym19_1_1489066829160_34348" dir="ltr">The API defines a tag as `void ndn::TagHost::setTag shared_ptr< T > 
          <em id="yui_3_16_0_ym19_1_1489066829160_34453">tag</em>)
           const`. How can I create a TagHost?</div><div dir="ltr" id="yui_3_16_0_ym19_1_1489066829160_34604"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1489066829160_34627">Thank you<br></div></div><div id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_14422"><br clear="none"></div><div id="yiv3439946802yui_3_16_0_ym19_1_1489066829160_15705"><span></span></div> <div class="yiv3439946802qtdSeparateBR" id="yui_3_16_0_ym19_1_1489066829160_34390"><br clear="none"><br clear="none"></div><div class="yiv3439946802yqt6387357842" id="yiv3439946802yqt46401"></div></div></div></div><div class=".yiv3439946802yahoo_quoted"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div dir="ltr"><font size="2" face="Arial"> On Wednesday, March 8, 2017 4:25 PM, Spyridon (Spyros) Mastorakis <mastorakis@cs.ucla.edu> wrote:<br clear="none"></font></div>  <br clear="none"><br clear="none"> <div class="yiv3439946802y_msg_container"><div id="yiv3439946802"><div>Hi,<div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802">I do not see how you could achieve that by modifying the packet format…</div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802">I would suggest you modify NFD directly or write your own application that will be running on each node and implement the required logic.</div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802">Thanks,</div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802"><div class="yiv3439946802">
<div class="yiv3439946802"><div class="yiv3439946802"><div class="yiv3439946802"><span class="yiv3439946802" style="float:none;display:inline;">Spyridon (Spyros) Mastorakis</span><br class="yiv3439946802" clear="none"><span class="yiv3439946802" style="float:none;display:inline;">Personal Website: </span><a rel="nofollow" shape="rect" class="yiv3439946802" target="_blank" href="http://cs.ucla.edu/~mastorakis/">http://cs.ucla.edu/~mastorakis/</a><br class="yiv3439946802" clear="none"><span class="yiv3439946802" style="float:none;display:inline;">Internet Research Laboratory</span><br class="yiv3439946802" clear="none"><span class="yiv3439946802" style="float:none;display:inline;">Computer Science Department</span><br class="yiv3439946802" clear="none"><span class="yiv3439946802" style="float:none;display:inline;">UCLA</span></div></div></div>
</div>
<br class="yiv3439946802" clear="none"><div class="yiv3439946802yqt7069512593" id="yiv3439946802yqt89182"><div><blockquote class="yiv3439946802" type="cite"><div class="yiv3439946802">On Mar 8, 2017, at 1:00 PM, John Scott <<a rel="nofollow" shape="rect" class="yiv3439946802" ymailto="mailto:scott1091@yahoo.com" target="_blank" href="mailto:scott1091@yahoo.com">scott1091@yahoo.com</a>> wrote:</div><br class="yiv3439946802Apple-interchange-newline" clear="none"><div class="yiv3439946802"><div class="yiv3439946802"><div class="yiv3439946802" style="background-color:rgb(255, 255, 255);font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:16px;"><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2751"><span class="yiv3439946802">Hi Spyros,</span></div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2760"><span class="yiv3439946802"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2828"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_3406">The title of the email is misleading, sorry. What I want to accomplish is the following:</span></div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2930"><span class="yiv3439946802"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2931"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959">At t=0s, Consumer node sends out an Interest with the prefix /name/segment_1. The application itself adds to the Interest /timestamp_1/some_other_field_1<br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_3306"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959">At t=2s, the Consumer nodes sends out another Interest with the prefix /name/segment_2/timestamp_2/some_other_field_2<br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_3359"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959">And so on.</span></div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_3407"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_3403"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959">The Producer node then interprets the Interest name, parses, and reply with the Data packet /name/segment_1/timestamp_3/some_other_field_3.</span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_3763"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_4840"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959">So a node can decide to drop a packet if (currentTime - timestamp_n) > threshold, for instance.<br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_4730"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_4632"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959">Can this be accomplish by modifying the Interest/Data packet in the ndn-cxx library or by using Interest filters and selectors?</span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_4928"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" dir="ltr"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959">Thank you<br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_4664"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_4665"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_3402"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959"><br class="yiv3439946802" clear="none"></span></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_3640"><span class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1489005629710_2959"><br class="yiv3439946802" clear="none"></span></div> <div class="yiv3439946802qtdSeparateBR"><br class="yiv3439946802" clear="none"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802yahoo_quoted" style="display:block;"> <div class="yiv3439946802" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div class="yiv3439946802" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div class="yiv3439946802" dir="ltr"><font class="yiv3439946802" size="2" face="Arial"> On Tuesday, March 7, 2017 6:53 PM, Spyridon (Spyros) Mastorakis <<a rel="nofollow" shape="rect" class="yiv3439946802" ymailto="mailto:mastorakis@cs.ucla.edu" target="_blank" href="mailto:mastorakis@cs.ucla.edu">mastorakis@cs.ucla.edu</a>> wrote:<br class="yiv3439946802" clear="none"></font></div>  <br class="yiv3439946802" clear="none"><br class="yiv3439946802" clear="none"> <div class="yiv3439946802y_msg_container"><div class="yiv3439946802" id="yiv3439946802"><div class="yiv3439946802">Hi,<div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802">take a look at the ndn-cxx library used by ndnSIM:</div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802"><a rel="nofollow" shape="rect" class="yiv3439946802" target="_blank" href="https://github.com/named-data-ndnSIM/ndn-cxx">https://github.com/named-data-ndnSIM/ndn-cxx</a></div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802">Modify the data and interest classes to add the fields that you want:</div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802"><a rel="nofollow" shape="rect" class="yiv3439946802" target="_blank" href="https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp">https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp</a></div><div class="yiv3439946802"><a rel="nofollow" shape="rect" class="yiv3439946802" target="_blank" href="https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp">https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp</a></div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802">Make sure that you also modify the way that you encode and decode an NDN packet to/from its wire format (methods wireEncode and wireDecode).</div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802">Hope that this helps,</div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"><div class="yiv3439946802">
<div class="yiv3439946802"><div class="yiv3439946802"><div class="yiv3439946802"><span class="yiv3439946802" style="float:none;display:inline;">Spyridon (Spyros) Mastorakis</span><br class="yiv3439946802" clear="none"><span class="yiv3439946802" style="float:none;display:inline;">Personal Website: </span><a rel="nofollow" shape="rect" class="yiv3439946802" target="_blank" href="http://cs.ucla.edu/~mastorakis/">http://cs.ucla.edu/~mastorakis/</a><br class="yiv3439946802" clear="none"><span class="yiv3439946802" style="float:none;display:inline;">Internet Research Laboratory</span><br class="yiv3439946802" clear="none"><span class="yiv3439946802" style="float:none;display:inline;">Computer Science Department</span><br class="yiv3439946802" clear="none"><span class="yiv3439946802" style="float:none;display:inline;">UCLA</span></div><div class="yiv3439946802"><br class="yiv3439946802" clear="none"></div></div></div></div><div class="yiv3439946802yqt4489632569" id="yiv3439946802yqt89804"><div class="yiv3439946802"><blockquote class="yiv3439946802" type="cite"><div class="yiv3439946802">On Mar 7, 2017, at 12:26 PM, John Scott <<a rel="nofollow" shape="rect" class="yiv3439946802" ymailto="mailto:scott1091@yahoo.com" target="_blank" href="mailto:scott1091@yahoo.com">scott1091@yahoo.com</a>> wrote:</div><br class="yiv3439946802Apple-interchange-newline" clear="none"><div class="yiv3439946802"><div class="yiv3439946802"><div class="yiv3439946802" style="background-color:rgb(255, 255, 255);font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:16px;"><div class="yiv3439946802">Hi,</div><div class="yiv3439946802" id="yiv3439946802yui_3_16_0_ym19_1_1488597478086_62536"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1488597478086_62526">I would like to add extra information in the Interest and Data packets so that intermediate nodes can make forwarding decisions; however, I did not find this option in the ndnSIM.</div><div class="yiv3439946802" dir="ltr">Could you please point me to some references?</div><div class="yiv3439946802" dir="ltr"><br class="yiv3439946802" clear="none"></div><div class="yiv3439946802" dir="ltr">Thank you<br class="yiv3439946802" clear="none"></div><div class="yiv3439946802" dir="ltr" id="yiv3439946802yui_3_16_0_ym19_1_1488597478086_62535"><br class="yiv3439946802" clear="none"></div></div></div></div></blockquote></div></div><br class="yiv3439946802" clear="none"></div></div></div><br class="yiv3439946802" clear="none"><br class="yiv3439946802" clear="none"></div>  </div> </div>  </div></div></div></div></blockquote></div></div><br class="yiv3439946802" clear="none"></div></div></div><br clear="none"><br clear="none"></div>  </div> </div>  </div></div></body></html>