<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>Alex / nfd folks, </div>
<div><br>
</div>
<div>We're going to make sure local connections are through unix sockets whenever available. </div>
<div><br>
</div>
<div>Two quick related questions.  Feel free to send a RTFM pointer: </div>
<div><br>
</div>
<div>#A - </div>
<div>- Is there a built-in way for "persistent" routes to get re-established if the TCP connection goes down?   I interpreted your original description to mean this is not the default behavior. </div>
<div><br>
</div>
<div>#B - </div>
<div>In the case of UDP faces, what happens in this situation: </div>
<div><br>
</div>
<div>1. nfdc is used to register (with a local NFD) a persistent UDP face for a remote NFD</div>
<div>2. The face is created successfully</div>
<div>3. The remote NFD is killed and then restarted</div>
<div><br>
</div>
<div>Is the intended behavior that the face created in #1 is still up after #3?   (And, has this been the case in all versions of NFD?  I am debugging a problem on an installation running an older version of NFD on the Raspberry PI.)</div>
<div><br>
</div>
<div>Thanks!</div>
<div>Jeff</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Alex Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu">alexander.afanasyev@ucla.edu</a>><br>
<span style="font-weight:bold">Date: </span>Fri, 13 Mar 2015 16:53:37 -0700<br>
<span style="font-weight:bold">To: </span>"Gusev, Peter" <<a href="mailto:peter@remap.ucla.edu">peter@remap.ucla.edu</a>><br>
<span style="font-weight:bold">Cc: </span>Jeff Burke <<a href="mailto:jburke@remap.ucla.edu">jburke@remap.ucla.edu</a>>, "<a href="mailto:nfd-dev@lists.cs.ucla.edu">nfd-dev@lists.cs.ucla.edu</a>" <<a href="mailto:nfd-dev@lists.cs.ucla.edu">nfd-dev@lists.cs.ucla.edu</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [Nfd-dev] Behavior of "on demand" faces to applications<br>
</div>
<div><br>
</div>
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0 0 0 5;">
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">This could be some side effect of tcp connection, though nothing really should be happening bad.  Do not use TCP to connect to local daemon, unless it is your only option. </div>
<div class=""><br class="">
</div>
<div class="">You should enable DEBUG level on TcpFace, TcpLocalFace, FaceTable and see why face is removed.</div>
<div class=""><br class="">
</div>
<div>
<blockquote type="cite" class="">
<div class="">On Mar 13, 2015, at 4:40 PM, Gusev, Peter <<a href="mailto:peter@remap.ucla.edu" class="">peter@remap.ucla.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Hi Alex,</div>
<div class=""><br class="">
</div>
The face is created in pretty standard way - <a href="https://github.com/named-data/ndn-opt/blob/master/publisher/src/ros2ndn_converter/src/ndn_controller.cpp#L29" class="">here is the code</a>. JeffT’s NDN-CPP library uses TcpTransport to connect to local
 NFD.
