Hi all, I have three nodes that mesh with each other internally and also peer externally to transits, I’m seeing weird behaviour on two nodes. All nodes are running FreeBSD 11.1, with bird6 1.6.3.
Node A happily connects to B and C without issue, likewise B and C can initiate and peer with A in kind without issue. However B and C refuse to connect and continually send SYN packets to each other. The packets are arriving over IPIP/gif tunnels on top of IPSec transport mode; running netcat to listen on 179 works also works. Both B and C only connect whenever the transit peer they are connected to, is disabled/restarted. At this point bird on B and C see the SYN packets, and connect as expected. It does not matter which node I drop transit from, providing it happens to be B or C. I thought this might be routing issues but all three nodes have static routes and I also filtered all incoming routes from transit just in case but no joy. Below is a copy of the debug from bird, at the moment I disable transit (the output is from C and the same/similar output is seen on B); 2017-08-21 22:39:08 <TRACE> coes: Connecting to fd93:2559:f2ef::9 from local address fd93:2559:f2ef::a 2017-08-21 22:39:08 <TRACE> coes: Connecting to fd93:2559:f2ef::9 from local address fd93:2559:f2ef::a 2017-08-21 22:39:10 <TRACE> coes: Connecting to fd93:2559:f2ef::9 from local address fd93:2559:f2ef::a 2017-08-21 22:39:10 <TRACE> coes: Connecting to fd93:2559:f2ef::9 from local address fd93:2559:f2ef::a 2017-08-21 22:39:10 <TRACE> CLI: disable transit_ams_1 2017-08-21 22:39:10 <INFO> Disabling protocol transit_ams_1 2017-08-21 22:39:10 <TRACE> transit_ams_1: Shutting down 2017-08-21 22:39:10 <TRACE> transit_ams_1: State changed to stop 2017-08-21 22:39:10 <TRACE> transit_ams_1: State changed to flush 2017-08-21 22:39:11 <TRACE> coes: Connecting to fd93:2559:f2ef::9 from local address fd93:2559:f2ef::a 2017-08-21 22:39:11 <TRACE> coes: Incoming connection from fd93:2559:f2ef::9 (port 31242) accepted 2017-08-21 22:39:11 <TRACE> coes: Sending OPEN(ver=4,as=204125,hold=10,id=b974ec5c) 2017-08-21 22:39:11 <TRACE> coes: Got OPEN(as=23456,hold=10,id=b97daa22) 2017-08-21 22:39:11 <TRACE> coes: Sending KEEPALIVE 2017-08-21 22:39:11 <TRACE> coes: Got KEEPALIVE 2017-08-21 22:39:11 <TRACE> coes: BGP session established All the configuration is generated from template and works on all three nodes; I’m not sure why bird seems to be ignoring SYN until the transit is dropped on either B or C. If B and C are already connected, they continue/stay connected when the transit peer is reconnected; if I then tell bird to drop peering with either B/C from B/C, it will revert to endlessly sending SYN packets. Interestingly both B and C will reconnect to A irrespective, with no issues or problems, irrespective of any transit or connections between B and C. Any ideas? Happy to provide extra details. Diolch, Rhosyn
