From 2054b49c40a9f0e2fd4d26842af5f76478e76543 Mon Sep 17 00:00:00 2001 From: Jafar Al-Gharaibeh Date: Wed, 4 Sep 2024 23:51:39 -0500 Subject: [PATCH] tests: nhrp, use unified config, remove misleading error log Signed-off-by: Jafar Al-Gharaibeh --- .../host/{zebra.conf => frr.conf} | 0 .../nhc1/{zebra.conf => frr.conf} | 11 ++- .../topotests/nhrp_redundancy/nhc1/nhrpd.conf | 11 --- .../nhc2/{zebra.conf => frr.conf} | 9 +++ .../topotests/nhrp_redundancy/nhc2/nhrpd.conf | 11 --- .../nhs1/{zebra.conf => frr.conf} | 7 ++ .../topotests/nhrp_redundancy/nhs1/nhrpd.conf | 9 --- .../nhs2/{zebra.conf => frr.conf} | 7 ++ .../topotests/nhrp_redundancy/nhs2/nhrpd.conf | 9 --- .../nhs3/{zebra.conf => frr.conf} | 7 ++ .../topotests/nhrp_redundancy/nhs3/nhrpd.conf | 9 --- .../router/{zebra.conf => frr.conf} | 0 .../nhrp_redundancy/test_nhrp_redundancy.py | 76 +++++++++---------- 13 files changed, 75 insertions(+), 91 deletions(-) rename tests/topotests/nhrp_redundancy/host/{zebra.conf => frr.conf} (100%) rename tests/topotests/nhrp_redundancy/nhc1/{zebra.conf => frr.conf} (51%) delete mode 100644 tests/topotests/nhrp_redundancy/nhc1/nhrpd.conf rename tests/topotests/nhrp_redundancy/nhc2/{zebra.conf => frr.conf} (56%) delete mode 100644 tests/topotests/nhrp_redundancy/nhc2/nhrpd.conf rename tests/topotests/nhrp_redundancy/nhs1/{zebra.conf => frr.conf} (61%) delete mode 100644 tests/topotests/nhrp_redundancy/nhs1/nhrpd.conf rename tests/topotests/nhrp_redundancy/nhs2/{zebra.conf => frr.conf} (61%) delete mode 100644 tests/topotests/nhrp_redundancy/nhs2/nhrpd.conf rename tests/topotests/nhrp_redundancy/nhs3/{zebra.conf => frr.conf} (53%) delete mode 100644 tests/topotests/nhrp_redundancy/nhs3/nhrpd.conf rename tests/topotests/nhrp_redundancy/router/{zebra.conf => frr.conf} (100%) diff --git a/tests/topotests/nhrp_redundancy/host/zebra.conf b/tests/topotests/nhrp_redundancy/host/frr.conf similarity index 100% rename from tests/topotests/nhrp_redundancy/host/zebra.conf rename to tests/topotests/nhrp_redundancy/host/frr.conf diff --git a/tests/topotests/nhrp_redundancy/nhc1/zebra.conf b/tests/topotests/nhrp_redundancy/nhc1/frr.conf similarity index 51% rename from tests/topotests/nhrp_redundancy/nhc1/zebra.conf rename to tests/topotests/nhrp_redundancy/nhc1/frr.conf index 07d9175418..98e848bccf 100644 --- a/tests/topotests/nhrp_redundancy/nhc1/zebra.conf +++ b/tests/topotests/nhrp_redundancy/nhc1/frr.conf @@ -1,4 +1,5 @@ ip forwarding +!debug nhrp all interface nhc1-eth0 ip address 192.168.2.4/24 ! @@ -7,10 +8,18 @@ interface nhc1-gre0 ip address 172.16.1.4/32 no link-detect ipv6 nd suppress-ra + ip nhrp holdtime 10 + ip nhrp network-id 42 + ip nhrp registration no-unique + ip nhrp nhs dynamic nbma 192.168.1.1 + ip nhrp nhs dynamic nbma 192.168.1.2 + ip nhrp nhs dynamic nbma 192.168.1.3 + ip nhrp shortcut + tunnel source nhc1-eth0 ! interface nhc1-eth1 ip address 10.4.4.4/24 ! ip route 0.0.0.0/0 172.16.1.1 50 ip route 0.0.0.0/0 172.16.1.2 60 -ip route 0.0.0.0/0 172.16.1.3 70 \ No newline at end of file +ip route 0.0.0.0/0 172.16.1.3 70 diff --git a/tests/topotests/nhrp_redundancy/nhc1/nhrpd.conf b/tests/topotests/nhrp_redundancy/nhc1/nhrpd.conf deleted file mode 100644 index a0862f77ef..0000000000 --- a/tests/topotests/nhrp_redundancy/nhc1/nhrpd.conf +++ /dev/null @@ -1,11 +0,0 @@ -!debug nhrp all -interface nhc1-gre0 - ip nhrp holdtime 10 - ip nhrp network-id 42 - ip nhrp registration no-unique - ip nhrp nhs dynamic nbma 192.168.1.1 - ip nhrp nhs dynamic nbma 192.168.1.2 - ip nhrp nhs dynamic nbma 192.168.1.3 - ip nhrp shortcut - tunnel source nhc1-eth0 -exit diff --git a/tests/topotests/nhrp_redundancy/nhc2/zebra.conf b/tests/topotests/nhrp_redundancy/nhc2/frr.conf similarity index 56% rename from tests/topotests/nhrp_redundancy/nhc2/zebra.conf rename to tests/topotests/nhrp_redundancy/nhc2/frr.conf index 30ea6d4d1d..818dd48251 100644 --- a/tests/topotests/nhrp_redundancy/nhc2/zebra.conf +++ b/tests/topotests/nhrp_redundancy/nhc2/frr.conf @@ -1,4 +1,5 @@ ip forwarding +!debug nhrp all interface nhc2-eth0 ip address 192.168.2.5/24 ! @@ -7,6 +8,14 @@ interface nhc2-gre0 ip address 172.16.1.5/32 no link-detect ipv6 nd suppress-ra + ip nhrp holdtime 10 + ip nhrp network-id 42 + ip nhrp nhs dynamic nbma 192.168.1.1 + ip nhrp nhs dynamic nbma 192.168.1.2 + ip nhrp nhs dynamic nbma 192.168.1.3 + ip nhrp registration no-unique + ip nhrp shortcut + tunnel source nhc2-eth0 ! interface nhc2-eth1 ip address 10.5.5.5/24 diff --git a/tests/topotests/nhrp_redundancy/nhc2/nhrpd.conf b/tests/topotests/nhrp_redundancy/nhc2/nhrpd.conf deleted file mode 100644 index 16a6d87c27..0000000000 --- a/tests/topotests/nhrp_redundancy/nhc2/nhrpd.conf +++ /dev/null @@ -1,11 +0,0 @@ -!debug nhrp all -interface nhc2-gre0 - ip nhrp holdtime 10 - ip nhrp network-id 42 - ip nhrp nhs dynamic nbma 192.168.1.1 - ip nhrp nhs dynamic nbma 192.168.1.2 - ip nhrp nhs dynamic nbma 192.168.1.3 - ip nhrp registration no-unique - ip nhrp shortcut - tunnel source nhc2-eth0 -exit diff --git a/tests/topotests/nhrp_redundancy/nhs1/zebra.conf b/tests/topotests/nhrp_redundancy/nhs1/frr.conf similarity index 61% rename from tests/topotests/nhrp_redundancy/nhs1/zebra.conf rename to tests/topotests/nhrp_redundancy/nhs1/frr.conf index 718e01b991..583d014348 100644 --- a/tests/topotests/nhrp_redundancy/nhs1/zebra.conf +++ b/tests/topotests/nhrp_redundancy/nhs1/frr.conf @@ -1,12 +1,19 @@ ip forwarding +!debug nhrp all interface nhs1-eth0 ip address 192.168.1.1/24 ! ip route 192.168.2.0/24 192.168.1.6 +nhrp nflog-group 1 interface nhs1-gre0 ip address 172.16.1.1/32 no link-detect ipv6 nd suppress-ra + ip nhrp holdtime 10 + ip nhrp network-id 42 + ip nhrp registration no-unique + ip nhrp redirect + tunnel source nhs1-eth0 ! ip route 10.4.4.0/24 172.16.1.4 ip route 10.5.5.0/24 172.16.1.5 diff --git a/tests/topotests/nhrp_redundancy/nhs1/nhrpd.conf b/tests/topotests/nhrp_redundancy/nhs1/nhrpd.conf deleted file mode 100644 index c0c8c28f94..0000000000 --- a/tests/topotests/nhrp_redundancy/nhs1/nhrpd.conf +++ /dev/null @@ -1,9 +0,0 @@ -!debug nhrp all -nhrp nflog-group 1 -interface nhs1-gre0 - ip nhrp holdtime 10 - ip nhrp network-id 42 - ip nhrp registration no-unique - ip nhrp redirect - tunnel source nhs1-eth0 -exit diff --git a/tests/topotests/nhrp_redundancy/nhs2/zebra.conf b/tests/topotests/nhrp_redundancy/nhs2/frr.conf similarity index 61% rename from tests/topotests/nhrp_redundancy/nhs2/zebra.conf rename to tests/topotests/nhrp_redundancy/nhs2/frr.conf index 6001bf21c0..a6e0a98e6b 100644 --- a/tests/topotests/nhrp_redundancy/nhs2/zebra.conf +++ b/tests/topotests/nhrp_redundancy/nhs2/frr.conf @@ -1,12 +1,19 @@ ip forwarding +!debug nhrp all interface nhs2-eth0 ip address 192.168.1.2/24 ! ip route 192.168.2.0/24 192.168.1.6 +nhrp nflog-group 1 interface nhs2-gre0 ip address 172.16.1.2/32 no link-detect ipv6 nd suppress-ra + ip nhrp holdtime 10 + ip nhrp network-id 42 + ip nhrp registration no-unique + ip nhrp redirect + tunnel source nhs2-eth0 ! ip route 10.4.4.0/24 172.16.1.4 ip route 10.5.5.0/24 172.16.1.5 diff --git a/tests/topotests/nhrp_redundancy/nhs2/nhrpd.conf b/tests/topotests/nhrp_redundancy/nhs2/nhrpd.conf deleted file mode 100644 index df86d2798e..0000000000 --- a/tests/topotests/nhrp_redundancy/nhs2/nhrpd.conf +++ /dev/null @@ -1,9 +0,0 @@ -!debug nhrp all -nhrp nflog-group 1 -interface nhs2-gre0 - ip nhrp holdtime 10 - ip nhrp network-id 42 - ip nhrp registration no-unique - ip nhrp redirect - tunnel source nhs2-eth0 -exit diff --git a/tests/topotests/nhrp_redundancy/nhs3/zebra.conf b/tests/topotests/nhrp_redundancy/nhs3/frr.conf similarity index 53% rename from tests/topotests/nhrp_redundancy/nhs3/zebra.conf rename to tests/topotests/nhrp_redundancy/nhs3/frr.conf index 7c15438817..e965baf327 100644 --- a/tests/topotests/nhrp_redundancy/nhs3/zebra.conf +++ b/tests/topotests/nhrp_redundancy/nhs3/frr.conf @@ -1,12 +1,19 @@ ip forwarding +!debug nhrp all interface nhs3-eth0 ip address 192.168.1.3/24 ! ip route 192.168.2.0/24 192.168.1.6 +nhrp nflog-group 1 interface nhs3-gre0 ip address 172.16.1.3/32 no link-detect ipv6 nd suppress-ra + ip nhrp holdtime 10 + ip nhrp network-id 42 + ip nhrp registration no-unique + ip nhrp redirect + tunnel source nhs3-eth0 ! ip route 10.4.4.0/24 172.16.1.4 ip route 10.5.5.0/24 172.16.1.5 \ No newline at end of file diff --git a/tests/topotests/nhrp_redundancy/nhs3/nhrpd.conf b/tests/topotests/nhrp_redundancy/nhs3/nhrpd.conf deleted file mode 100644 index e7c3504f65..0000000000 --- a/tests/topotests/nhrp_redundancy/nhs3/nhrpd.conf +++ /dev/null @@ -1,9 +0,0 @@ -!debug nhrp all -nhrp nflog-group 1 -interface nhs3-gre0 - ip nhrp holdtime 10 - ip nhrp network-id 42 - ip nhrp registration no-unique - ip nhrp redirect - tunnel source nhs3-eth0 -exit diff --git a/tests/topotests/nhrp_redundancy/router/zebra.conf b/tests/topotests/nhrp_redundancy/router/frr.conf similarity index 100% rename from tests/topotests/nhrp_redundancy/router/zebra.conf rename to tests/topotests/nhrp_redundancy/router/frr.conf diff --git a/tests/topotests/nhrp_redundancy/test_nhrp_redundancy.py b/tests/topotests/nhrp_redundancy/test_nhrp_redundancy.py index 06777aaa23..d4cf98596c 100644 --- a/tests/topotests/nhrp_redundancy/test_nhrp_redundancy.py +++ b/tests/topotests/nhrp_redundancy/test_nhrp_redundancy.py @@ -29,38 +29,38 @@ test_nhrp_redundancy.py: Test NHS redundancy for NHRP """ TOPOLOGY = """ -+------------+ +------------+ +------------+ -| | | | | | -| | | | | | -| NHS 1 | | NHS 2 | | NHS 3 | -| | | | | | -+-----+------+ +-----+------+ +-----+------+ - |.1 |.2 |.3 - | | | - | | 192.168.1.0/24 | -------+-------------------------------+------------------+-------------+------ - | - |.6 - GRE P2MP between all NHS and NHC +-----+------+ - 172.16.1.x/32 | | - | | - | Router | - | | - +-----+------+ - | - | - ---------+----------------+-------------+------ - | 192.168.2.0/24 | - | | - | |.4 |.5 -+------------+ | +-------+----+ +------+-----+ | -| | | | | | | | -| | +--------+ | | | | ++------------+ +------------+ +------------+ +| | | | | | +| | | | | | +| NHS 1 | | NHS 2 | | NHS 3 | +| | | | | | ++-----+------+ +-----+------+ +-----+------+ + |.1 |.2 |.3 + | | | + | | 192.168.1.0/24 | +------+-------------------------------+------------------+-------------+------ + | + |.6 + GRE P2MP between all NHS and NHC +-----+------+ + 172.16.1.x/32 | | + | | + | Router | + | | + +-----+------+ + | + | + ---------+----------------+-------------+------ + | 192.168.2.0/24 | + | | + | |.4 |.5 ++------------+ | +-------+----+ +------+-----+ | +| | | | | | | | +| | +--------+ | | | | | Host |.7 | | NHC 1 | | NHC 2 +-----+10.5.5.0/24 -| +---------+ | | | | | -+------------+ | +------------+ +------------+ | - | | - 10.4.4.0/24 +| +---------+ | | | | | ++------------+ | +------------+ +------------+ | + | | + 10.4.4.0/24 """ # Save the Current Working Directory to find configuration files. @@ -148,8 +148,8 @@ def _populate_iface(): def _verify_iptables(): tgen = get_topogen() # Verify iptables is installed. Required for shortcuts - rc, _, _ = tgen.net["nhs1"].cmd_status("iptables") - return False if rc == 127 else True + rc, _, _ = tgen.net["nhs1"].cmd_status("iptables -V") + return True if rc == 0 else False def setup_module(mod): @@ -167,14 +167,8 @@ def setup_module(mod): _populate_iface() for rname, router in router_list.items(): - router.load_config( - TopoRouter.RD_ZEBRA, - os.path.join(CWD, "{}/zebra.conf".format(rname)), - ) - if rname in ("nhs1", "nhs2", "nhs3", "nhc1", "nhc2"): - router.load_config( - TopoRouter.RD_NHRP, os.path.join(CWD, "{}/nhrpd.conf".format(rname)) - ) + logger.info("Loading router %s" % rname) + router.load_frr_config(os.path.join(CWD, "{}/frr.conf".format(rname))) # Initialize all routers. tgen.start_router() -- 2.39.5