https://redmine.named-data.net/https://redmine.named-data.net/favicon.ico?14759811232019-03-12T11:09:44ZNDN project issue tracking systemNFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=249862019-03-12T11:09:44ZDavide Pesavento
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Code review</i></li><li><strong>Target version</strong> set to <i>v0.7</i></li></ul><p><a href="https://gerrit.named-data.net/c/NFD/+/5309">https://gerrit.named-data.net/c/NFD/+/5309</a></p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=251872019-04-08T01:52:54ZJunxiao Shi
<ul></ul><p>In 5309,2, the logic after obtaining a list of HUBs is:</p>
<ol>
<li>Canonize a FaceUri. If canonization fails, go to step 5.</li>
<li>Send a face creation command. If face creation fails, go to step 5.</li>
<li>Register prefixes toward the HUB.</li>
<li>Declare success and abort these steps.</li>
<li>If the list contains another HUB, try the next HUB. Otherwise, declare failure.</li>
</ol>
<p>First problem with this logic is: <strong>UDP face creation always succeeds</strong>, even if the HUB is down or unreachable.<br>
Prefix registration toward a UDP face would not fail either.<br>
Thus, <code>Procedure</code> must test the HUB works: send an Interest that the HUB would respond with either Data or Nack, then read face counters to check RX counter is non-zero.</p>
<p>Second problem: if none of the HUBs returns from one stage works, the program should <strong>try the next stage</strong>.<br>
For example, after failing NDN-FCH, the next stage would be <code>GuessFromIdentityName</code>.</p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=252642019-04-28T22:41:46ZTeng Liangphiloliang@email.arizona.edu
<ul></ul><p>Junxiao Shi wrote:</p>
<blockquote>
<p>In 5309,2, the logic after obtaining a list of HUBs is:</p>
<ol>
<li>Canonize a FaceUri. If canonization fails, go to step 5.</li>
<li>Send a face creation command. If face creation fails, go to step 5.</li>
<li>Register prefixes toward the HUB.</li>
<li>Declare success and abort these steps.</li>
<li>If the list contains another HUB, try the next HUB. Otherwise, declare failure.</li>
</ol>
<p>First problem with this logic is: <strong>UDP face creation always succeeds</strong>, even if the HUB is down or unreachable.<br>
Prefix registration toward a UDP face would not fail either.<br>
Thus, <code>Procedure</code> must test the HUB works: send an Interest that the HUB would respond with either Data or Nack, then read face counters to check RX counter is non-zero.</p>
</blockquote>
<p>Agreed.</p>
<blockquote>
<p>Second problem: if none of the HUBs returns from one stage works, the program should <strong>try the next stage</strong>.<br>
For example, after failing NDN-FCH, the next stage would be <code>GuessFromIdentityName</code>.</p>
</blockquote>
<p>Once a stage fails, it tries next stage. <code>GuessFromIdentifyName</code> has been added as the 4th stage since the previous commit.</p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=252742019-05-01T08:23:58ZJunxiao Shi
<ul><li><strong>File</strong> <a href="/attachments/883">IMG_20190501_151919Z.jpg</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/883/IMG_20190501_151919Z.jpg">IMG_20190501_151919Z.jpg</a> added</li></ul><p>In <a href="https://gerrit.named-data.net/5309">https://gerrit.named-data.net/5309</a> patchset4, <code>Procedure</code> type has incorrect logic.</p>
<p><img src="https://redmine.named-data.net/attachments/download/883/IMG_20190501_151919Z.jpg" alt="5309,4 Procedure logic" /></p>
<ul>
<li>"A" and "B" represent stages.</li>
<li>"x" and "y" represent HUB URIs found by a stage.</li>
<li>Brown indicates implemented logic.</li>
<li>Red indicates corrections.</li>
</ul>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=252782019-05-03T15:25:04ZDavide Pesavento
<ul></ul><p>Junxiao Shi wrote:</p>
<blockquote>
<p>First problem with this logic is: <strong>UDP face creation always succeeds</strong>, even if the HUB is down or unreachable.</p>
</blockquote>
<p>True. However, this is already the case today: the FCH stage always succeeds (unless the backend service itself is unreachable I guess), so the subsequent stages are never used. It's not a new problem introduced by this change. Therefore I'm not convinced that solving it belongs to this issue.</p>
<blockquote>
<p>Thus, Procedure must test the HUB works: send an Interest that the HUB would respond with either Data or Nack, then read face counters to check RX counter is non-zero.</p>
</blockquote>
<p>This sounds quite complicated and fragile. One potential alternative is to create faces towards <em>all</em> discovered hubs, and let the forwarding plane deal with nexthop selection as it should. This might even prove more reliable in some cases.</p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=252922019-05-06T10:39:08ZJunxiao Shi
<ul></ul><blockquote>
<p>One potential alternative is to create faces towards <em>all</em> discovered hubs, and let the forwarding plane deal with nexthop selection as it should.</p>
</blockquote>
<p>This would break prefix propagation, because <code>/localhop/nfd/rib/register</code> would point to multiple remote routers and the readvertise module would only receive one response. Hence, this solution would be blocked by <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Configurable top-level prefixes for NFD-RIB (New)" href="https://redmine.named-data.net/issues/3142">#3142</a> <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Discover RIB management prefix of connected gateway router (New)" href="https://redmine.named-data.net/issues/3143">#3143</a>.</p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=252952019-05-06T21:13:33ZTeng Liangphiloliang@email.arizona.edu
<ul></ul><p>Junxiao Shi wrote:</p>
<blockquote>
<blockquote>
<p>One potential alternative is to create faces towards <em>all</em> discovered hubs, and let the forwarding plane deal with nexthop selection as it should.</p>
</blockquote>
<p>This would break prefix propagation, because <code>/localhop/nfd/rib/register</code> would point to multiple remote routers and the readvertise module would only receive one response. Hence, this solution would be blocked by <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Configurable top-level prefixes for NFD-RIB (New)" href="https://redmine.named-data.net/issues/3142">#3142</a> <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Discover RIB management prefix of connected gateway router (New)" href="https://redmine.named-data.net/issues/3143">#3143</a>.</p>
</blockquote>
<p>I agree with Davide's proposal, because detecting whether a face works should not be part of this procedure, since forwarding plane or "link" layer is a better place to handle it. <br>
@Junxiao, why prefix propagation cannot work with multiple remote routers?</p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=252962019-05-07T05:57:22ZJunxiao Shi
<ul></ul><blockquote>
<p>why prefix propagation cannot work with multiple remote routers?</p>
</blockquote>
<p>You have multiple <code>/localhop/nfd</code> registrations. When you send a <code>/localhop/nfd/rib/register</code> command to propagate a prefix, you can receive no more than one response. Without receiving all responses, you can't determine whether prefix propagation has succeeded.</p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=253052019-05-08T10:24:46ZTeng Liangphiloliang@email.arizona.edu
<ul></ul><blockquote>
<p>You have multiple <code>/localhop/nfd</code> registrations. When you send a <code>/localhop/nfd/rib/register</code> command to propagate a prefix, you can receive no more than one response. Without receiving all responses, you can't determine whether prefix propagation has succeeded.</p>
</blockquote>
<p>A local producer registers a prefix on a local NFD. The local NFD propagate this prefix to multiple connected gateways. These two steps are separate. </p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=253072019-05-08T11:44:28ZJunxiao Shi
<ul></ul><blockquote>
<p>A local producer registers a prefix on a local NFD.</p>
</blockquote>
<p>This step is unaffected.</p>
<blockquote>
<p>The local NFD propagate this prefix to multiple connected gateways.</p>
</blockquote>
<p>This step would not work if there are multiple <code>/localhop/nfd</code> registrations.</p>
<blockquote>
<p>These two steps are separate.</p>
</blockquote>
<p>Yes.</p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=253082019-05-08T12:19:41ZTeng Liangphiloliang@email.arizona.edu
<ul></ul><blockquote>
<blockquote>
<p>The local NFD propagate this prefix to multiple connected gateways.</p>
</blockquote>
<p>This step would not work if there are multiple <code>/localhop/nfd</code> registrations.</p>
</blockquote>
<p>What's the problem of handling this case, e.g., do registration for each gateway respectively? </p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=256212019-07-18T08:30:18ZJunxiao Shi
<ul></ul><blockquote>
<p>What's the problem of handling this case, e.g., do registration for each gateway respectively?</p>
</blockquote>
<p>See <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: Configurable top-level prefixes for NFD-RIB (New)" href="https://redmine.named-data.net/issues/3142">#3142</a> issue description.</p>
NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=257372019-08-27T20:44:03ZDavide Pesavento
<ul><li><strong>Target version</strong> changed from <i>v0.7</i> to <i>22.02</i></li></ul> NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=272582021-04-03T01:20:48ZDavide Pesavento
<ul><li><strong>Target version</strong> deleted (<del><i>22.02</i></del>)</li></ul> NFD - Feature #4871: autoconfig: try multiple routers from NDN-FCHhttps://redmine.named-data.net/issues/4871?journal_id=281272023-12-01T18:54:01ZDavide Pesavento
<ul><li><strong>Tags</strong> set to <i>needs-discussion</i></li><li><strong>Status</strong> changed from <i>Code review</i> to <i>Feedback</i></li><li><strong>Assignee</strong> deleted (<del><i>Teng Liang</i></del>)</li></ul>