<div dir="auto">Hi DJEMAA<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>If the packet length doesn't matter in your configuration, I advise you to add a Tag instead of a new Field to your packet, since according to ndnSIM design, the tag resides only in the memory. </div><div>Also, a Tag can be easily managed directly in the NFD machinery (forwarder class), contrary to a new field in either Interest or Data packets which are generally static objects.</div></div></blockquote></div><div dir="auto"><br></div><div dir="auto">ndnSIM doesn't support ns3::Tag (the kind described in ns-3 model library <a href="https://www.nsnam.org/docs/release/3.33/models/html/packets.html#adding-and-removing-tags">https://www.nsnam.org/docs/release/3.33/models/html/packets.html#adding-and-removing-tags</a> ).</div><div dir="auto">Subclasses of ndn::Tag are completely different from ns3::Tag. This includes the HopCountTag. They must be encoded into the packet buffer to have any effect.</div><div dir="auto"><br></div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div style="font-family:sans-serif;font-size:12.8px" dir="auto"><br></div><div style="font-family:sans-serif;font-size:12.8px" dir="auto">The main problem is that if i have the following topology</div><div style="font-family:sans-serif;font-size:12.8px" dir="auto">A--B--C--D </div><div style="font-family:sans-serif;font-size:12.8px" dir="auto">(Where A is the Consumer and D is the Producer, and B and C are routers)</div><div style="font-family:sans-serif;font-size:12.8px" dir="auto">Then by the solution given in the above link the custom field set in A's generated Interest packet is reset to default value by B when it forwards the interest to C.  </div><div style="font-family:sans-serif;font-size:12.8px" dir="auto">How can I make it carry the value intended by A?</div></div></blockquote></div></blockquote></div><div dir="auto"><br></div><div dir="auto">A <i>forwarded</i> Interest is actually a different packet from the original: Name, CanBePrefix, MustBeFresh, ApplicationParameters are copied over, InterestLifetime, Nonce, HopLimit are modified, and other fields may be discarded.</div><div dir="auto"><br></div><div dir="auto">As I said previously, it's best to include the information as part of the Name or ApplicationParameters, which is supported universally.</div><div dir="auto"><br></div><div dir="auto">While NDN protocol allows having unrecognized non-critical fields in the Interest packet, the protocol is vague on whether and what to preserve during forwarding.</div><div dir="auto">So far, as long as Name, CanBePrefix, MustBeFresh, ApplicationParameters, and any fields that appear after ApplicationParameters are preserved, the forwarder implementation would be interoperable.</div><div dir="auto"><br></div><div dir="auto">Yours, Junxiao</div><div class="gmail_quote" dir="auto"></div></div>