Skip to content

Commit

Permalink
topotests: add bgp_nhg_zapi_scalability ebgp test
Browse files Browse the repository at this point in the history
Add a test similar to bgp_nhg_zapi_scalability ibgp test, except
that a route server is put in place in r3 insted of a route
reflector.

ebgp configuration is done so that ebgp multihop is accepted and
as paths list is ignored. In that way, ECMP paths are visible.

It is however not possible to have ECMP paths with 2 different
ebgp peers, as neighbor IP comparison will be applied. So a part
of the test is removed.

Signed-off-by: Philippe Guibert <[email protected]>
  • Loading branch information
pguibert6WIND committed Oct 21, 2024
1 parent 06e4905 commit af27463
Show file tree
Hide file tree
Showing 23 changed files with 1,392 additions and 0 deletions.
Empty file.
26 changes: 26 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r1/bgpd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
debug bgp bfd
debug bgp nexthop-group detail
debug bgp zebra
debug bgp nht
bgp suppress-fib-pending
route-map rmap permit 1
set as-path exclude all
exit
router bgp 64500
no bgp ebgp-requires-policy
bgp router-id 192.0.2.1
no bgp ebgp-requires-policy
neighbor 192.0.2.3 remote-as 64501
neighbor 192.0.2.3 disable-connected-check
neighbor 192.0.2.3 update-source lo
neighbor 192.0.2.3 timers connect 2
neighbor 192.0.2.3 peer-group rrserver
neighbor 192.0.2.3 bfd
no neighbor 192.0.2.3 enforce-first-as
address-family ipv4 unicast
neighbor 192.0.2.3 next-hop-self
neighbor 192.0.2.3 allowas-in
neighbor 192.0.2.3 route-map rmap in
neighbor 192.0.2.3 activate
exit-address-family
!
26 changes: 26 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r1/isisd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
hostname r1
interface lo
ip router isis 1
isis passive
!
interface r1-eth1
ip router isis 1
isis network point-to-point
!
interface r1-eth2
ip router isis 1
isis network point-to-point
!
interface r1-eth4
ip router isis 1
isis network point-to-point
!
router isis 1
net 49.0123.6452.0001.00
is-type level-2-only
mpls-te on
segment-routing on
segment-routing global-block 16000 17000
segment-routing node-msd 10
segment-routing prefix 192.0.2.1/32 index 1
!
24 changes: 24 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r1/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
log stdout
interface lo
ip address 192.0.2.1/32
!
interface r1-eth0
ip address 172.31.10.1/24
!
interface r1-eth1
ip address 172.31.0.1/24
mpls enable
!
interface r1-eth2
ip address 172.31.2.1/24
mpls enable
!
interface r1-eth3
ip address 172.31.11.1/24
mpls enable
!
interface r1-eth4
ip address 172.31.8.1/24
mpls enable
!

32 changes: 32 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r3/bgpd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
router bgp 64501 view one
no bgp ebgp-requires-policy
bgp router-id 192.0.2.3
neighbor rr peer-group
neighbor rr remote-as 64500
neighbor rr disable-connected-check
neighbor rr update-source lo
neighbor 192.0.2.1 peer-group rr
neighbor 192.0.2.6 peer-group rr
neighbor 192.0.2.8 peer-group rr
neighbor 192.0.2.1 bfd check-control-plane-failure
neighbor 192.0.2.6 bfd check-control-plane-failure
neighbor 192.0.2.8 bfd check-control-plane-failure
neighbor 192.0.2.8 ebgp-multihop
neighbor 192.0.2.5 remote-as 64502
neighbor 192.0.2.5 disable-connected-check
neighbor 192.0.2.5 update-source lo
!
address-family ipv4 unicast
neighbor rr activate
neighbor rr route-server-client
neighbor rr addpath-tx-all-paths
neighbor 192.0.2.1 attribute-unchanged next-hop
neighbor 192.0.2.5 attribute-unchanged next-hop
neighbor 192.0.2.6 attribute-unchanged next-hop
neighbor 192.0.2.8 attribute-unchanged next-hop
neighbor 192.0.2.5 activate
neighbor 192.0.2.5 route-server-client
neighbor 192.0.2.5 addpath-tx-all-paths
neighbor 192.0.2.5 attribute-unchanged next-hop
exit-address-family
!
39 changes: 39 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r3/isisd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
hostname r3
interface lo
ip router isis 1
isis passive
!
interface r3-eth0
ip router isis 1
isis network point-to-point
!
interface r3-eth1
ip router isis 1
isis network point-to-point
isis bfd
!
interface r3-eth2
ip router isis 1
isis network point-to-point
!
interface r3-eth3
ip router isis 1
isis network point-to-point
!
interface r3-eth4
ip router isis 1
isis network point-to-point
!
interface r3-eth5
ip router isis 1
isis network point-to-point
!
router isis 1
net 49.0123.6452.0003.00
is-type level-2-only
mpls-te on
segment-routing on
segment-routing global-block 16000 17000
segment-routing node-msd 10
segment-routing prefix 192.0.2.3/32 index 3
!
16 changes: 16 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r3/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
log stdout
interface lo
ip address 192.0.2.3/32
!
interface r3-eth0
ip address 172.31.0.3/24
mpls enable
!
interface r3-eth1
ip address 172.31.4.3/24
mpls enable
!
interface r3-eth2
ip address 172.31.5.3/24
mpls enable
!
31 changes: 31 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r4/isisd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
hostname r4
interface lo
ip router isis 1
isis passive
!
interface r4-eth0
ip router isis 1
isis network point-to-point
!
interface r4-eth1
ip router isis 1
isis network point-to-point
!
interface r4-eth2
ip router isis 1
isis network point-to-point
isis bfd
!
interface r4-eth3
ip router isis 1
isis network point-to-point
!
router isis 1
net 49.0123.6452.0004.00
is-type level-2-only
mpls-te on
segment-routing on
segment-routing global-block 16000 17000
segment-routing node-msd 10
segment-routing prefix 192.0.2.4/32 index 4
!
20 changes: 20 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r4/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
log stdout
interface lo
ip address 192.0.2.4/32
!
interface r4-eth0
ip address 172.31.2.4/24
mpls enable
!
interface r4-eth1
ip address 172.31.6.4/24
mpls enable
!
interface r4-eth2
ip address 172.31.7.4/24
mpls enable
!
interface r4-eth3
mpls enable
!

