Multiple ebgp neighbours to the same peer
Prem Anand
h.prem.anand at gmail.com
Sat Jan 21 19:05:16 CET 2023
Hi all,
New user here
I am trying to get 2 ebgp neighbours on bird to peer with a remote bgp endpoint on frr node.
One between 10.100.101.1 <—> 10.100.1.1 and other between 10.100.102.1 <—> 10.100.1.1
┌──────────────────┐ ┌─────────────┐
10.100.101.1 │ │ensp5s0 │ │
loop1 * Bird │◄──────────────────────►┘ Frr │
│ 2.0.10 │10.100.1.2 10.100.1.1 │
loop2 * │ │ │
10.100.102.1 │ │ │ │
└──────────────────┘ └─────────────┘
I find that only the first ebgp neighbour comes up and moves to "Established” state whereas the second ebgp neighbour remains in “Idle” state.
However if I restart the bgp neighbour in “Established” state, the other bgp neighbour comes up and moves to “Established” state, but the restarted one remains in Idle state.
Is there any limitation that I can’t have 2 neighbours to the same peer? Or do I have to ensure that the 2 neighbours use different tables?
I have already disabled rp_filter
sysctl -w net.ipv4.conf.all.rp_filter=0
Regards
Prem
Config
======
log "/var/log/trex/bird.log" all;
debug protocols all;
router id 10.100.1.2;
protocol device {
# scan time 10;
interface "loop1";
interface "loop2";
interface "enp5s0";
}
protocol bgp bgp_peer1 {
local 10.100.101.1 as 65001;
neighbor 10.100.1.1 as 65500;
ipv4 {
import all;
export all;
};
}
protocol bgp bgp_peer2 {
local 10.100.102.1 as 65002;
neighbor 10.100.1.1 as 65500;
ipv4 {
import all;
export all;
};
}
protocol static bird_cfg_routes {
ipv4 {
export all;
import all;
};
route 200.1.1.1/32 via 10.100.2.100;
}
Logs
====
bird> show protocols
Name Proto Table State Since Info
device1 Device --- up 13:05:16.761
bgp_peer1 BGP --- up 13:05:21.497 Established
bgp_peer2 BGP --- start 13:05:16.761 Idle
bird_cfg_routes Static master4 up 13:05:16.761
bird>
bird>
bird>
bird> restart bgp_peer1
bgp_peer1: restarted
bird>
bird>
bird> show protocols
Name Proto Table State Since Info
device1 Device --- up 13:05:16.761
bgp_peer1 BGP --- start 13:07:13.673 Idle
bgp_peer2 BGP --- up 13:07:18.328 Established
bird_cfg_routes Static master4 up 13:05:16.761
bird> show interfaces
lo up (index=1)
MultiAccess AdminUp LinkUp Loopback Ignored MTU=65536
127.0.0.1/8 (Preferred, scope host)
::1/128 (Preferred, scope host)
mgmt0 up (index=2)
MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
192.168.121.163/24 (Preferred, scope site)
fe80::b203:e9ff:fe02:100/64 (Preferred, scope link)
enp5s0 up (index=3)
MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
10.100.1.2/24 (Preferred, scope site)
enp6s0 up (index=4)
MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
10.100.2.1/24 (Preferred, scope site)
fc00:64:2::1/120 (Preferred, scope site)
fe80::b203:e9ff:fe02:102/64 (Preferred, scope link)
loop1 up (index=5)
MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
10.100.101.1/24 (Preferred, scope site)
fe80::78f9:91ff:fe2c:83ed/64 (Preferred, scope link)
loop2 up (index=6)
MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
10.100.102.1/24 (Preferred, scope site)
fe80::a4fc:34ff:fefd:11ce/64 (Preferred, scope link)
bird>
bird>
bird> show route all
Table master4:
200.1.1.1/32 unicast [bird_cfg_routes 13:05:16.761] * (200)
via 10.100.2.100 on enp6s0
Type: static univ
bird>
Debugs
======
2023-01-21 13:05:16.761 <TRACE> device1: Initializing
2023-01-21 13:05:16.761 <TRACE> bgp_peer1: Initializing
2023-01-21 13:05:16.761 <TRACE> bgp_peer2: Initializing
2023-01-21 13:05:16.761 <TRACE> bird_cfg_routes: Initializing
2023-01-21 13:05:16.761 <TRACE> device1: Starting
2023-01-21 13:05:16.761 <TRACE> device1: Scanning interfaces
2023-01-21 13:05:16.761 <TRACE> device1: State changed to up
2023-01-21 13:05:16.761 <TRACE> bgp_peer1: Starting
2023-01-21 13:05:16.761 <TRACE> bgp_peer1: State changed to start
2023-01-21 13:05:16.761 <TRACE> bgp_peer2: Starting
2023-01-21 13:05:16.761 <TRACE> bgp_peer2: State changed to start
2023-01-21 13:05:16.761 <TRACE> bird_cfg_routes: Starting
2023-01-21 13:05:16.761 <TRACE> bird_cfg_routes: State changed to up
2023-01-21 13:05:16.761 <TRACE> bird_cfg_routes.ipv4 > added [best] 200.1.1.1/32 unicast
2023-01-21 13:05:16.761 <INFO> Started
2023-01-21 13:05:16.762 <TRACE> bgp_peer1: Started
2023-01-21 13:05:16.762 <TRACE> bgp_peer1: Connect delayed by 5 seconds
2023-01-21 13:05:21.495 <TRACE> bgp_peer1: Connecting to 10.100.1.1 from local address 10.100.101.1
2023-01-21 13:05:21.496 <TRACE> bgp_peer1: Connected
2023-01-21 13:05:21.496 <TRACE> bgp_peer1: Sending OPEN(ver=4,as=65001,hold=240,id=0a640102)
2023-01-21 13:05:21.497 <TRACE> bgp_peer1: Got OPEN(as=65500,hold=30,id=192.168.121.230)
2023-01-21 13:05:21.497 <TRACE> bgp_peer1: Sending KEEPALIVE
2023-01-21 13:05:21.497 <TRACE> bgp_peer1: Got KEEPALIVE
2023-01-21 13:05:21.497 <TRACE> bgp_peer1: BGP session established
2023-01-21 13:05:21.497 <TRACE> bgp_peer1: State changed to up
2023-01-21 13:05:21.497 <TRACE> bgp_peer1.ipv4 < added 200.1.1.1/32 unicast
2023-01-21 13:05:23.049 <TRACE> bgp_peer1: Got UPDATE
2023-01-21 13:05:23.049 <TRACE> bgp_peer1: Got END-OF-RIB
2023-01-21 13:05:23.049 <TRACE> bgp_peer1: Sending UPDATE
2023-01-21 13:05:23.049 <TRACE> bgp_peer1: Sending END-OF-RIB
2023-01-21 13:05:30.958 <TRACE> bgp_peer1: Sending KEEPALIVE
2023-01-21 13:05:31.499 <TRACE> bgp_peer1: Got KEEPALIVE
2023-01-21 13:05:38.689 <TRACE> bgp_peer1: Sending KEEPALIVE
2023-01-21 13:05:41.499 <TRACE> bgp_peer1: Got KEEPALIVE
2023-01-21 13:05:46.842 <TRACE> bgp_peer1: Sending KEEPALIVE
2023-01-21 13:05:51.499 <TRACE> bgp_peer1: Got KEEPALIVE
2023-01-21 13:05:54.864 <TRACE> bgp_peer1: Sending KEEPALIVE
2023-01-21 13:06:01.499 <TRACE> bgp_peer1: Got KEEPALIVE
2023-01-21 13:06:03.759 <TRACE> bgp_peer1: Sending KEEPALIVE
2023-01-21 13:06:11.499 <TRACE> bgp_peer1: Got KEEPALIVE
2023-01-21 13:06:11.843 <TRACE> bgp_peer1: Sending KEEPALIVE
2023-01-21 13:06:16.764 <TRACE> device1: Scanning interfaces
...
...
...
2023-01-21 13:07:13.673 <INFO> Restarting protocol bgp_peer1
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: Shutting down
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: Shutdown requested
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: State changed to stop
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: BGP session closed
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: Sending NOTIFICATION(code=6.4)
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: Down
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: State changed to flush
2023-01-21 13:07:13.673 <TRACE> bgp_peer2: Started
2023-01-21 13:07:13.673 <TRACE> bgp_peer2: Connect delayed by 5 seconds
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: State changed to down
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: Starting
2023-01-21 13:07:13.673 <TRACE> bgp_peer1: State changed to start
2023-01-21 13:07:16.761 <TRACE> device1: Scanning interfaces
2023-01-21 13:07:18.326 <TRACE> bgp_peer2: Connecting to 10.100.1.1 from local address 10.100.102.1
2023-01-21 13:07:18.327 <TRACE> bgp_peer2: Connected
2023-01-21 13:07:18.327 <TRACE> bgp_peer2: Sending OPEN(ver=4,as=65002,hold=240,id=0a640102)
2023-01-21 13:07:18.328 <TRACE> bgp_peer2: Got OPEN(as=65500,hold=30,id=192.168.121.230)
2023-01-21 13:07:18.328 <TRACE> bgp_peer2: Sending KEEPALIVE
2023-01-21 13:07:18.328 <TRACE> bgp_peer2: Got KEEPALIVE
2023-01-21 13:07:18.328 <TRACE> bgp_peer2: BGP session established
2023-01-21 13:07:18.328 <TRACE> bgp_peer2: State changed to up
2023-01-21 13:07:18.328 <TRACE> bgp_peer2.ipv4 < added 200.1.1.1/32 unicast
2023-01-21 13:07:19.880 <TRACE> bgp_peer2: Got UPDATE
2023-01-21 13:07:19.880 <TRACE> bgp_peer2: Got END-OF-RIB
2023-01-21 13:07:19.880 <TRACE> bgp_peer2: Sending UPDATE
2023-01-21 13:07:19.880 <TRACE> bgp_peer2: Sending END-OF-RIB
2023-01-21 13:07:27.298 <TRACE> bgp_peer2: Sending KEEPALIVE
2023-01-21 13:07:28.329 <TRACE> bgp_peer2: Got KEEPALIVE
2023-01-21 13:07:36.478 <TRACE> bgp_peer2: Sending KEEPALIVE
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20230121/841e6a2c/attachment.htm>
More information about the Bird-users
mailing list