topotests: add unified configuration

Replace the various per-daemon config files with a unique frr.conf
configuration file.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
Philippe Guibert 2024-12-19 17:28:21 +01:00
parent 82339c94ed
commit d84b93f287
8 changed files with 49 additions and 66 deletions

View File

@ -78,7 +78,7 @@ def setup_module(mod):
"tcpdump -nni r1-eth0 -s 0 -w {} &".format(pcap_file), stdout=None "tcpdump -nni r1-eth0 -s 0 -w {} &".format(pcap_file), stdout=None
) )
for rname, router in tgen.routers().items(): for _, (rname, router) in enumerate(tgen.routers().items(), 1):
logger.info("Loading router %s" % rname) logger.info("Loading router %s" % rname)
router.load_frr_config( router.load_frr_config(
os.path.join(CWD, "{}/frr.conf".format(rname)), os.path.join(CWD, "{}/frr.conf".format(rname)),

View File

@ -1,6 +1,21 @@
! debug zebra vxlan
! debug zebra kernel
! debug zebra dplane
! debug zebra rib
! debug bgp neighbor-events ! debug bgp neighbor-events
! debug bgp updates ! debug bgp updates
! debug bgp zebra ! debug bgp zebra
vrf r1-vrf-101
vni 101
exit-vrf
!
interface r1-eth0
ip address 192.168.100.21/24
!
interface loop101 vrf r1-vrf-101
ip address 192.168.102.21/32
ipv6 address fd00::1/128
!
router bgp 65000 router bgp 65000
bgp router-id 192.168.100.21 bgp router-id 192.168.100.21
bgp log-neighbor-changes bgp log-neighbor-changes
@ -42,3 +57,5 @@ exit
route-map rmap_r1 permit 1 route-map rmap_r1 permit 1
match evpn vni 101 match evpn vni 101
exit exit

View File

@ -1,23 +0,0 @@
log stdout
hostname r1
password zebra
! debug zebra vxlan
! debug zebra kernel
! debug zebra dplane
! debug zebra rib
log stdout
vrf r1-vrf-101
vni 101
exit-vrf
!
interface r1-eth0
ip address 192.168.100.21/24
!
interface loop101 vrf r1-vrf-101
ip address 192.168.102.21/32
ipv6 address fd00::1/128
!

View File

@ -1,6 +1,19 @@
! debug zebra vxlan
! debug bgp neighbor-events ! debug bgp neighbor-events
! debug bgp updates ! debug bgp updates
! debug bgp zebra ! debug bgp zebra
vrf r2-vrf-101
vni 101
exit-vrf
!
interface loop101 vrf r2-vrf-101
ip address 192.168.101.41/32
ipv6 address fd00::2/128
!
interface r2-eth0
ip address 192.168.100.41/24
!
router bgp 65000 router bgp 65000
bgp router-id 192.168.100.41 bgp router-id 192.168.100.41
bgp log-neighbor-changes bgp log-neighbor-changes
@ -49,3 +62,4 @@ exit
route-map rmap6 deny 2 route-map rmap6 deny 2
match ipv6 address acl6_2 match ipv6 address acl6_2
exit exit

View File

@ -1,19 +0,0 @@
log stdout
hostname r2
password zebra
! debug zebra vxlan
vrf r2-vrf-101
vni 101
exit-vrf
!
interface loop101 vrf r2-vrf-101
ip address 192.168.101.41/32
ipv6 address fd00::2/128
!
interface r2-eth0
ip address 192.168.100.41/24
!

View File

@ -1,6 +1,17 @@
! debug bgp neighbor-events ! debug bgp neighbor-events
! debug bgp updates ! debug bgp updates
! debug bgp zebra ! debug bgp zebra
vrf r3-vrf-102
vni 102
exit-vrf
!
interface r3-eth0
ip address 192.168.100.61/24
!
interface loop102 vrf r3-vrf-102
ip address 192.168.102.61/32
ipv6 address fd00:6::1/128
!
router bgp 65500 router bgp 65500
bgp router-id 192.168.100.61 bgp router-id 192.168.100.61
bgp log-neighbor-changes bgp log-neighbor-changes
@ -31,3 +42,5 @@ router bgp 65000 vrf r3-vrf-102
advertise ipv6 unicast advertise ipv6 unicast
exit-address-family exit-address-family
! !

View File

@ -1,13 +0,0 @@
vrf r3-vrf-102
vni 102
exit-vrf
!
interface r3-eth0
ip address 192.168.100.61/24
!
interface loop102 vrf r3-vrf-102
ip address 192.168.102.61/32
ipv6 address fd00:6::1/128
!

View File

@ -159,19 +159,13 @@ def setup_module(mod):
tgen.net["r1"].cmd_raises("ip -n r1-vrf-101 link set bridge-101 up") tgen.net["r1"].cmd_raises("ip -n r1-vrf-101 link set bridge-101 up")
tgen.net["r1"].cmd_raises("ip -n r1-vrf-101 link set vxlan-101 up") tgen.net["r1"].cmd_raises("ip -n r1-vrf-101 link set vxlan-101 up")
for rname, router in router_list.items(): for rname, router in tgen.routers().items():
logger.info("Loading router %s" % rname)
if rname == "r1": if rname == "r1":
router.use_netns_vrf() router.use_netns_vrf()
router.load_config( router.load_frr_config(os.path.join(CWD, "{}/frr.conf".format(rname)))
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
)
else: else:
router.load_config( router.load_frr_config(os.path.join(CWD, "{}/frr.conf".format(rname)))
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
)
router.load_config(
TopoRouter.RD_BGP, os.path.join(CWD, "{}/bgpd.conf".format(rname))
)
# Initialize all routers. # Initialize all routers.
tgen.start_router() tgen.start_router()