<div class="">When we noticed that consumer is not getting any data, but producer is alive and no exceptions were thrown (like socket destroyed or similar), we checked nfd-status output and discovered that there is no face with producer’s prefix anymore.</div>
<div class=""><br class="">
</div>
<div class="">The only fact that producer was running for some lengthy time (20-30 minutes) and no interests were issued for its’ data during this period made us think it might be “on-demand” faces’ problem...</div>
<div class=""><br class="">
<div apple-content-edited="true" class="">
<div style="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; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="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; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="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; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="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-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Thanks, </div>
<div style="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-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<br class="">
</div>
<div style="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-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
-- <br class="">
Peter Gusev</div>
<div style="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-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Programmer/Analyst @ REMAP, UCLA</div>
<div style="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-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<br class="">
<a href="mailto:peter@remap.ucla.edu" class="">peter@remap.ucla.edu</a><br class="">
+1 213 5872748<br class="">
peetonn_ (skype)</div>
</div>
</div>
</div>
</div>
<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Mar 13, 2015, at 4:31 PM, Burke, Jeff <<a href="mailto:jburke@remap.ucla.edu" class="">jburke@remap.ucla.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="" style="word-wrap:break-word"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt;" class="">Thanks, Alex. Peter, can you explain where you were seeing this? I thought it was with an app face, not udp...<br class="">
<br class="">
<span style="" class="">-----Original Message----- <br class="">
<b class="">From:</b> Alex Afanasyev [<a href="mailto:alexander.afanasyev@ucla.edu" class="">alexander.afanasyev@ucla.edu</a>]<br class="">
<b class="">Received:</b> Friday, 13 Mar 2015, 4:25PM<br class="">
<b class="">To:</b> Burke, Jeff [<a href="mailto:jburke@remap.ucla.edu" class="">jburke@remap.ucla.edu</a>]<br class="">
<b class="">CC:</b> <a href="mailto:nfd-dev@lists.cs.ucla.edu" class="">nfd-dev@lists.cs.ucla.edu</a> [<a href="mailto:nfd-dev@lists.cs.ucla.edu" class="">nfd-dev@lists.cs.ucla.edu</a>]<br class="">
<b class="">Subject:</b> Re: [Nfd-dev] Behavior of "on demand" faces to applications<br class="">
<br class="">
</span></span>
<div class=""><br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Mar 13, 2015, at 4:13 PM, Burke, Jeff <<a href="mailto:jburke@remap.UCLA.EDU" class="">jburke@remap.UCLA.EDU</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">Hi folks,</div>
<div class=""><br class="">
</div>
<div class="">Could you please confirm the default behavior of "on-demand" face creation for applications?</div>
<div class=""><br class="">
</div>
<div class="">My understanding:  The face created by default when an application registers a prefix is "on demand", meaning it can be destroyed by NFD if inactive for some timeout period.</div>
</div>
</span></div>
</div>
</blockquote>
<div class=""><br class="">
</div>
Not exactly (may be I misunderstood the question).  Whenever face is created by an explicit command, it is “persistent” (we also reserved concept “permanent”, but it is not yet implemented).</div>
<div class=""><br class="">
</div>
<div class="">On-demand face is face that is created as a response of incoming tcp connect or packet received on UDP face.  Only UDP face can get destroyed, TCP faces exist for as long tcp connection is alive.</div>
<div class=""><br class="">
</div>
<div class="">* * *</div>
<div class=""><br class="">
</div>
<div class="">If you’re referring to the UDP face from the the other side of tunnel, then yes.  That face is on-demand and can be destroyed on the other side if no traffic.</div>
<div class=""><br class="">
</div>
<div class="">Remote registration built in into NFD/RIB management can take care of proper refreshing state.  This is currently implemented, but requires some conventions on registered namespaces / available keys (it is documented in TR Yanbiao is working).</div>
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""></div>
<div class="">This behavior has caused some troubleshooting challenges with a long-running publisher and occasionally interested consumers. </div>
</div>
</span></div>
</div>
</blockquote>
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">Some questions:</div>
<div class=""><br class="">
</div>
<div class="">- Where is this behavior documented? It is mentioned in p10 of the developer's guide, but I can't find either the constant or configuration parameter that sets it. </div>
</div>
</span></div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Some documentation regarding default values used is also available in nfd.conf.sample.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">- Is it the case that on-demand faces will not be destroyed if any traffic has traversed them?  Or just that no traffic has traversed during the timeout interval? </div>
</div>
</span></div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Not sure I understood the question.  on-demand udp face will not be destroyed if at least one packet (data/interest) is received during the timeout interval.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">- What is the appropriate way to create a face that persists until the process that created it is either destroyed or unregistered the prefix?   </div>
</div>
</span></div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Rely on remote registration process (I would say this is preferred).  Alternatively, this could be something else that periodically send interest towards the remote end.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<span id="OLK_SRC_BODY_SECTION" class="">
<div class="" style="word-wrap:break-word; font-size:14px; font-family:Calibri,sans-serif">
<div class=""><br class="">
</div>
<div class="">Thank you,</div>
<div class="">Jeff</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</div>
</span></div>
_______________________________________________<br class="">
Nfd-dev mailing list<br class="">
<a href="mailto:Nfd-dev@lists.cs.ucla.edu" class="">Nfd-dev@lists.cs.ucla.edu</a><br class="">
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" class="">http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</blockquote>
</span>
</body>
</html>