+++ /dev/null
-router bgp 65001
- no bgp ebgp-requires-policy
- neighbor 10.0.30.3 remote-as external
- neighbor 10.0.30.3 timers 3 10
- redistribute connected
--- /dev/null
+hostname r1
+!
+service integrated-vtysh-config
+!
+interface r1-eth0
+ ip address 10.0.20.1/24
+ ip igmp
+ ip pim
+!
+interface r1-eth1
+ ip address 10.0.30.1/24
+ ip pim
+!
+interface r1-eth2
+ ip address 10.0.40.1/24
+ ip igmp
+ ip pim
+!
+interface lo
+ ip address 10.254.0.1/32
+ ip pim
+!
+router bgp 65001
+ no bgp ebgp-requires-policy
+ neighbor 10.0.30.3 remote-as external
+ neighbor 10.0.30.3 timers 3 10
+ redistribute connected
+!
+router pim
+ rp 10.254.0.3
+ join-prune-interval 5
+!
+++ /dev/null
-hostname r1
-!
-interface r1-eth0
- ip igmp
- ip pim
-!
-interface r1-eth1
- ip pim
-!
-interface r1-eth2
- ip igmp
- ip pim
-!
-interface lo
- ip pim
-!
-ip pim rp 10.254.0.3
-ip pim join-prune-interval 5
+++ /dev/null
-hostname r1
-!
-interface r1-eth0
- ip address 10.0.20.1/24
-!
-interface r1-eth1
- ip address 10.0.30.1/24
-!
-interface r1-eth2
- ip address 10.0.40.1/24
-!
-interface lo
- ip address 10.254.0.1/32
-!
--- /dev/null
+hostname r2
+!
+frr version 8.4
+frr defaults traditional
+!
+service integrated-vtysh-config
+!
+interface r2-eth0
+ ip address 10.0.20.2/24
+!
+interface lo
+ ip address 10.254.0.2/32
+!
+line vty
+!
\ No newline at end of file
+++ /dev/null
-hostname r2
+++ /dev/null
-hostname r2
-!
-interface r2-eth0
- ip address 10.0.20.2/24
-!
-interface lo
- ip address 10.254.0.2/32
-!
--- /dev/null
+hostname r3
+!
+!
+service integrated-vtysh-config
+!
+interface r3-eth0
+ ip address 10.0.40.4/24
+!
+interface lo
+ ip address 10.254.0.4/32
+!
+++ /dev/null
-hostname r3
+++ /dev/null
-hostname r3
-!
-interface r3-eth0
- ip address 10.0.40.4/24
-!
-interface lo
- ip address 10.254.0.4/32
-!
+++ /dev/null
-router bgp 65003
- no bgp ebgp-requires-policy
- neighbor 10.0.30.1 remote-as external
- neighbor 10.0.30.1 timers 3 10
- redistribute connected
--- /dev/null
+hostname rp
+!
+!
+service integrated-vtysh-config
+!
+interface rp-eth0
+ ip address 10.0.30.3/24
+ ip pim
+!
+interface lo
+ ip address 10.254.0.3/32
+ ip pim
+!
+router bgp 65003
+ no bgp ebgp-requires-policy
+ neighbor 10.0.30.1 remote-as external
+ neighbor 10.0.30.1 timers 3 10
+ redistribute connected
+!
+router pim
+ join-prune-interval 5
+ rp 10.254.0.3
+ register-accept-list ACCEPT
+!
+ip prefix-list ACCEPT seq 5 permit 10.0.20.0/24 le 32
+!
+++ /dev/null
-hostname rp
-!
-interface rp-eth0
- ip pim
-!
-interface lo
- ip pim
-!
-ip pim join-prune-interval 5
-ip pim rp 10.254.0.3
-ip pim register-accept-list ACCEPT
-
-ip prefix-list ACCEPT seq 5 permit 10.0.20.0/24 le 32
+++ /dev/null
-hostname rp
-!
-interface rp-eth0
- ip address 10.0.30.3/24
-!
-interface lo
- ip address 10.254.0.3/32
-!
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
- # For all registered routers, load the zebra configuration file
+ # For all registered routers, load the integrated configuration file
for rname, router in tgen.routers().items():
- router.load_config(
- TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
- )
- router.load_config(
- TopoRouter.RD_PIM, os.path.join(CWD, "{}/pimd.conf".format(rname))
- )
- router.load_config(
- TopoRouter.RD_BGP, os.path.join(CWD, "{}/bgpd.conf".format(rname))
+ router.load_frr_config(
+ os.path.join(CWD, "{}/frr.conf".format(rname)),
+ [
+ (TopoRouter.RD_ZEBRA, None),
+ (TopoRouter.RD_PIM, None),
+ (TopoRouter.RD_BGP, None),
+ ],
)
# After loading the configurations, this function loads configured daemons.