<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Vitaliy,<div><br></div><div>Thanks for the patch!</div><div><br></div><div>Couple of comments:</div><div><br></div><div>(1) To be completely compliant with the RFC, the Case notification should also be sent when</div><div>&nbsp; &nbsp; &nbsp; &nbsp;in OpenConfirm state. It would thus be ideal to convert those 'if' checks to a macro/inline</div><div>&nbsp; &nbsp; &nbsp; &nbsp;that checks (OpenSent | OpenConfirm | Established) and takes the appropriate action.</div><div>(2) For the bgp_delete() case, curious why you chose to check for "OpenSent" state only!</div><div><br></div><div>- Pradosh</div><div><br><div><br><div><div>On Oct 1, 2013, at 10:59 AM, Vitaliy Senchyshyn &lt;<a href="mailto:vsenchyshyn@toroki.com">vsenchyshyn@toroki.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi everyone,<br>
    <br>
    Please take a look at the patch file attached. <br>
    <br>
    The issue it fixes is that the notification message is not sent to a
    second peer when bgp is stopped manually. <br>
    <br><p>According to BGP RFC4271, section 8.2.2, regarding the FSM
      transitions, in OpenSent state:</p><p><small>If a ManualStop event (Event 2) is issued in the OpenSent
        state, the local system:</small></p>
    <small>
    </small>
    <ul class="alternate" type="square">
      <li><small>sends the NOTIFICATION with a Cease,</small></li>
      <li><small>sets the ConnectRetryTimer to zero,</small></li>
      <li><small>releases all BGP resources,</small></li>
      <li><small>drops the TCP connection,</small></li>
      <li><small>sets the ConnectRetryCounter to zero, and</small></li>
      <li><small>changes its state to Idle.</small></li>
    </ul><p>I've added a check for OpenSent state when the notification is
      sent from the functions which are called from the CLI commands
      which directly/indirectly stop/restart BGP. </p>
  </div>

<span>&lt;notification_in_open_sent.patch&gt;</span>_______________________________________________<br>Quagga-dev mailing list<br><a href="mailto:Quagga-dev@lists.quagga.net">Quagga-dev@lists.quagga.net</a><br>http://lists.quagga.net/mailman/listinfo/quagga-dev<br></blockquote></div><br></div></div></body></html>