<div dir="ltr">Dear folks<div><br></div><div>The only reasons for FIB update failures are: (a) authentication error; (b) face is closed; (c) timeouts.</div><div><ul><li>Authentication error (RIB Daemon's certificate is not trusted by NFD) is not recoverable, so RIB Daemon should crash.<br>

</li><li>If face is closed, the whole batch is abandoned because all RIB updates in the batch are referring to a non-existent face; FIB reversing is unnecessary, because FIB will independently delete all NextHop records using the closing face.<br>

</li><li>In case of a timeout, the FIB update should be retried until it succeeds or has an unrecoverable failure, or until the face is closed.<br></li></ul></div>
<div>In any of the above reasons, FIB reversing is unnecessary.</div><div><br></div><div><div class="gmail_extra">Yours, Junxiao<br><br><div class="gmail_quote">On Wed, Jun 25, 2014 at 11:25 AM, Lan Wang (lanwang) <span dir="ltr"><<a href="mailto:lanwang@memphis.edu" target="_blank">lanwang@memphis.edu</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">
Just realized one issue: if we really want to be consistent,  then we also need to reverse all fib updates that belong to the same rib update if any of them fails.  This would require keeping state of the original fib.  Also batching rib updates may make this
 reversal difficult if the fib updates for several rib updates to one optimal set.  There may be other complexities related to this. Just want to raise awareness. 
<span><font color="#888888"><div><br>
</div>
<div>Lan</div></font></span><div><br></div></div></blockquote></div></div></div></div>