Just walked through the code a bit -- looks like quagga needs to add
support for DelayOpen(Timer) when receiving a new tcp connection...

Lou


On 9/29/2016 9:29 AM, Paul Jakma wrote:
> On Thu, 22 Sep 2016, Paul Jakma wrote:
>
>> Just the session setup with the test tools the final issue. I've been 
>> adapting Martin's bgptool test code to test BGP collision handling. 
>> Not found the problem so far. Unfortunately, I have other stuff 
>> occupying me until early next week now.
> So, the issue here seems to be that:
>
> - the other side of Martin's tests waits for a connection from bgpd, to
>    know that bgpd is Active. The other side does not send SYN|ACK though,
>    the bgpd side host is resending its SYNs.
>
> - however somehow bgpd thinks its connection succeeds, so it raises
>    TCP_connection_open, and the peer goes into a state where
>    collision-detection will consider it (OpenSent).
>
> - the other side connects to bgpd, this succeeds.
>
> - bgpd closes the inbound connection, cause it thinks its outbound tcp
>    is open, BGP FSM is in OpenSent, and its own RID is higher - so its
>    outbound has priority.
>
> The problem presumably lies in bgp_connect_check() getting things wrong 
> somehow, but how....
>
> If so, this must be a very old issue.
>
> regards,


_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to