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