Thank you for the quick response. The routes do not share the same prefix.
The currently working route is 10.40.14.0/24 via 192.168.140.3 as next hop. The currently not-working route is 10.40.15.0/24 via 192.168.240.3 as next hop.
I was also able to dig into each external router a little bit and I found that whichever one is not being forwarded to by VyOS is also not receiving any routes from VyOS via BGP.
get bgp neighbor summary
BFD States: NC - Not configured, DC - Disconnected
DW - Down, IN - Init, UP - Up
BGP summary information for VRF default for address-family: ipv4Unicast
Router ID: 192.168.240.3 Local AS: 65240
Neighbor AS State Up/DownTime BFD InMsgs OutMsgs InPfx OutPfx
192.168.240.1 65002 Estab 00:02:37 NC 1836 1440 0 2
And the same from the currently working router:
get bgp neighbor summary
BFD States: NC - Not configured, DC - Disconnected
DW - Down, IN - Init, UP - Up
BGP summary information for VRF default for address-family: ipv4Unicast
Router ID: 192.168.140.3 Local AS: 65140
Neighbor AS State Up/DownTime BFD InMsgs OutMsgs InPfx OutPfx
192.168.140.1 65002 Estab 01:56:24 NC 897 3166 29 2
The following is the requested information from VyOS:
Version: VyOS 1.4-rolling-202305030317
show ip bgp
BGP table version is 891, local router ID is 192.168.250.1, vrf id 0
Default local pref 100, local AS 65002
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.40.14.0/24 192.168.140.3 0 65140 ?
*> 10.40.15.0/24 192.168.240.3 0 65240 ?
*> 192.168.0.0/24 0.0.0.0 0 32768 ?
*> 192.168.100.0/24 0.0.0.0 0 32768 ?
*> 192.168.110.0/24 0.0.0.0 0 32768 ?
*> 192.168.111.0/24 0.0.0.0 0 32768 ?
*> 192.168.112.0/24 0.0.0.0 0 32768 ?
*> 192.168.113.0/24 0.0.0.0 0 32768 ?
*> 192.168.120.0/24 0.0.0.0 0 32768 ?
*> 192.168.121.0/24 0.0.0.0 0 32768 ?
*> 192.168.122.0/24 0.0.0.0 0 32768 ?
*> 192.168.123.0/24 0.0.0.0 0 32768 ?
*> 192.168.124.0/24 0.0.0.0 0 32768 ?
*> 192.168.130.0/24 0.0.0.0 0 32768 ?
* 192.168.140.0/24 192.168.140.3 0 0 65140 ?
*> 0.0.0.0 0 32768 ?
*> 192.168.150.0/24 0.0.0.0 0 32768 ?
*> 192.168.200.0/24 0.0.0.0 0 32768 ?
*> 192.168.210.0/24 0.0.0.0 0 32768 ?
*> 192.168.211.0/24 0.0.0.0 0 32768 ?
*> 192.168.212.0/24 0.0.0.0 0 32768 ?
*> 192.168.213.0/24 0.0.0.0 0 32768 ?
*> 192.168.220.0/24 0.0.0.0 0 32768 ?
*> 192.168.221.0/24 0.0.0.0 0 32768 ?
*> 192.168.222.0/24 0.0.0.0 0 32768 ?
*> 192.168.223.0/24 0.0.0.0 0 32768 ?
*> 192.168.224.0/24 0.0.0.0 0 32768 ?
*> 192.168.230.0/24 0.0.0.0 0 32768 ?
* 192.168.240.0/24 192.168.240.3 0 0 65240 ?
*> 0.0.0.0 0 32768 ?
*> 192.168.250.0/24 0.0.0.0 0 32768 ?
Displayed 29 routes and 31 total paths
show ip bgp ipv4 unicast 10.40.15.0/24
BGP routing table entry for 10.40.15.0/24, version 891
Paths: (1 available, best #1, table default)
Advertised to non peer-group peers:
192.168.140.3 192.168.240.3
65240, (aggregated by 65240 192.168.240.3)
192.168.240.3 from 192.168.240.3 (192.168.240.3)
Origin incomplete, valid, external, atomic-aggregate, best (First path received)
Last update: Mon Jul 24 14:58:19 2023
show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
S>* 0.0.0.0/0 [1/0] via 192.168.0.1, eth0, weight 1, 20:39:38
B>* 10.40.14.0/24 [20/0] via 192.168.140.3, eth1.140, weight 1, 01:59:39
B>* 10.40.15.0/24 [20/0] via 192.168.240.3, eth1.240, weight 1, 00:00:03
C>* 192.168.0.0/24 is directly connected, eth0, 20:40:00
C>* 192.168.100.0/24 is directly connected, eth1.100, 20:39:55
C>* 192.168.110.0/24 is directly connected, eth1.110, 20:39:55
C>* 192.168.111.0/24 is directly connected, eth1.111, 20:39:55
C>* 192.168.112.0/24 is directly connected, eth1.112, 20:39:54
C>* 192.168.113.0/24 is directly connected, eth1.113, 20:39:54
C>* 192.168.120.0/24 is directly connected, eth1.120, 20:39:54
C>* 192.168.121.0/24 is directly connected, eth1.121, 20:39:53
C>* 192.168.122.0/24 is directly connected, eth1.122, 20:39:53
C>* 192.168.123.0/24 is directly connected, eth1.123, 20:39:52
C>* 192.168.124.0/24 is directly connected, eth1.124, 20:39:52
C>* 192.168.130.0/24 is directly connected, eth1.130, 20:39:51
C>* 192.168.140.0/24 is directly connected, eth1.140, 20:39:51
C>* 192.168.150.0/24 is directly connected, eth1.150, 20:39:51
C>* 192.168.200.0/24 is directly connected, eth1.200, 20:39:50
C>* 192.168.210.0/24 is directly connected, eth1.210, 20:39:50
C>* 192.168.211.0/24 is directly connected, eth1.211, 20:39:49
C>* 192.168.212.0/24 is directly connected, eth1.212, 20:39:49
C>* 192.168.213.0/24 is directly connected, eth1.213, 20:39:49
C>* 192.168.220.0/24 is directly connected, eth1.220, 20:39:48
C>* 192.168.221.0/24 is directly connected, eth1.221, 20:39:48
C>* 192.168.222.0/24 is directly connected, eth1.222, 20:39:48
C>* 192.168.223.0/24 is directly connected, eth1.223, 20:39:47
C>* 192.168.224.0/24 is directly connected, eth1.224, 20:39:47
C>* 192.168.230.0/24 is directly connected, eth1.230, 20:39:46
C>* 192.168.240.0/24 is directly connected, eth1.240, 20:39:46
C>* 192.168.250.0/24 is directly connected, eth1.250, 20:39:45