17 changes: 17 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r5/bgpd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
router bgp 64502
bgp router-id 192.192.192.192
no bgp ebgp-requires-policy
no bgp network import-check
neighbor rrserver peer-group
neighbor rrserver remote-as 64501
neighbor rrserver disable-connected-check
neighbor rrserver update-source lo
neighbor rrserver timers connect 2
neighbor 192.0.2.3 peer-group rrserver
address-family ipv4 unicast
network 192.0.2.9/32
neighbor rrserver activate
neighbor rrserver attribute-unchanged next-hop
redistribute sharp
exit-address-family
!
27 changes: 27 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r5/isisd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
hostname r5
interface lo
ip router isis 1
isis passive
!
interface r5-eth1
ip router isis 1
isis network point-to-point
isis bfd
!
interface r5-eth2
ip router isis 1
isis network point-to-point
!
interface r5-eth3
ip router isis 1
isis network point-to-point
!
router isis 1
net 49.0123.6452.0005.00
is-type level-2-only
mpls-te on
segment-routing on
segment-routing global-block 16000 17000
segment-routing node-msd 10
segment-routing prefix 192.0.2.5/32 index 55
!
19 changes: 19 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r5/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
log stdout
mpls label dynamic-block 5000 5999
interface lo
ip address 192.0.2.5/32
!
interface r5-eth0
ip address 172.31.12.5/24
!
interface r5-eth1
ip address 172.31.4.5/24
mpls enable
!
interface r5-eth2
ip address 172.31.7.5/24
mpls enable
!
interface r5-eth3
ip address 172.31.21.5/24
!
17 changes: 17 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r6/bgpd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
router bgp 64500
bgp router-id 192.192.192.192
no bgp ebgp-requires-policy
no bgp network import-check
neighbor rrserver peer-group
neighbor rrserver remote-as 64501
neighbor rrserver disable-connected-check
neighbor rrserver update-source lo
neighbor rrserver bfd
neighbor 192.0.2.3 peer-group rrserver
address-family ipv4 unicast
network 192.0.2.9/32
neighbor rrserver activate
neighbor rrserver attribute-unchanged next-hop
redistribute sharp
exit-address-family
!
22 changes: 22 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r6/isisd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
hostname r6
interface lo
ip router isis 1
isis passive
!
interface r6-eth1
ip router isis 1
isis network point-to-point
!
interface r6-eth2
ip router isis 1
isis network point-to-point
!
router isis 1
net 49.0123.6452.0006.00
is-type level-2-only
mpls-te on
segment-routing on
segment-routing global-block 16000 17000
segment-routing node-msd 10
segment-routing prefix 192.0.2.6/32 index 6
!
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sharp install routes 193.0.0.1 nexthop 192.0.2.6 2000
20 changes: 20 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r6/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
log stdout
mpls label dynamic-block 6000 6999
interface lo
ip address 192.0.2.6/32
!
interface r6-eth0
ip address 172.31.13.6/24
!
interface r6-eth1
ip address 172.31.5.6/24
mpls enable
!
interface r6-eth2
ip address 172.31.6.6/24
mpls enable
!
interface r6-eth3
ip address 172.31.22.6/24
!

23 changes: 23 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r7/isisd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
hostname r7
interface lo
ip router isis 1
isis passive
!
interface r7-eth0
ip router isis 1
isis network point-to-point
!
interface r7-eth1
ip router isis 1
isis network point-to-point
isis bfd
!
router isis 1
net 49.0123.6452.0007.00
is-type level-2-only
mpls-te on
segment-routing on
segment-routing global-block 16000 17000
segment-routing node-msd 10
segment-routing prefix 192.0.2.7/32 index 7
!
14 changes: 14 additions & 0 deletions tests/topotests/bgp_nhg_zapi_scalability_ebgp/r7/zebra.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
log stdout
interface lo
ip address 192.0.2.7/32
!
interface r7-eth0
ip address 172.31.8.7/24
mpls enable
! shutdown
!
interface r7-eth1
ip address 172.31.9.7/24
mpls enable
!

Loading

0 comments on commit af27463

Please sign in to comment.