On Fri, 30 Sep 2016, Lou Berger wrote:

woops - you're right - these are BGP_ignore actions...

Yeah, you have to add those to get the table right. ;)

The prior NHT code basically is doing, FSM wise:

State -> Event
---------------
Idle -> BGP_Start
Connect - > ConnectRetry_timer_expired
Active -> ConnectRetry_timer_expired

Rest, nothing.

The patch basically does the same thing via the main FSM, and no bgp_connect_check call.

So do the same as BGP_Start / ConnectRetry_timer_expired for the states concerned and you get this for NHT:

State / func / next
-------------------
Idle / bgp_start  / Connect
Connect / bgp_reconnect / Connect
Active / bgp_start / Connect

The other option is just to get rid of this NHT -> FSM interaction all-together. Also works for me, and also passes my reproducer.

?

regards,
--
Paul Jakma | [email protected] | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
It may be better to be a live jackal than a dead lion, but it is better
still to be a live lion.  And usually easier.
                -- Lazarus Long

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to