summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/topotests/all-protocol-startup/r1/bgpd.conf3
-rw-r--r--tests/topotests/all-protocol-startup/r1/ospf6d.conf3
-rw-r--r--tests/topotests/all-protocol-startup/r1/ospfd.conf3
-rw-r--r--tests/topotests/all-protocol-startup/r1/ripd.conf3
-rw-r--r--tests/topotests/all-protocol-startup/r1/ripngd.conf3
-rw-r--r--tests/topotests/all-protocol-startup/r1/show_route_map.ref73
-rw-r--r--tests/topotests/all-protocol-startup/r1/zebra.conf3
-rwxr-xr-xtests/topotests/all-protocol-startup/test_all_protocol_startup.py31
8 files changed, 122 insertions, 0 deletions
diff --git a/tests/topotests/all-protocol-startup/r1/bgpd.conf b/tests/topotests/all-protocol-startup/r1/bgpd.conf
index 4614287f27..34cbd086dd 100644
--- a/tests/topotests/all-protocol-startup/r1/bgpd.conf
+++ b/tests/topotests/all-protocol-startup/r1/bgpd.conf
@@ -45,3 +45,6 @@ route-map bgp-map permit 20
line vty
!
+route-map LIES deny 10
+ match interface notpresent
+! \ No newline at end of file
diff --git a/tests/topotests/all-protocol-startup/r1/ospf6d.conf b/tests/topotests/all-protocol-startup/r1/ospf6d.conf
index 941d3016c7..5c6f071644 100644
--- a/tests/topotests/all-protocol-startup/r1/ospf6d.conf
+++ b/tests/topotests/all-protocol-startup/r1/ospf6d.conf
@@ -14,3 +14,6 @@ router ospf6
!
line vty
!
+route-map LIES deny 10
+ match interface notpresent
+!
diff --git a/tests/topotests/all-protocol-startup/r1/ospfd.conf b/tests/topotests/all-protocol-startup/r1/ospfd.conf
index 549f36fab4..bac9f61620 100644
--- a/tests/topotests/all-protocol-startup/r1/ospfd.conf
+++ b/tests/topotests/all-protocol-startup/r1/ospfd.conf
@@ -11,3 +11,6 @@ router ospf
!
line vty
!
+route-map LIES deny 10
+ match interface notpresent
+!
diff --git a/tests/topotests/all-protocol-startup/r1/ripd.conf b/tests/topotests/all-protocol-startup/r1/ripd.conf
index 4b35630b36..ace7608873 100644
--- a/tests/topotests/all-protocol-startup/r1/ripd.conf
+++ b/tests/topotests/all-protocol-startup/r1/ripd.conf
@@ -10,3 +10,6 @@ router rip
line vty
!
+route-map LIES deny 10
+ match interface notpresent
+!
diff --git a/tests/topotests/all-protocol-startup/r1/ripngd.conf b/tests/topotests/all-protocol-startup/r1/ripngd.conf
index 199fe15ab9..2e0aef3a14 100644
--- a/tests/topotests/all-protocol-startup/r1/ripngd.conf
+++ b/tests/topotests/all-protocol-startup/r1/ripngd.conf
@@ -9,3 +9,6 @@ router ripng
line vty
!
+route-map LIES deny 10
+ match interface notpresent
+!
diff --git a/tests/topotests/all-protocol-startup/r1/show_route_map.ref b/tests/topotests/all-protocol-startup/r1/show_route_map.ref
new file mode 100644
index 0000000000..25786081d1
--- /dev/null
+++ b/tests/topotests/all-protocol-startup/r1/show_route_map.ref
@@ -0,0 +1,73 @@
+ZEBRA:
+route-map: LIES Invoked: 0 Optimization: enabled
+ deny, sequence 10 Invoked 0
+ Match clauses:
+ interface notpresent
+ Set clauses:
+ Call clause:
+ Action:
+ Exit routemap
+RIP:
+route-map: LIES Invoked: 0 Optimization: enabled
+ deny, sequence 10 Invoked 0
+ Match clauses:
+ interface notpresent
+ Set clauses:
+ Call clause:
+ Action:
+ Exit routemap
+RIPNG:
+route-map: LIES Invoked: 0 Optimization: enabled
+ deny, sequence 10 Invoked 0
+ Match clauses:
+ interface notpresent
+ Set clauses:
+ Call clause:
+ Action:
+ Exit routemap
+OSPF:
+route-map: LIES Invoked: 0 Optimization: enabled
+ deny, sequence 10 Invoked 0
+ Match clauses:
+ interface notpresent
+ Set clauses:
+ Call clause:
+ Action:
+ Exit routemap
+OSPF6:
+route-map: LIES Invoked: 0 Optimization: enabled
+ deny, sequence 10 Invoked 0
+ Match clauses:
+ interface notpresent
+ Set clauses:
+ Call clause:
+ Action:
+ Exit routemap
+BGP:
+route-map: LIES Invoked: 0 Optimization: enabled
+ deny, sequence 10 Invoked 0
+ Match clauses:
+ interface notpresent
+ Set clauses:
+ Call clause:
+ Action:
+ Exit routemap
+route-map: bgp-map Invoked: 0 Optimization: enabled
+ permit, sequence 10 Invoked 0
+ Match clauses:
+ Set clauses:
+ community 100:100 additive
+ local-preference 100
+ Call clause:
+ Action:
+ Exit routemap
+ permit, sequence 20 Invoked 0
+ Match clauses:
+ Set clauses:
+ metric 10
+ local-preference 200
+ Call clause:
+ Action:
+ Exit routemap
+ISIS:
+SHARP:
diff --git a/tests/topotests/all-protocol-startup/r1/zebra.conf b/tests/topotests/all-protocol-startup/r1/zebra.conf
index fbf827604f..48799bf5df 100644
--- a/tests/topotests/all-protocol-startup/r1/zebra.conf
+++ b/tests/topotests/all-protocol-startup/r1/zebra.conf
@@ -100,3 +100,6 @@ ipv6 forwarding
line vty
!
+route-map LIES deny 10
+ match interface notpresent
+!
diff --git a/tests/topotests/all-protocol-startup/test_all_protocol_startup.py b/tests/topotests/all-protocol-startup/test_all_protocol_startup.py
index a671e14e07..5f23525a1b 100755
--- a/tests/topotests/all-protocol-startup/test_all_protocol_startup.py
+++ b/tests/topotests/all-protocol-startup/test_all_protocol_startup.py
@@ -891,7 +891,38 @@ def test_bgp_ipv6():
# For debugging after starting FRR/Quagga daemons, uncomment the next line
# CLI(net)
+def test_route_map():
+ global fatal_error
+ global net
+
+ if (fatal_error != ""):
+ pytest.skip(fatal_error)
+
+ thisDir = os.path.dirname(os.path.realpath(__file__))
+
+ print("\n\n** Verifying some basic routemap forward references\n")
+ print("*******************************************************\n")
+ failures = 0
+ for i in range(1, 2):
+ refroutemap = '%s/r%s/show_route_map.ref' % (thisDir, i)
+ if os.path.isfile(refroutemap):
+ expected = open(refroutemap).read().rstrip()
+ expected = ('\n'.join(expected.splitlines()) + '\n').splitlines(1)
+
+ actual = net['r%s' %i].cmd('vtysh -c "show route-map" 2> /dev/null').rstrip()
+ actual = ('\n'.join(actual.splitlines()) + '\n').splitlines(1)
+
+ diff = topotest.get_textdiff(actual, expected,
+ title1="actual show route-map",
+ title2="expected show route-map")
+
+ if diff:
+ sys.stderr.write('r%s failed show route-map command Check:\n%s\n' % (i, diff))
+ failures += 1
+ else:
+ print("r%s ok" %i)
+ assert failures == 0, "Show route-map command failed for router r%s:\n%s" % (i, diff)
def test_mpls_interfaces():
global fatal_error