From: Martin Winter Date: Fri, 24 Mar 2017 05:31:50 +0000 (-0700) Subject: LDP-Topo1: Update test to accept new format of LDP output X-Git-Tag: frr-7.1-dev~151^2~346 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=3eaafbd95d179853c5431ac40f13190158f088b5;p=matthieu%2Ffrr.git LDP-Topo1: Update test to accept new format of LDP output * Added test to check for version * Adopted all tests to verify against the correct version of output Signed-off-by: Martin Winter --- diff --git a/tests/topotests/ldp-topo1/r1/ip_mpls_route.ref-1 b/tests/topotests/ldp-topo1/r1/ip_mpls_route.ref-1 new file mode 100644 index 0000000000..053b08c338 --- /dev/null +++ b/tests/topotests/ldp-topo1/r1/ip_mpls_route.ref-1 @@ -0,0 +1,5 @@ +xx as to xx via inet 10.0.1.2 dev r1-eth0 proto zebra +xx as to xx via inet 10.0.1.2 dev r1-eth0 proto zebra +xx via inet 10.0.1.2 dev r1-eth0 proto zebra +xx via inet 10.0.1.2 dev r1-eth0 proto zebra +xx via inet 10.0.1.2 dev r1-eth0 proto zebra diff --git a/tests/topotests/ldp-topo1/r1/show_ipv4_route.ref-1 b/tests/topotests/ldp-topo1/r1/show_ipv4_route.ref-1 new file mode 100644 index 0000000000..e72a20bac0 --- /dev/null +++ b/tests/topotests/ldp-topo1/r1/show_ipv4_route.ref-1 @@ -0,0 +1,7 @@ +O 1.1.1.1/32 [110/0] is directly connected, lo +O>* 2.2.2.2/32 [110/10] via 10.0.1.2, r1-eth0 +O>* 3.3.3.3/32 [110/20] via 10.0.1.2, r1-eth0 label xxx +O>* 4.4.4.4/32 [110/20] via 10.0.1.2, r1-eth0 label xxx +O 10.0.1.0/24 [110/10] is directly connected, r1-eth0 +O>* 10.0.2.0/24 [110/20] via 10.0.1.2, r1-eth0 +O>* 10.0.3.0/24 [110/20] via 10.0.1.2, r1-eth0 diff --git a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_binding.ref b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_binding.ref index ff72a1c0b7..32aa60c30d 100644 --- a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_binding.ref +++ b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_binding.ref @@ -1,42 +1,8 @@ -1.1.1.1/32 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx -2.2.2.2/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null -3.3.3.3/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx -4.4.4.4/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx -10.0.1.0/24 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null -10.0.2.0/24 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null -10.0.3.0/24 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null +AF Destination Nexthop Local Label Remote Label In Use +ipv4 1.1.1.1/32 2.2.2.2 imp-null xxx no +ipv4 2.2.2.2/32 2.2.2.2 xxx imp-null yes +ipv4 3.3.3.3/32 2.2.2.2 xxx xxx yes +ipv4 4.4.4.4/32 2.2.2.2 xxx xxx yes +ipv4 10.0.1.0/24 2.2.2.2 imp-null imp-null no +ipv4 10.0.2.0/24 2.2.2.2 xxx imp-null yes +ipv4 10.0.3.0/24 2.2.2.2 xxx imp-null yes diff --git a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_binding.ref-1 b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_binding.ref-1 new file mode 100644 index 0000000000..ff72a1c0b7 --- /dev/null +++ b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_binding.ref-1 @@ -0,0 +1,42 @@ +1.1.1.1/32 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx +2.2.2.2/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null +3.3.3.3/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx +4.4.4.4/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx +10.0.1.0/24 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null +10.0.2.0/24 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null +10.0.3.0/24 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null diff --git a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_discovery.ref b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_discovery.ref index 38522e162e..373755ab87 100644 --- a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_discovery.ref +++ b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_discovery.ref @@ -1,7 +1,2 @@ -Local LDP Identifier: 1.1.1.1:0 -Discovery Sources: - Interfaces: - r1-eth0: xmit/recv - LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2 - Hold time: 15 sec - Targeted Hellos: +AF ID Type Source Holdtime +ipv4 2.2.2.2 Link r1-eth0 15 diff --git a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_discovery.ref-1 b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_discovery.ref-1 new file mode 100644 index 0000000000..38522e162e --- /dev/null +++ b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_discovery.ref-1 @@ -0,0 +1,7 @@ +Local LDP Identifier: 1.1.1.1:0 +Discovery Sources: + Interfaces: + r1-eth0: xmit/recv + LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2 + Hold time: 15 sec + Targeted Hellos: diff --git a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_interface.ref-1 b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_interface.ref-1 new file mode 100644 index 0000000000..0fb15d2da7 --- /dev/null +++ b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_interface.ref-1 @@ -0,0 +1,2 @@ +AF Interface State Uptime Hello Timers ac +ipv4 r1-eth0 ACTIVE xx:xx:xx 5/15 1 diff --git a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_neighbor.ref b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_neighbor.ref index 3df98bfae5..29e264ff3c 100644 --- a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_neighbor.ref +++ b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_neighbor.ref @@ -1,8 +1,2 @@ -Peer LDP Identifier: 2.2.2.2:0 - TCP connection: 1.1.1.1:xxx - 2.2.2.2:xxx - Session Holdtime: 180 sec - State: OPERATIONAL; Downstream-Unsolicited - Up time: xx:xx:xx - LDP Discovery Sources: - IPv4: - Interface: r1-eth0 +AF ID State Remote Address Uptime +ipv4 2.2.2.2 OPERATIONAL 2.2.2.2 xx:xx:xx diff --git a/tests/topotests/ldp-topo1/r1/show_mpls_ldp_neighbor.ref-1 b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_neighbor.ref-1 new file mode 100644 index 0000000000..3df98bfae5 --- /dev/null +++ b/tests/topotests/ldp-topo1/r1/show_mpls_ldp_neighbor.ref-1 @@ -0,0 +1,8 @@ +Peer LDP Identifier: 2.2.2.2:0 + TCP connection: 1.1.1.1:xxx - 2.2.2.2:xxx + Session Holdtime: 180 sec + State: OPERATIONAL; Downstream-Unsolicited + Up time: xx:xx:xx + LDP Discovery Sources: + IPv4: + Interface: r1-eth0 diff --git a/tests/topotests/ldp-topo1/r1/show_mpls_table.ref-1 b/tests/topotests/ldp-topo1/r1/show_mpls_table.ref-1 new file mode 100644 index 0000000000..912a082019 --- /dev/null +++ b/tests/topotests/ldp-topo1/r1/show_mpls_table.ref-1 @@ -0,0 +1,8 @@ + Inbound Outbound + Label Type Nexthop Label +-------- ------- --------------- -------- + XX LDP 10.0.1.2 3 + XX LDP 10.0.1.2 3 + XX LDP 10.0.1.2 3 + XX LDP 10.0.1.2 XX + XX LDP 10.0.1.2 XX diff --git a/tests/topotests/ldp-topo1/r2/how_mpls_table.ref b/tests/topotests/ldp-topo1/r2/how_mpls_table.ref deleted file mode 100644 index 67f9162bcd..0000000000 --- a/tests/topotests/ldp-topo1/r2/how_mpls_table.ref +++ /dev/null @@ -1,7 +0,0 @@ - Inbound Outbound - Label Type Nexthop Label --------- ------- --------------- -------- - 16 LDP 10.0.2.3 3 - 16 LDP 10.0.3.3 3 - 17 LDP 10.0.1.1 3 - 18 LDP 10.0.2.4 3 diff --git a/tests/topotests/ldp-topo1/r2/ip_mpls_route.ref-1 b/tests/topotests/ldp-topo1/r2/ip_mpls_route.ref-1 new file mode 100644 index 0000000000..007ef6f0a5 --- /dev/null +++ b/tests/topotests/ldp-topo1/r2/ip_mpls_route.ref-1 @@ -0,0 +1,5 @@ +xx proto zebra + nexthopvia inet 10.0.2.3 dev r2-eth1 weight 1 + nexthopvia inet 10.0.3.3 dev r2-eth2 weight 1 +xx via inet 10.0.1.1 dev r2-eth0 proto zebra +xx via inet 10.0.2.4 dev r2-eth1 proto zebra diff --git a/tests/topotests/ldp-topo1/r2/show_ipv4_route.ref-1 b/tests/topotests/ldp-topo1/r2/show_ipv4_route.ref-1 new file mode 100644 index 0000000000..eaec2f16b9 --- /dev/null +++ b/tests/topotests/ldp-topo1/r2/show_ipv4_route.ref-1 @@ -0,0 +1,7 @@ +O>* 1.1.1.1/32 [110/10] via 10.0.1.1, r2-eth0 +O 2.2.2.2/32 [110/0] is directly connected, lo +O>* 3.3.3.3/32 [110/10] via 10.0.2.3, r2-eth1 +O>* 4.4.4.4/32 [110/10] via 10.0.2.4, r2-eth1 +O 10.0.1.0/24 [110/10] is directly connected, r2-eth0 +O 10.0.2.0/24 [110/10] is directly connected, r2-eth1 +O 10.0.3.0/24 [110/10] is directly connected, r2-eth2 diff --git a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_binding.ref b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_binding.ref index 54ee39080a..d7df72e854 100644 --- a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_binding.ref +++ b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_binding.ref @@ -1,56 +1,22 @@ -1.1.1.1/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 1.1.1.1 imp-null - 3.3.3.3 xxx - 4.4.4.4 xxx -2.2.2.2/32 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 1.1.1.1 xxx - 3.3.3.3 xxx - 4.4.4.4 xxx -3.3.3.3/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 1.1.1.1 xxx - 3.3.3.3 imp-null - 4.4.4.4 xxx -4.4.4.4/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 1.1.1.1 xxx - 3.3.3.3 xxx - 4.4.4.4 imp-null -10.0.1.0/24 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 1.1.1.1 imp-null - 3.3.3.3 xxx - 4.4.4.4 xxx -10.0.2.0/24 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 1.1.1.1 xxx - 3.3.3.3 imp-null - 4.4.4.4 imp-null -10.0.3.0/24 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 1.1.1.1 xxx - 3.3.3.3 imp-null - 4.4.4.4 xxx +AF Destination Nexthop Local Label Remote Label In Use +ipv4 1.1.1.1/32 1.1.1.1 xxx imp-null yes +ipv4 1.1.1.1/32 3.3.3.3 xxx xxx no +ipv4 1.1.1.1/32 4.4.4.4 xxx xxx no +ipv4 2.2.2.2/32 1.1.1.1 imp-null xxx no +ipv4 2.2.2.2/32 3.3.3.3 imp-null xxx no +ipv4 2.2.2.2/32 4.4.4.4 imp-null xxx no +ipv4 3.3.3.3/32 1.1.1.1 xxx xxx no +ipv4 3.3.3.3/32 3.3.3.3 xxx imp-null yes +ipv4 3.3.3.3/32 4.4.4.4 xxx xxx no +ipv4 4.4.4.4/32 1.1.1.1 xxx xxx no +ipv4 4.4.4.4/32 3.3.3.3 xxx xxx no +ipv4 4.4.4.4/32 4.4.4.4 xxx imp-null yes +ipv4 10.0.1.0/24 1.1.1.1 imp-null imp-null no +ipv4 10.0.1.0/24 3.3.3.3 imp-null xxx no +ipv4 10.0.1.0/24 4.4.4.4 imp-null xxx no +ipv4 10.0.2.0/24 1.1.1.1 imp-null xxx no +ipv4 10.0.2.0/24 3.3.3.3 imp-null imp-null no +ipv4 10.0.2.0/24 4.4.4.4 imp-null imp-null no +ipv4 10.0.3.0/24 1.1.1.1 imp-null xxx no +ipv4 10.0.3.0/24 3.3.3.3 imp-null imp-null no +ipv4 10.0.3.0/24 4.4.4.4 imp-null xxx no diff --git a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_binding.ref-1 b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_binding.ref-1 new file mode 100644 index 0000000000..54ee39080a --- /dev/null +++ b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_binding.ref-1 @@ -0,0 +1,56 @@ +1.1.1.1/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 1.1.1.1 imp-null + 3.3.3.3 xxx + 4.4.4.4 xxx +2.2.2.2/32 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 1.1.1.1 xxx + 3.3.3.3 xxx + 4.4.4.4 xxx +3.3.3.3/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 1.1.1.1 xxx + 3.3.3.3 imp-null + 4.4.4.4 xxx +4.4.4.4/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 1.1.1.1 xxx + 3.3.3.3 xxx + 4.4.4.4 imp-null +10.0.1.0/24 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 1.1.1.1 imp-null + 3.3.3.3 xxx + 4.4.4.4 xxx +10.0.2.0/24 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 1.1.1.1 xxx + 3.3.3.3 imp-null + 4.4.4.4 imp-null +10.0.3.0/24 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 1.1.1.1 xxx + 3.3.3.3 imp-null + 4.4.4.4 xxx diff --git a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_discovery.ref b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_discovery.ref index b1bebd7c46..6405b5e388 100644 --- a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_discovery.ref +++ b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_discovery.ref @@ -1,12 +1,4 @@ -Local LDP Identifier: 2.2.2.2:0 -Discovery Sources: - Interfaces: - r2-eth0: xmit/recv - LDP Id: 1.1.1.1:0, Transport address: 1.1.1.1 - Hold time: 15 sec - r2-eth1: xmit/recv - LDP Id: 3.3.3.3:0, Transport address: 3.3.3.3 - Hold time: 15 sec - LDP Id: 4.4.4.4:0, Transport address: 4.4.4.4 - Hold time: 15 sec - Targeted Hellos: +AF ID Type Source Holdtime +ipv4 1.1.1.1 Link r2-eth0 15 +ipv4 3.3.3.3 Link r2-eth1 15 +ipv4 4.4.4.4 Link r2-eth1 15 diff --git a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_discovery.ref-1 b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_discovery.ref-1 new file mode 100644 index 0000000000..b1bebd7c46 --- /dev/null +++ b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_discovery.ref-1 @@ -0,0 +1,12 @@ +Local LDP Identifier: 2.2.2.2:0 +Discovery Sources: + Interfaces: + r2-eth0: xmit/recv + LDP Id: 1.1.1.1:0, Transport address: 1.1.1.1 + Hold time: 15 sec + r2-eth1: xmit/recv + LDP Id: 3.3.3.3:0, Transport address: 3.3.3.3 + Hold time: 15 sec + LDP Id: 4.4.4.4:0, Transport address: 4.4.4.4 + Hold time: 15 sec + Targeted Hellos: diff --git a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_interface.ref-1 b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_interface.ref-1 new file mode 100644 index 0000000000..f9fc98408c --- /dev/null +++ b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_interface.ref-1 @@ -0,0 +1,3 @@ +AF Interface State Uptime Hello Timers ac +ipv4 r2-eth0 ACTIVE xx:xx:xx 5/15 1 +ipv4 r2-eth1 ACTIVE xx:xx:xx 5/15 2 diff --git a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_neighbor.ref b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_neighbor.ref index a70e2f48c6..1172cbfc2b 100644 --- a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_neighbor.ref +++ b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_neighbor.ref @@ -1,26 +1,4 @@ -Peer LDP Identifier: 1.1.1.1:0 - TCP connection: 2.2.2.2:xxx - 1.1.1.1:xxx - Session Holdtime: 180 sec - State: OPERATIONAL; Downstream-Unsolicited - Up time: xx:xx:xx - LDP Discovery Sources: - IPv4: - Interface: r2-eth0 - -Peer LDP Identifier: 3.3.3.3:0 - TCP connection: 2.2.2.2:xxx - 3.3.3.3:xxx - Session Holdtime: 180 sec - State: OPERATIONAL; Downstream-Unsolicited - Up time: xx:xx:xx - LDP Discovery Sources: - IPv4: - Interface: r2-eth1 - -Peer LDP Identifier: 4.4.4.4:0 - TCP connection: 2.2.2.2:xxx - 4.4.4.4:xxx - Session Holdtime: 180 sec - State: OPERATIONAL; Downstream-Unsolicited - Up time: xx:xx:xx - LDP Discovery Sources: - IPv4: - Interface: r2-eth1 +AF ID State Remote Address Uptime +ipv4 1.1.1.1 OPERATIONAL 1.1.1.1 xx:xx:xx +ipv4 3.3.3.3 OPERATIONAL 3.3.3.3 xx:xx:xx +ipv4 4.4.4.4 OPERATIONAL 4.4.4.4 xx:xx:xx diff --git a/tests/topotests/ldp-topo1/r2/show_mpls_ldp_neighbor.ref-1 b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_neighbor.ref-1 new file mode 100644 index 0000000000..a70e2f48c6 --- /dev/null +++ b/tests/topotests/ldp-topo1/r2/show_mpls_ldp_neighbor.ref-1 @@ -0,0 +1,26 @@ +Peer LDP Identifier: 1.1.1.1:0 + TCP connection: 2.2.2.2:xxx - 1.1.1.1:xxx + Session Holdtime: 180 sec + State: OPERATIONAL; Downstream-Unsolicited + Up time: xx:xx:xx + LDP Discovery Sources: + IPv4: + Interface: r2-eth0 + +Peer LDP Identifier: 3.3.3.3:0 + TCP connection: 2.2.2.2:xxx - 3.3.3.3:xxx + Session Holdtime: 180 sec + State: OPERATIONAL; Downstream-Unsolicited + Up time: xx:xx:xx + LDP Discovery Sources: + IPv4: + Interface: r2-eth1 + +Peer LDP Identifier: 4.4.4.4:0 + TCP connection: 2.2.2.2:xxx - 4.4.4.4:xxx + Session Holdtime: 180 sec + State: OPERATIONAL; Downstream-Unsolicited + Up time: xx:xx:xx + LDP Discovery Sources: + IPv4: + Interface: r2-eth1 diff --git a/tests/topotests/ldp-topo1/r2/show_mpls_table.ref-1 b/tests/topotests/ldp-topo1/r2/show_mpls_table.ref-1 new file mode 100644 index 0000000000..ba244e76ec --- /dev/null +++ b/tests/topotests/ldp-topo1/r2/show_mpls_table.ref-1 @@ -0,0 +1,7 @@ + Inbound Outbound + Label Type Nexthop Label +-------- ------- --------------- -------- + XX LDP 10.0.1.1 3 + XX LDP 10.0.2.3 3 + XX LDP 10.0.2.4 3 + XX LDP 10.0.3.3 3 diff --git a/tests/topotests/ldp-topo1/r3/ip_mpls_route.ref-1 b/tests/topotests/ldp-topo1/r3/ip_mpls_route.ref-1 new file mode 100644 index 0000000000..680fcf26fd --- /dev/null +++ b/tests/topotests/ldp-topo1/r3/ip_mpls_route.ref-1 @@ -0,0 +1,10 @@ +xx proto zebra + nexthopvia inet 10.0.2.2 dev r3-eth0 weight 1 + nexthopvia inet 10.0.3.2 dev r3-eth1 weight 1 +xx proto zebra + nexthopvia inet 10.0.2.2 dev r3-eth0 weight 1 + nexthopvia inet 10.0.3.2 dev r3-eth1 weight 1 +xx proto zebra + nexthopvia inet 10.0.2.2 dev r3-eth0 weight 1 + nexthopvia inet 10.0.3.2 dev r3-eth1 weight 1 +xx via inet 10.0.2.4 dev r3-eth0 proto zebra diff --git a/tests/topotests/ldp-topo1/r3/show_ipv4_route.ref-1 b/tests/topotests/ldp-topo1/r3/show_ipv4_route.ref-1 new file mode 100644 index 0000000000..f6e6199310 --- /dev/null +++ b/tests/topotests/ldp-topo1/r3/show_ipv4_route.ref-1 @@ -0,0 +1,7 @@ +O>* 1.1.1.1/32 [110/20] via 10.0.2.2, r3-eth0 label xxx +O>* 2.2.2.2/32 [110/10] via 10.0.2.2, r3-eth0 +O 3.3.3.3/32 [110/0] is directly connected, lo +O>* 4.4.4.4/32 [110/10] via 10.0.2.4, r3-eth0 +O>* 10.0.1.0/24 [110/20] via 10.0.2.2, r3-eth0 +O 10.0.2.0/24 [110/10] is directly connected, r3-eth0 +O 10.0.3.0/24 [110/10] is directly connected, r3-eth1 diff --git a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_binding.ref b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_binding.ref index e04d2b7e4a..058a245f59 100644 --- a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_binding.ref +++ b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_binding.ref @@ -1,49 +1,15 @@ -1.1.1.1/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx - 4.4.4.4 xxx -2.2.2.2/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null - 4.4.4.4 xxx -3.3.3.3/32 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx - 4.4.4.4 xxx -4.4.4.4/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx - 4.4.4.4 imp-null -10.0.1.0/24 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null - 4.4.4.4 xxx -10.0.2.0/24 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null - 4.4.4.4 imp-null -10.0.3.0/24 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null - 4.4.4.4 xxx +AF Destination Nexthop Local Label Remote Label In Use +ipv4 1.1.1.1/32 2.2.2.2 xxx xxx yes +ipv4 1.1.1.1/32 4.4.4.4 xxx xxx no +ipv4 2.2.2.2/32 2.2.2.2 xxx imp-null yes +ipv4 2.2.2.2/32 4.4.4.4 xxx xxx no +ipv4 3.3.3.3/32 2.2.2.2 imp-null xxx no +ipv4 3.3.3.3/32 4.4.4.4 imp-null xxx no +ipv4 4.4.4.4/32 2.2.2.2 xxx xxx no +ipv4 4.4.4.4/32 4.4.4.4 xxx imp-null yes +ipv4 10.0.1.0/24 2.2.2.2 xxx imp-null yes +ipv4 10.0.1.0/24 4.4.4.4 xxx xxx no +ipv4 10.0.2.0/24 2.2.2.2 imp-null imp-null no +ipv4 10.0.2.0/24 4.4.4.4 imp-null imp-null no +ipv4 10.0.3.0/24 2.2.2.2 imp-null imp-null no +ipv4 10.0.3.0/24 4.4.4.4 imp-null xxx no diff --git a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_binding.ref-1 b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_binding.ref-1 new file mode 100644 index 0000000000..e04d2b7e4a --- /dev/null +++ b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_binding.ref-1 @@ -0,0 +1,49 @@ +1.1.1.1/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx + 4.4.4.4 xxx +2.2.2.2/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null + 4.4.4.4 xxx +3.3.3.3/32 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx + 4.4.4.4 xxx +4.4.4.4/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx + 4.4.4.4 imp-null +10.0.1.0/24 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null + 4.4.4.4 xxx +10.0.2.0/24 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null + 4.4.4.4 imp-null +10.0.3.0/24 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null + 4.4.4.4 xxx diff --git a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_discovery.ref b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_discovery.ref index 5e299fff9c..e3dbf06c2e 100644 --- a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_discovery.ref +++ b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_discovery.ref @@ -1,9 +1,3 @@ -Local LDP Identifier: 3.3.3.3:0 -Discovery Sources: - Interfaces: - r3-eth0: xmit/recv - LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2 - Hold time: 15 sec - LDP Id: 4.4.4.4:0, Transport address: 4.4.4.4 - Hold time: 15 sec - Targeted Hellos: +AF ID Type Source Holdtime +ipv4 2.2.2.2 Link r3-eth0 15 +ipv4 4.4.4.4 Link r3-eth0 15 diff --git a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_discovery.ref-1 b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_discovery.ref-1 new file mode 100644 index 0000000000..5e299fff9c --- /dev/null +++ b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_discovery.ref-1 @@ -0,0 +1,9 @@ +Local LDP Identifier: 3.3.3.3:0 +Discovery Sources: + Interfaces: + r3-eth0: xmit/recv + LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2 + Hold time: 15 sec + LDP Id: 4.4.4.4:0, Transport address: 4.4.4.4 + Hold time: 15 sec + Targeted Hellos: diff --git a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_interface.ref-1 b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_interface.ref-1 new file mode 100644 index 0000000000..243811e3a9 --- /dev/null +++ b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_interface.ref-1 @@ -0,0 +1,2 @@ +AF Interface State Uptime Hello Timers ac +ipv4 r3-eth0 ACTIVE xx:xx:xx 5/15 2 diff --git a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_neighbor.ref b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_neighbor.ref index ee1983ac29..769f78277b 100644 --- a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_neighbor.ref +++ b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_neighbor.ref @@ -1,17 +1,3 @@ -Peer LDP Identifier: 2.2.2.2:0 - TCP connection: 3.3.3.3:xxx - 2.2.2.2:xxx - Session Holdtime: 180 sec - State: OPERATIONAL; Downstream-Unsolicited - Up time: xx:xx:xx - LDP Discovery Sources: - IPv4: - Interface: r3-eth0 - -Peer LDP Identifier: 4.4.4.4:0 - TCP connection: 3.3.3.3:xxx - 4.4.4.4:xxx - Session Holdtime: 180 sec - State: OPERATIONAL; Downstream-Unsolicited - Up time: xx:xx:xx - LDP Discovery Sources: - IPv4: - Interface: r3-eth0 +AF ID State Remote Address Uptime +ipv4 2.2.2.2 OPERATIONAL 2.2.2.2 xx:xx:xx +ipv4 4.4.4.4 OPERATIONAL 4.4.4.4 xx:xx:xx diff --git a/tests/topotests/ldp-topo1/r3/show_mpls_ldp_neighbor.ref-1 b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_neighbor.ref-1 new file mode 100644 index 0000000000..ee1983ac29 --- /dev/null +++ b/tests/topotests/ldp-topo1/r3/show_mpls_ldp_neighbor.ref-1 @@ -0,0 +1,17 @@ +Peer LDP Identifier: 2.2.2.2:0 + TCP connection: 3.3.3.3:xxx - 2.2.2.2:xxx + Session Holdtime: 180 sec + State: OPERATIONAL; Downstream-Unsolicited + Up time: xx:xx:xx + LDP Discovery Sources: + IPv4: + Interface: r3-eth0 + +Peer LDP Identifier: 4.4.4.4:0 + TCP connection: 3.3.3.3:xxx - 4.4.4.4:xxx + Session Holdtime: 180 sec + State: OPERATIONAL; Downstream-Unsolicited + Up time: xx:xx:xx + LDP Discovery Sources: + IPv4: + Interface: r3-eth0 diff --git a/tests/topotests/ldp-topo1/r3/show_mpls_table.ref-1 b/tests/topotests/ldp-topo1/r3/show_mpls_table.ref-1 new file mode 100644 index 0000000000..9198969bd5 --- /dev/null +++ b/tests/topotests/ldp-topo1/r3/show_mpls_table.ref-1 @@ -0,0 +1,10 @@ + Inbound Outbound + Label Type Nexthop Label +-------- ------- --------------- -------- + XX LDP 10.0.2.2 3 + XX LDP 10.0.2.2 3 + XX LDP 10.0.2.2 XX + XX LDP 10.0.2.4 3 + XX LDP 10.0.3.2 3 + XX LDP 10.0.3.2 3 + XX LDP 10.0.3.2 XX diff --git a/tests/topotests/ldp-topo1/r4/ip_mpls_route.ref-1 b/tests/topotests/ldp-topo1/r4/ip_mpls_route.ref-1 new file mode 100644 index 0000000000..7fdb057345 --- /dev/null +++ b/tests/topotests/ldp-topo1/r4/ip_mpls_route.ref-1 @@ -0,0 +1,7 @@ +xx proto zebra + nexthopvia inet 10.0.2.2 dev r4-eth0 weight 1 + nexthopvia inet 10.0.2.3 dev r4-eth0 weight 1 +xx as to xx via inet 10.0.2.2 dev r4-eth0 proto zebra +xx via inet 10.0.2.2 dev r4-eth0 proto zebra +xx via inet 10.0.2.2 dev r4-eth0 proto zebra +xx via inet 10.0.2.3 dev r4-eth0 proto zebra diff --git a/tests/topotests/ldp-topo1/r4/show_ipv4_route.ref-1 b/tests/topotests/ldp-topo1/r4/show_ipv4_route.ref-1 new file mode 100644 index 0000000000..bcef173a64 --- /dev/null +++ b/tests/topotests/ldp-topo1/r4/show_ipv4_route.ref-1 @@ -0,0 +1,7 @@ +O>* 1.1.1.1/32 [110/20] via 10.0.2.2, r4-eth0 label xxx +O>* 2.2.2.2/32 [110/10] via 10.0.2.2, r4-eth0 +O>* 3.3.3.3/32 [110/10] via 10.0.2.3, r4-eth0 +O 4.4.4.4/32 [110/0] is directly connected, lo +O>* 10.0.1.0/24 [110/20] via 10.0.2.2, r4-eth0 +O 10.0.2.0/24 [110/10] is directly connected, r4-eth0 +O>* 10.0.3.0/24 [110/20] via 10.0.2.2, r4-eth0 diff --git a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_binding.ref b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_binding.ref index 3d55805d7c..1e9dfa3d16 100644 --- a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_binding.ref +++ b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_binding.ref @@ -1,49 +1,15 @@ -1.1.1.1/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx - 3.3.3.3 xxx -2.2.2.2/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null - 3.3.3.3 xxx -3.3.3.3/32 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx - 3.3.3.3 imp-null -4.4.4.4/32 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 xxx - 3.3.3.3 xxx -10.0.1.0/24 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null - 3.3.3.3 xxx -10.0.2.0/24 - Local binding: label: imp-null - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null - 3.3.3.3 imp-null -10.0.3.0/24 - Local binding: label: xxx - Remote bindings: - Peer Label - ----------------- --------- - 2.2.2.2 imp-null - 3.3.3.3 imp-null +AF Destination Nexthop Local Label Remote Label In Use +ipv4 1.1.1.1/32 2.2.2.2 xxx xxx yes +ipv4 1.1.1.1/32 3.3.3.3 xxx xxx no +ipv4 2.2.2.2/32 2.2.2.2 xxx imp-null yes +ipv4 2.2.2.2/32 3.3.3.3 xxx xxx no +ipv4 3.3.3.3/32 2.2.2.2 xxx xxx no +ipv4 3.3.3.3/32 3.3.3.3 xxx imp-null yes +ipv4 4.4.4.4/32 2.2.2.2 imp-null xxx no +ipv4 4.4.4.4/32 3.3.3.3 imp-null xxx no +ipv4 10.0.1.0/24 2.2.2.2 xxx imp-null yes +ipv4 10.0.1.0/24 3.3.3.3 xxx xxx no +ipv4 10.0.2.0/24 2.2.2.2 imp-null imp-null no +ipv4 10.0.2.0/24 3.3.3.3 imp-null imp-null no +ipv4 10.0.3.0/24 2.2.2.2 xxx imp-null yes +ipv4 10.0.3.0/24 3.3.3.3 xxx imp-null yes diff --git a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_binding.ref-1 b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_binding.ref-1 new file mode 100644 index 0000000000..3d55805d7c --- /dev/null +++ b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_binding.ref-1 @@ -0,0 +1,49 @@ +1.1.1.1/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx + 3.3.3.3 xxx +2.2.2.2/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null + 3.3.3.3 xxx +3.3.3.3/32 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx + 3.3.3.3 imp-null +4.4.4.4/32 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 xxx + 3.3.3.3 xxx +10.0.1.0/24 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null + 3.3.3.3 xxx +10.0.2.0/24 + Local binding: label: imp-null + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null + 3.3.3.3 imp-null +10.0.3.0/24 + Local binding: label: xxx + Remote bindings: + Peer Label + ----------------- --------- + 2.2.2.2 imp-null + 3.3.3.3 imp-null diff --git a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_discovery.ref b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_discovery.ref index 3ebddd606a..a7026570db 100644 --- a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_discovery.ref +++ b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_discovery.ref @@ -1,9 +1,3 @@ -Local LDP Identifier: 4.4.4.4:0 -Discovery Sources: - Interfaces: - r4-eth0: xmit/recv - LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2 - Hold time: 15 sec - LDP Id: 3.3.3.3:0, Transport address: 3.3.3.3 - Hold time: 15 sec - Targeted Hellos: +AF ID Type Source Holdtime +ipv4 2.2.2.2 Link r4-eth0 15 +ipv4 3.3.3.3 Link r4-eth0 15 diff --git a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_discovery.ref-1 b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_discovery.ref-1 new file mode 100644 index 0000000000..3ebddd606a --- /dev/null +++ b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_discovery.ref-1 @@ -0,0 +1,9 @@ +Local LDP Identifier: 4.4.4.4:0 +Discovery Sources: + Interfaces: + r4-eth0: xmit/recv + LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2 + Hold time: 15 sec + LDP Id: 3.3.3.3:0, Transport address: 3.3.3.3 + Hold time: 15 sec + Targeted Hellos: diff --git a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_interface.ref-1 b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_interface.ref-1 new file mode 100644 index 0000000000..dd57656f15 --- /dev/null +++ b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_interface.ref-1 @@ -0,0 +1,2 @@ +AF Interface State Uptime Hello Timers ac +ipv4 r4-eth0 ACTIVE xx:xx:xx 5/15 2 diff --git a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_neighbor.ref b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_neighbor.ref index fb0e7d7dfa..7c60522f9b 100644 --- a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_neighbor.ref +++ b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_neighbor.ref @@ -1,17 +1,3 @@ -Peer LDP Identifier: 2.2.2.2:0 - TCP connection: 4.4.4.4:xxx - 2.2.2.2:xxx - Session Holdtime: 180 sec - State: OPERATIONAL; Downstream-Unsolicited - Up time: xx:xx:xx - LDP Discovery Sources: - IPv4: - Interface: r4-eth0 - -Peer LDP Identifier: 3.3.3.3:0 - TCP connection: 4.4.4.4:xxx - 3.3.3.3:xxx - Session Holdtime: 180 sec - State: OPERATIONAL; Downstream-Unsolicited - Up time: xx:xx:xx - LDP Discovery Sources: - IPv4: - Interface: r4-eth0 +AF ID State Remote Address Uptime +ipv4 2.2.2.2 OPERATIONAL 2.2.2.2 xx:xx:xx +ipv4 3.3.3.3 OPERATIONAL 3.3.3.3 xx:xx:xx diff --git a/tests/topotests/ldp-topo1/r4/show_mpls_ldp_neighbor.ref-1 b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_neighbor.ref-1 new file mode 100644 index 0000000000..fb0e7d7dfa --- /dev/null +++ b/tests/topotests/ldp-topo1/r4/show_mpls_ldp_neighbor.ref-1 @@ -0,0 +1,17 @@ +Peer LDP Identifier: 2.2.2.2:0 + TCP connection: 4.4.4.4:xxx - 2.2.2.2:xxx + Session Holdtime: 180 sec + State: OPERATIONAL; Downstream-Unsolicited + Up time: xx:xx:xx + LDP Discovery Sources: + IPv4: + Interface: r4-eth0 + +Peer LDP Identifier: 3.3.3.3:0 + TCP connection: 4.4.4.4:xxx - 3.3.3.3:xxx + Session Holdtime: 180 sec + State: OPERATIONAL; Downstream-Unsolicited + Up time: xx:xx:xx + LDP Discovery Sources: + IPv4: + Interface: r4-eth0 diff --git a/tests/topotests/ldp-topo1/r4/show_mpls_table.ref-1 b/tests/topotests/ldp-topo1/r4/show_mpls_table.ref-1 new file mode 100644 index 0000000000..b8cf5a2702 --- /dev/null +++ b/tests/topotests/ldp-topo1/r4/show_mpls_table.ref-1 @@ -0,0 +1,9 @@ + Inbound Outbound + Label Type Nexthop Label +-------- ------- --------------- -------- + XX LDP 10.0.2.2 3 + XX LDP 10.0.2.2 3 + XX LDP 10.0.2.2 3 + XX LDP 10.0.2.2 XX + XX LDP 10.0.2.3 3 + XX LDP 10.0.2.3 3 diff --git a/tests/topotests/ldp-topo1/test_ldp_topo1.py b/tests/topotests/ldp-topo1/test_ldp_topo1.py index 2db7cbe5f4..956e62addf 100755 --- a/tests/topotests/ldp-topo1/test_ldp_topo1.py +++ b/tests/topotests/ldp-topo1/test_ldp_topo1.py @@ -78,6 +78,12 @@ from lib import topotest fatal_error = "" +# Expected version of CLI Output - Appendix to filename +# empty string = current, latest output (default) +# "-1" ... "-NNN" previous versions (incrementing with each version) +cli_version = "" + + ##################################################### ## ## Network Topology Definition @@ -159,6 +165,7 @@ def teardown_module(module): def test_router_running(): global fatal_error global net + global cli_version # Skip if previous fatal error condition is raised if (fatal_error != ""): @@ -173,12 +180,35 @@ def test_router_running(): fatal_error = net['r%s' % i].checkRouterRunning() assert fatal_error == "", fatal_error + # Detect CLI Version + # At this time, there are only 2 possible outputs, so simple check + output = net['r1'].cmd('vtysh -c "show mpls ldp discovery" 2> /dev/null').rstrip() + + # Check if old or new format of CLI Output. Default is to current format + # + # Old (v1) output looks like this: + # Local LDP Identifier: 1.1.1.1:0 + # Discovery Sources: + # Interfaces: + # r1-eth0: xmit/recv + # LDP Id: 2.2.2.2:0, Transport address: 2.2.2.2 + # Hold time: 15 sec + # Targeted Hellos: + # + # Current (v0) output looks like this: + # AF ID Type Source Holdtime + # ipv4 2.2.2.2 Link r1-eth0 15 + pattern = re.compile("^Local LDP Identifier.*") + if pattern.match(output): + cli_version = "-1" + # For debugging after starting FRR/Quagga daemons, uncomment the next line # CLI(net) def test_mpls_interfaces(): global fatal_error global net + global cli_version # Skip if previous fatal error condition is raised if (fatal_error != ""): @@ -191,7 +221,7 @@ def test_mpls_interfaces(): print("******************************************\n") failures = 0 for i in range(1, 5): - refTableFile = '%s/r%s/show_mpls_ldp_interface.ref' % (thisDir, i) + refTableFile = '%s/r%s/show_mpls_ldp_interface.ref%s' % (thisDir, i, cli_version) if os.path.isfile(refTableFile): # Read expected result from file expected = open(refTableFile).read().rstrip() @@ -229,6 +259,7 @@ def test_mpls_interfaces(): def test_mpls_ldp_neighbor_establish(): global fatal_error global net + global cli_version # Skip if previous fatal error condition is raised if (fatal_error != ""): @@ -243,7 +274,23 @@ def test_mpls_ldp_neighbor_establish(): sys.stdout.flush() # Look for any node not yet converged for i in range(1, 5): - established = net['r%s' % i].cmd('vtysh -c "show mpls ldp neighbor" 2> /dev/null') + established = net['r%s' % i].cmd('vtysh -c "show mpls ldp neighbor" 2> /dev/null').rstrip() + if cli_version != "-1": + # On current version, we need to make sure they all turn to OPERATIONAL on all lines + # + lines = ('\n'.join(established.splitlines()) + '\n').splitlines(1) + # Check all lines to be either table header (starting with ^AF or show OPERATIONAL) + header = r'^AF.*' + operational = r'^ip.*OPERATIONAL.*' + found_operational = 0 + for j in range(1, len(lines)): + if (not re.search(header, lines[j])) and (not re.search(operational, lines[j])): + established = "" # Empty string shows NOT established + if re.search(operational, lines[j]): + found_operational += 1 + if found_operational < 1: + # Need at least one operational neighbor + established = "" # Empty string shows NOT established if not established: print('Waiting for r%s' %i) sys.stdout.flush() @@ -270,6 +317,7 @@ def test_mpls_ldp_neighbor_establish(): def test_mpls_ldp_discovery(): global fatal_error global net + global cli_version # Skip if previous fatal error condition is raised if (fatal_error != ""): @@ -282,8 +330,11 @@ def test_mpls_ldp_discovery(): print("******************************************\n") failures = 0 for i in range(1, 5): - refTableFile = '%s/r%s/show_mpls_ldp_discovery.ref' % (thisDir, i) + refTableFile = '%s/r%s/show_mpls_ldp_discovery.ref%s' % (thisDir, i, cli_version) if os.path.isfile(refTableFile): + # Actual output from router + actual = net['r%s' % i].cmd('vtysh -c "show mpls ldp discovery" 2> /dev/null').rstrip() + # Read expected result from file expected = open(refTableFile).read().rstrip() # Fix newlines (make them all the same) @@ -316,6 +367,7 @@ def test_mpls_ldp_discovery(): def test_mpls_ldp_neighbor(): global fatal_error global net + global cli_version # Skip if previous fatal error condition is raised if (fatal_error != ""): @@ -328,7 +380,7 @@ def test_mpls_ldp_neighbor(): print("******************************************\n") failures = 0 for i in range(1, 5): - refTableFile = '%s/r%s/show_mpls_ldp_neighbor.ref' % (thisDir, i) + refTableFile = '%s/r%s/show_mpls_ldp_neighbor.ref%s' % (thisDir, i, cli_version) if os.path.isfile(refTableFile): # Read expected result from file expected = open(refTableFile).read().rstrip() @@ -337,11 +389,19 @@ def test_mpls_ldp_neighbor(): # Actual output from router actual = net['r%s' % i].cmd('vtysh -c "show mpls ldp neighbor" 2> /dev/null').rstrip() - # Mask out Timer in Uptime - actual = re.sub(r"Up time: [0-9][0-9]:[0-9][0-9]:[0-9][0-9]", "Up time: xx:xx:xx", actual) - # Mask out Port numbers in TCP connection - actual = re.sub(r"TCP connection: ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]):[0-9]+ - ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]):[0-9]+", - r"TCP connection: \1:xxx - \2:xxx", actual) + + # Mask out changing parts in output + if cli_version == "-1": + # Mask out Timer in Uptime + actual = re.sub(r"Up time: [0-9][0-9]:[0-9][0-9]:[0-9][0-9]", "Up time: xx:xx:xx", actual) + # Mask out Port numbers in TCP connection + actual = re.sub(r"TCP connection: ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]):[0-9]+ - ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]):[0-9]+", + r"TCP connection: \1:xxx - \2:xxx", actual) + else: + # Current Version + # + # Mask out Timer in Uptime + actual = re.sub(r"(ipv4 [0-9\.]+ +OPERATIONAL [0-9\.]+ +)[0-9][0-9]:[0-9][0-9]:[0-9][0-9]", r"\1xx:xx:xx", actual) # Fix newlines (make them all the same) actual = ('\n'.join(actual.splitlines()) + '\n').splitlines(1) @@ -367,6 +427,7 @@ def test_mpls_ldp_neighbor(): def test_mpls_ldp_binding(): global fatal_error global net + global cli_version # Skip this test for now until proper sorting of the output # is implemented @@ -383,7 +444,7 @@ def test_mpls_ldp_binding(): print("******************************************\n") failures = 0 for i in range(1, 5): - refTableFile = '%s/r%s/show_mpls_ldp_binding.ref' % (thisDir, i) + refTableFile = '%s/r%s/show_mpls_ldp_binding.ref%s' % (thisDir, i, cli_version) if os.path.isfile(refTableFile): # Read expected result from file expected = open(refTableFile).read().rstrip() @@ -392,10 +453,19 @@ def test_mpls_ldp_binding(): # Actual output from router actual = net['r%s' % i].cmd('vtysh -c "show mpls ldp binding" 2> /dev/null').rstrip() - # Mask out label - actual = re.sub(r"label: [0-9]+", "label: xxx", actual) - actual = re.sub(r"(\s+[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+[ ]+)[0-9]+", r"\1xxx", actual) - + + # Mask out changing parts in output + if cli_version == "-1": + # Mask out label + actual = re.sub(r"label: [0-9]+", "label: xxx", actual) + actual = re.sub(r"(\s+[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+[ ]+)[0-9]+", r"\1xxx", actual) + else: + # Current Version + # + # Mask out label + actual = re.sub(r"(ipv4 [0-9\./]+ +[0-9\.]+ +)[0-9][0-9] (.*)", r"\1xxx\2", actual) + actual = re.sub(r"(ipv4 [0-9\./]+ +[0-9\.]+ +[a-z\-]+ +)[0-9][0-9] (.*)", r"\1xxx\2", actual) + # Fix newlines (make them all the same) actual = ('\n'.join(actual.splitlines()) + '\n').splitlines(1) @@ -433,6 +503,7 @@ def test_mpls_ldp_binding(): def test_zebra_ipv4_routingTable(): global fatal_error global net + global cli_version # Skip if previous fatal error condition is raised if (fatal_error != ""): @@ -445,7 +516,7 @@ def test_zebra_ipv4_routingTable(): print("******************************************\n") failures = 0 for i in range(1, 5): - refTableFile = '%s/r%s/show_ipv4_route.ref' % (thisDir, i) + refTableFile = '%s/r%s/show_ipv4_route.ref%s' % (thisDir, i, cli_version) if os.path.isfile(refTableFile): # Read expected result from file expected = open(refTableFile).read().rstrip() @@ -483,6 +554,7 @@ def test_zebra_ipv4_routingTable(): def test_mpls_table(): global fatal_error global net + global cli_version # Skip if previous fatal error condition is raised if (fatal_error != ""): @@ -495,7 +567,7 @@ def test_mpls_table(): print("******************************************\n") failures = 0 for i in range(1, 5): - refTableFile = '%s/r%s/show_mpls_table.ref' % (thisDir, i) + refTableFile = '%s/r%s/show_mpls_table.ref%s' % (thisDir, i, cli_version) if os.path.isfile(refTableFile): # Read expected result from file expected = open(refTableFile).read().rstrip() @@ -547,6 +619,7 @@ def test_mpls_table(): def test_linux_mpls_routes(): global fatal_error global net + global cli_version # Skip if previous fatal error condition is raised if (fatal_error != ""): @@ -559,7 +632,7 @@ def test_linux_mpls_routes(): print("******************************************\n") failures = 0 for i in range(1, 5): - refTableFile = '%s/r%s/ip_mpls_route.ref' % (thisDir, i) + refTableFile = '%s/r%s/ip_mpls_route.ref%s' % (thisDir, i, cli_version) if os.path.isfile(refTableFile): # Read expected result from file expected = open(refTableFile).read().rstrip()