<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Junxiao,
<div class=""><br class="">
</div>
<div class="">I have some questions about the specifics of the example that are best clarified through the nfd call, but here are some high-order questions:</div>
<div class=""><br class="">
</div>
<div class="">- Duplicate NACK is a problem because I think it will affect the pending interest information between the neighbors so their sync data packets won’t be able to propagate in time.  What does a node do to its PIT when it sends/receives a duplicate
 NACK?</div>
<div class=""><br class="">
</div>
<div class="">- /localhop is fine for intradomain routing, because NLSR neighbors are one hop away from each other.  But we don’t have to do this if we don’t have the duplicate NACK problem in the first place.</div>
<div class=""><br class="">
</div>
<div class="">- if we do have to use /localhop to remove the duplicate NACKs then we need to make sure that it only propagates one hop (not as implemented now).</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica;  font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class="">
<div class="">Lan</div>
</div>
</span></div>
</div>
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Jul 1, 2016, at 10:56 AM, Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu" class="">shijunxiao@email.arizona.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Hi Ashlesh</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
The unusual thing, as you tagged in sync-interest-trail, is “not sure what triggers A here”. I looked at A’s nfd.log and pieced together the changes on PIT entry.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
From A’s point of view, face261 is the local app, face262 is B, face263 is C.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Incoming+outgoing Interests, and PIT entry contents are as follows:</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">52.39 from=C=4168 to=app<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">      PIT in=[C=4168@52.39] out=[app@52.39]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">52.72 from=B=6605<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">      PIT in=[C=4168@52.39,B=6605@52.72] out=[app@52.39]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">52.74 from=app=7385 to=B,C<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">      PIT in=[C=4168@52.39,B=6605@52.72,app=7385@52.74] out=[app@52.39,B@52.74,C@52.74]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">56.39 PIT in=[B=6605@52.72,app=7385@52.74]+expired[C=4168@52.39] out=[B@52.74,C@52.74]+expired[app@52.39]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">56.72 PIT in=[app=7385@52.74]+expired[C=4168@52.39,B=6605@52.72] out=[B@52.74,C@52.74]+expired[app@52.39]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">56.74 Interest unsatisfied, PIT erased<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">56.89 from=C=0641 to=app<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">      PIT in=[C=0641@56.89] out=[app@56.89]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">56.90 from=app=7567 to=B,C<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">      PIT in=[C=0641@56.89,app=7567@56.90] out=[app@56.89,B@56.90,C@56.90]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">57.06 from=B=1547<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">      PIT in=[C=0641@56.89,app=7567@56.90,B=1547@57.06] out=[app@56.89,B@56.90,C@56.90]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">60.89 PIT in=[app=7567@56.90,B=1547@57.06]+expired[C=0641@56.89] out=[B@56.90,C@56.90]+expired[app@56.89]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">60.90 PIT in=[B=1547@57.06]+expired[C=0641@56.89,app=7567@56.90] out=[]+expired[app@56.89,B@56.90,C@56.90]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">61.05 from=C=6600 to=app,B,C<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-family: 'Courier New';" class="">      PIT in=[B=1547@57.06,C=6600@61.05]+expired[app=7567@56.90] out=[app@61.05,B@61.05,C@61.05]<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Time is represented with last two digits of integral part and first two digits of fractional part. Nonce is represented with last four digits. PIT in-record is represented as <downstream>=<nonce>@<time>. PIT out-record is represented as <upstream>@<time>.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
The PIT entry has been erased at 56.74, so anything before that does not affect the later part.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
At 61.05, an Interest with nonce 6600 is received from C. Before processing this Interest, the PIT entry has one unexpired in-record from B which has nonce 1547 and was created at 57.06; all out-records have been expired.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
This Interest is forwarded with nonce 6600 to both app and B.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Since the PIT entry indicates B still wants the Data, the strategy also forwards the Interest with nonce 1547 (which came from B at 57.06) back to C.<span class="Apple-converted-space"> </span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
While this may not be the best idea for multicast strategy, and using a nonce from non-local-app may be problematic with /localhop, this forwarding is valid in general: nonce 1547 has never been forwarded earlier, and downstream B still wants the Data, so the
 strategy can certainly forward the Interest to C using this nonce.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
If all you see is Nack-Duplicate, but application can still retrieve Data normally, don’t worry about that. The root cause of having Nack-Duplicates is that the topology contains a cycle.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Also, in general case, ChronoSync should not use /localhop, because it’s possible that two participants are not directly connected.</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<o:p class=""> </o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
Yours, Junxiao<o:p class=""></o:p></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><o:p class=""> </o:p></span></div>
<div style="border-style: solid none none; border-top-color: rgb(225, 225, 225); border-top-width: 1pt; padding: 3pt 0in 0in;" class="">
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; border: none; padding: 0in;" class="">
<b class="">From:<span class="Apple-converted-space"> </span></b><a href="mailto:agawande@memphis.edu" style="color: rgb(149, 79, 114); text-decoration: underline;" class="">Ashlesh Gawande (agawande)</a><br class="">
<b class="">Sent:<span class="Apple-converted-space"> </span></b>Wednesday, June 29, 2016 13:24<br class="">
<b class="">To:<span class="Apple-converted-space"> </span></b><a href="mailto:shijunxiao@email.arizona.edu" style="color: rgb(149, 79, 114); text-decoration: underline;" class="">Junxiao Shi</a><br class="">
<b class="">Cc:<span class="Apple-converted-space"> </span></b><a href="mailto:lanwang@memphis.edu" style="color: rgb(149, 79, 114); text-decoration: underline;" class="">Lan Wang (lanwang)</a>;<span class="Apple-converted-space"> </span><a href="mailto:nfd-dev@lists.cs.ucla.edu" style="color: rgb(149, 79, 114); text-decoration: underline;" class="">nfd-dev@lists.cs.ucla.edu</a><br class="">
<b class="">Subject:<span class="Apple-converted-space"> </span></b>Re: [Nfd-dev] Help needed with debugging duplicate Nonce</div>
</div>
<div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<span style="font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">Okay, so I performed a new experiment (i.e. just ran minindn and quit after some time) with FibManager and Forwarder DEBUG logs.<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">In this experiment, looked at the first Duplicate NACK on localhop prefix (Nonce: 567161547) and found the following:<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">1) b->a<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">2) b->c<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">3) a->c<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">4) c sends Duplicate NACK<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">This happens around 1467225861 - I don't see any FibManager messages around this time in NFD logs.<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">I have attached a sync interest trail where I grepped for the particular sync interest such as:<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">grep "/localhop/NLSR/sync/e4c858598a526f7f25d42f4da49cb51b7950cf352e26d5092bd35126b509101b?ndn.MustBeFresh=1&ndn.Nonce" */ndndump* | sort -t: -nk2 | awk '{split($NF,a,"Nonce="); $NF=""; print $0 " " a[2]}'
 > sync-interest-trail<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">(ndndump* includes localhost as well as interface)<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">Seems like before the NACK, a sends interests with two different Nonces - one to c (which resulted in the above NACK), one to b (resulted in another NACK).<span class="Apple-converted-space"> </span><o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">This time I didn't see any local new interest for the sync on a  (which should be equivalent to b from the previous example).<o:p class=""></o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></span></div>
<div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class="">
<span style="font-family: Calibri, sans-serif;" class="">Ashlesh</span></div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>