<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">I would suggest that you add the new field as an NDNLP tag instead:</div><div class=""><br class=""></div><div class=""><a href="https://lo.calho.st/networks/adding-custom-packet-fields-to-packets-in-ndnsim-2-3-without-forking-the-entire-repository/" class="">https://lo.calho.st/networks/adding-custom-packet-fields-to-packets-in-ndnsim-2-3-without-forking-the-entire-repository/</a></div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""><div class="">
<div class=""><div class=""><div class=""><span class="" style="float: none; display: inline !important;">Spyridon (Spyros) Mastorakis</span><br class=""><span class="" style="float: none; display: inline !important;">Personal Website: </span><a href="http://cs.ucla.edu/~mastorakis/" class="">http://cs.ucla.edu/~mastorakis/</a><br class=""><span class="" style="float: none; display: inline !important;">Internet Research Laboratory</span><br class=""><span class="" style="float: none; display: inline !important;">Computer Science Department</span><br class=""><span class="" style="float: none; display: inline !important;">UCLA</span></div></div></div>
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Oct 16, 2017, at 4:44 AM, Mateus Sousa <<a href="mailto:mateus.aluufc@gmail.com" class="">mateus.aluufc@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class=""><div class=""><div class=""><b class="">wireDEcode (before nonce): </b><br class=""><br class="">  ////////////////////////////////////////<br class="">  // Mateus UFBA-Brazil-2017<br class="">  ////////////////////////////////////////<br class="">  // NextForwarder<br class="">  m_nextForwarder = m_wire.get(tlv::NextForwarder);<br class="">  m_lastForwarder = m_wire.get(tlv::LastForwarder);<br class=""><br class="">  ////////////////////////////////////////<br class="">  //          END MATEUS<br class="">  ////////////////////////////////////////<br class=""><br class=""></div><b class="">wireEncode:<br class=""><br class=""></b>  //////////////////////////////////////////////////<br class="">  // My modifications (Mateus)<br class="">  //////////////////////////////////////////////////<br class="">  getNextForwarder();<br class="">  getLastForwarder();<br class="">  totalLength += encoder.prependBlock(m_lastForwarder);<br class="">  totalLength += encoder.prependBlock(m_nextForwarder);<br class="">  //////////////////////////////////////////////////<br class=""><br class=""></div>I tried to copy the Nonce settings. <br class=""><br class=""></div>Thanks,<br class=""><div class=""><div class=""><br class=""><br class=""><br class=""></div></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">2017-10-15 23:21 GMT-03:00 Spyridon (Spyros) Mastorakis <span dir="ltr" class=""><<a href="mailto:mastorakis@cs.ucla.edu" target="_blank" class="">mastorakis@cs.ucla.edu</a>></span>:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">Hi,<div class=""><br class=""></div><div class="">have you modified the wireEncode and wireDecode methods to encode/decode the field to/from wire format?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""><div class="">
<div class=""><div class=""><div class=""><span style="float:none;display:inline!important" class="">Spyridon (Spyros) Mastorakis</span><br class=""><span style="float:none;display:inline!important" class="">Personal Website: </span><a href="http://cs.ucla.edu/~mastorakis/" target="_blank" class="">http://cs.ucla.edu/~<wbr class="">mastorakis/</a><br class=""><span style="float:none;display:inline!important" class="">Internet Research Laboratory</span><br class=""><span style="float:none;display:inline!important" class="">Computer Science Department</span><br class=""><span style="float:none;display:inline!important" class="">UCLA</span></div><div class=""><br class=""></div></div></div></div><div class=""><div class="h5"><div class=""><blockquote type="cite" class=""><div class="">On Oct 15, 2017, at 4:28 PM, Mateus Sousa <<a href="mailto:mateus.aluufc@gmail.com" target="_blank" class="">mateus.aluufc@gmail.com</a>> wrote:</div><br class="m_-1204199762260539453Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi all,<br class=""><br class="">I added a new field to Interest packet by following the discussions: <a href="http://www.lists.cs.ucla.edu/pipermail/ndnsim/2015-July/002044.html" target="_blank" class="">http://www.lists.cs.ucla.edu/<wbr class="">pipermail/ndnsim/2015-July/<wbr class="">002044.html</a> and <a href="http://www.lists.cs.ucla.edu/pipermail/ndnsim/2017-March/003481.html" target="_blank" class="">http://www.lists.cs.ucla.edu/<wbr class="">pipermail/ndnsim/2017-March/<wbr class="">003481.html</a>.<br class=""><br class="">I created the field "NextForwarder" to point what node is the next forwarder to the interest. This field should be updated at every node (here is the problem). <br class=""><br class="">However, the alterations aren't persistent. The field value turns into "0" no matter what value I set.<br class=""><br class="">Here goes my modifications:<br class=""><br class=""><b class="">    src/Interest.cpp: </b><br class="">                <br class="">    Interest&<br class="">    Interest::setNextForwarder(<wbr class="">uint32_t next) {<br class="">           if (m_wire.hasWire() && m_nextForwarder.value_size() == sizeof(uint32_t)) {<br class="">            std::memcpy(const_cast<uint8_<wbr class="">t*>(m_nextForwarder.value()), &next, sizeof(next));<br class="">  }<br class="">  else {<br class="">    m_nextForwarder = makeBinaryBlock(tlv::<wbr class="">NextForwarder,<br class="">                              reinterpret_cast<const uint8_t*>(&next),<br class="">                              sizeof(next));<br class="">    m_wire.reset();<br class="">  }<br class="">  return *this;<br class="">}<br class=""><br class="">uint32_t<br class="">Interest::getNextForwarder() const{<br class="">  if (!m_nextForwarder.hasWire())<br class="">    const_cast<Interest*>(this)-><wbr class="">setNextForwarder(9999);<br class=""><br class="">  if (m_nextForwarder.value_size() == sizeof(uint32_t))<br class="">    return *reinterpret_cast<const uint32_t*>(m_nextForwarder.<wbr class="">value());<br class="">  else {<br class="">    return readNonNegativeInteger(m_<wbr class="">nextForwarder);<br class="">  }<br class="">}<br class=""><br class=""><br class=""><b class="">    encoding/tlv.h</b><br class="">          NextForwarder = 33, // X- Mateus<br class=""><br class=""><br class="">Thanks in advance.<br class=""></div><br class=""></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></div></body></html>