mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-25 06:10:23 +00:00
tests: Check if the route over eBGP is preferred when eBGP-OAD is used
If at least one of the candidate routes was received via EBGP, remove from consideration all routes that were received via EBGP-OAD and IBGP. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
This commit is contained in:
parent
584b031a4d
commit
1c491dfbe6
@ -8,4 +8,14 @@ router bgp 65001
|
||||
neighbor 192.168.1.2 timers 1 3
|
||||
neighbor 192.168.1.2 timers connect 1
|
||||
neighbor 192.168.1.2 oad
|
||||
neighbor 192.168.1.4 remote-as external
|
||||
neighbor 192.168.1.4 timers 1 3
|
||||
neighbor 192.168.1.4 timers connect 1
|
||||
address-family ipv4 unicast
|
||||
neighbor 192.168.1.4 route-map r4 in
|
||||
exit-address-family
|
||||
!
|
||||
route-map r4 permit 10
|
||||
set local-preference 123
|
||||
set metric 123
|
||||
exit
|
||||
|
@ -11,8 +11,8 @@ router bgp 65002
|
||||
neighbor 192.168.1.1 timers 1 3
|
||||
neighbor 192.168.1.1 timers connect 1
|
||||
neighbor 192.168.1.1 oad
|
||||
neighbor 192.168.2.1 remote-as external
|
||||
neighbor 192.168.2.1 timers 1 3
|
||||
neighbor 192.168.2.1 timers connect 1
|
||||
neighbor 192.168.2.1 oad
|
||||
neighbor 192.168.2.3 remote-as external
|
||||
neighbor 192.168.2.3 timers 1 3
|
||||
neighbor 192.168.2.3 timers connect 1
|
||||
neighbor 192.168.2.3 oad
|
||||
!
|
||||
|
@ -3,7 +3,7 @@ int lo
|
||||
ip address 10.10.10.10/32
|
||||
!
|
||||
int r3-eth0
|
||||
ip address 192.168.2.1/24
|
||||
ip address 192.168.2.3/24
|
||||
!
|
||||
router bgp 65003
|
||||
no bgp ebgp-requires-policy
|
||||
|
16
tests/topotests/bgp_oad/r4/frr.conf
Normal file
16
tests/topotests/bgp_oad/r4/frr.conf
Normal file
@ -0,0 +1,16 @@
|
||||
!
|
||||
int r4-eth0
|
||||
ip address 192.168.1.4/24
|
||||
!
|
||||
int r4-eth1
|
||||
ip address 192.168.4.4/24
|
||||
!
|
||||
router bgp 65004
|
||||
no bgp ebgp-requires-policy
|
||||
neighbor 192.168.1.1 remote-as external
|
||||
neighbor 192.168.1.1 timers 1 3
|
||||
neighbor 192.168.1.1 timers connect 1
|
||||
neighbor 192.168.4.5 remote-as external
|
||||
neighbor 192.168.4.5 timers 1 3
|
||||
neighbor 192.168.4.5 timers connect 1
|
||||
!
|
17
tests/topotests/bgp_oad/r5/frr.conf
Normal file
17
tests/topotests/bgp_oad/r5/frr.conf
Normal file
@ -0,0 +1,17 @@
|
||||
!
|
||||
int lo
|
||||
ip address 10.10.10.10/32
|
||||
!
|
||||
int r5-eth0
|
||||
ip address 192.168.4.5/24
|
||||
!
|
||||
router bgp 65005
|
||||
no bgp ebgp-requires-policy
|
||||
neighbor 192.168.4.4 remote-as external
|
||||
neighbor 192.168.4.4 timers 1 3
|
||||
neighbor 192.168.4.4 timers connect 1
|
||||
!
|
||||
address-family ipv4 unicast
|
||||
redistribute connected
|
||||
exit-address-family
|
||||
!
|
@ -31,7 +31,7 @@ pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
||||
def setup_module(mod):
|
||||
topodef = {"s1": ("r1", "r2"), "s2": ("r2", "r3")}
|
||||
topodef = {"s1": ("r1", "r2", "r4"), "s2": ("r2", "r3"), "s3": ("r4", "r5")}
|
||||
tgen = Topogen(topodef, mod.__name__)
|
||||
tgen.start_topology()
|
||||
|
||||
@ -64,7 +64,21 @@ def test_bgp_dynamic_capability_role():
|
||||
"aspath": {"string": "65002 65003"},
|
||||
"metric": 123,
|
||||
"locPrf": 123,
|
||||
}
|
||||
"peer": {
|
||||
"hostname": "r2",
|
||||
"type": "external (oad)",
|
||||
},
|
||||
},
|
||||
{
|
||||
"aspath": {"string": "65004 65005"},
|
||||
"metric": 123,
|
||||
"locPrf": 123,
|
||||
"bestpath": {"selectionReason": "Peer Type"},
|
||||
"peer": {
|
||||
"hostname": "r4",
|
||||
"type": "external",
|
||||
},
|
||||
},
|
||||
]
|
||||
}
|
||||
return topotest.json_cmp(output, expected)
|
||||
|
Loading…
Reference in New Issue
Block a user