]> git.puffer.fish Git - mirror/frr.git/commitdiff
topotests: check route import in bgp_vpnv4_noretain 14400/head
authorLouis Scalbert <louis.scalbert@6wind.com>
Tue, 12 Sep 2023 11:30:57 +0000 (13:30 +0200)
committerLouis Scalbert <louis.scalbert@6wind.com>
Tue, 12 Sep 2023 13:18:02 +0000 (15:18 +0200)
Check route import in bgp_vpnv4_noretain

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_init.json [new file with mode: 0644]
tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r1_vrf1.json [new file with mode: 0644]
tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r2_vrf2.json [new file with mode: 0644]
tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r2_vrf3.json [new file with mode: 0644]
tests/topotests/bgp_vpnv4_noretain/test_bgp_vpnv4_noretain.py

diff --git a/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_init.json b/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_init.json
new file mode 100644 (file)
index 0000000..2769c6e
--- /dev/null
@@ -0,0 +1,156 @@
+{
+  "default": {
+    "vrfName": "default",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.204.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.204.0.0",
+          "prefixLen": 24,
+          "network": "10.204.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf1": {
+    "vrfName": "vrf1",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.101.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.101.0.0",
+          "prefixLen": 24,
+          "network": "10.101.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ],
+      "10.201.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.201.0.0",
+          "prefixLen": 24,
+          "network": "10.201.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf3": {
+    "vrfName": "vrf3",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.103.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.103.0.0",
+          "prefixLen": 24,
+          "network": "10.103.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf4": {
+    "vrfName": "vrf4",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.103.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.103.0.0",
+          "prefixLen": 24,
+          "network": "10.103.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "vrf3",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r1_vrf1.json b/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r1_vrf1.json
new file mode 100644 (file)
index 0000000..488dc4a
--- /dev/null
@@ -0,0 +1,190 @@
+{
+  "default": {
+    "vrfName": "default",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.204.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.204.0.0",
+          "prefixLen": 24,
+          "network": "10.204.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf1": {
+    "vrfName": "vrf1",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.101.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.101.0.0",
+          "prefixLen": 24,
+          "network": "10.101.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ],
+      "10.201.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.201.0.0",
+          "prefixLen": 24,
+          "network": "10.201.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf3": {
+    "vrfName": "vrf3",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.103.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.103.0.0",
+          "prefixLen": 24,
+          "network": "10.103.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf4": {
+    "vrfName": "vrf4",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.103.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.103.0.0",
+          "prefixLen": 24,
+          "network": "10.103.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "vrf3",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf2": {
+    "vrfName": "vrf2",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.101.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.101.0.0",
+          "prefixLen": 24,
+          "network": "10.101.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "vrf1",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r2_vrf2.json b/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r2_vrf2.json
new file mode 100644 (file)
index 0000000..b751756
--- /dev/null
@@ -0,0 +1,188 @@
+{
+  "default": {
+    "vrfName": "default",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.204.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.204.0.0",
+          "prefixLen": 24,
+          "network": "10.204.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf1": {
+    "vrfName": "vrf1",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.101.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.101.0.0",
+          "prefixLen": 24,
+          "network": "10.101.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ],
+      "10.201.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.201.0.0",
+          "prefixLen": 24,
+          "network": "10.201.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf3": {
+    "vrfName": "vrf3",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.103.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.103.0.0",
+          "prefixLen": 24,
+          "network": "10.103.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf4": {
+    "vrfName": "vrf4",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.103.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.103.0.0",
+          "prefixLen": 24,
+          "network": "10.103.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "vrf3",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf2": {
+    "vrfName": "vrf2",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.202.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.202.0.0",
+          "prefixLen": 24,
+          "network": "10.202.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  }
+}
diff --git a/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r2_vrf3.json b/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vrf_all_routes_plus_r2_vrf3.json
new file mode 100644 (file)
index 0000000..49d4066
--- /dev/null
@@ -0,0 +1,188 @@
+{
+  "default": {
+    "vrfName": "default",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.204.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.204.0.0",
+          "prefixLen": 24,
+          "network": "10.204.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf1": {
+    "vrfName": "vrf1",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.101.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.101.0.0",
+          "prefixLen": 24,
+          "network": "10.101.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ],
+      "10.201.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.201.0.0",
+          "prefixLen": 24,
+          "network": "10.201.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf3": {
+    "vrfName": "vrf3",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.103.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.103.0.0",
+          "prefixLen": 24,
+          "network": "10.103.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf4": {
+    "vrfName": "vrf4",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.103.0.0/24": [
+        {
+          "valid": true,
+          "bestpath": true,
+          "selectionReason": "First path received",
+          "pathFrom": "external",
+          "prefix": "10.103.0.0",
+          "prefixLen": 24,
+          "network": "10.103.0.0/24",
+          "metric": 0,
+          "weight": 32768,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "vrf3",
+          "nexthops": [
+            {
+              "ip": "0.0.0.0",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  },
+  "vrf2": {
+    "vrfName": "vrf2",
+    "routerId": "192.0.2.1",
+    "defaultLocPrf": 100,
+    "localAS": 65500,
+    "routes": {
+      "10.203.0.0/24": [
+        {
+          "pathFrom": "external",
+          "prefix": "10.203.0.0",
+          "prefixLen": 24,
+          "network": "10.203.0.0/24",
+          "metric": 0,
+          "locPrf": 100,
+          "weight": 0,
+          "peerId": "(unspec)",
+          "path": "",
+          "origin": "incomplete",
+          "announceNexthopSelf": true,
+          "nhVrfName": "default",
+          "nexthops": [
+            {
+              "ip": "10.125.0.2",
+              "hostname": "r1",
+              "afi": "ipv4",
+              "used": true
+            }
+          ]
+        }
+      ]
+    }
+  }
+}
index 5a809987ff8cc919d81b35f596c8bc0d14cc881d..037dd4039085df452bafbc43f4539fc1dbb9e1d7 100644 (file)
@@ -157,6 +157,36 @@ def router_json_cmp_exact_filter(router, cmd, expected):
     return topotest.json_cmp(json_output, expected, exact=True)
 
 
+def router_vrf_json_cmp_exact_filter(router, cmd, expected):
+    output = router.vtysh_cmd(cmd)
+    logger.info("{}: {}\n{}".format(router.name, cmd, output))
+
+    json_output = json.loads(output)
+
+    # filter out tableVersion, version, nhVrfId and vrfId
+    for vrf, data in json_output.items():
+        if "vrfId" in data:
+            data.pop("vrfId")
+        if "tableVersion" in data:
+            data.pop("tableVersion")
+        if "routes" not in data:
+            continue
+        for route, attrs in data["routes"].items():
+            for attr in attrs:
+                if "nhVrfId" in attr:
+                    attr.pop("nhVrfId")
+                if "version" in attr:
+                    attr.pop("version")
+
+    # filter out VRF with no routes
+    json_tmp = deepcopy(json_output)
+    for vrf, data in json_tmp.items():
+        if "routes" not in data or len(data["routes"].keys()) == 0:
+            json_output.pop(vrf)
+
+    return topotest.json_cmp(json_output, expected, exact=True)
+
+
 def check_show_bgp_ipv4_vpn(rname, json_file):
     tgen = get_topogen()
     if tgen.routers_have_failure():
@@ -178,6 +208,27 @@ def check_show_bgp_ipv4_vpn(rname, json_file):
     assert result is None, assertmsg
 
 
+def check_show_bgp_vrf_ipv4(rname, json_file):
+    tgen = get_topogen()
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+    router = tgen.gears[rname]
+
+    logger.info("Checking VRF IPv4 routes for convergence on {}".format(rname))
+
+    json_file = "{}/{}/{}".format(CWD, router.name, json_file)
+    expected = json.loads(open(json_file).read())
+    test_func = partial(
+        router_vrf_json_cmp_exact_filter,
+        router,
+        "show bgp vrf all ipv4 unicast json",
+        expected,
+    )
+    _, result = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
+    assertmsg = '"{}" JSON output mismatches'.format(router.name)
+    assert result is None, assertmsg
+
+
 def test_protocols_convergence_step0():
     """
     Assert that all protocols have converged
@@ -211,6 +262,8 @@ def test_bgp_no_retain_step1():
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_init.json")
+
 
 def test_bgp_retain_step2():
     """
@@ -234,6 +287,8 @@ router bgp 65500
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_all.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_init.json")
+
 
 def test_bgp_no_retain_step3():
     """
@@ -253,10 +308,12 @@ def test_bgp_no_retain_step3():
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_init.json")
+
 
 def test_bgp_no_retain_add_vrf2_step4():
     """
-    Add vrf2 on r1 and check bgp vpnv4 table
+    Add vrf2 on r1 and check bgp tables
     """
 
     rname = "r1"
@@ -283,10 +340,12 @@ router bgp 65500 vrf vrf2
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init_plus_r2_vrf2.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_plus_r2_vrf2.json")
+
 
 def test_bgp_no_retain_unimport_vrf2_step5():
     """
-    Unimport to vrf2 on r1 and check bgp vpnv4 table
+    Unimport to vrf2 on r1 and check bgp tables
     """
 
     rname = "r1"
@@ -308,10 +367,12 @@ router bgp 65500 vrf vrf2
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_init.json")
+
 
 def test_bgp_no_retain_import_vrf2_step6():
     """
-    Re-import to vrf2 on r1 and check bgp vpnv4 table
+    Re-import to vrf2 on r1 and check bgp tables
     """
 
     rname = "r1"
@@ -333,10 +394,12 @@ router bgp 65500 vrf vrf2
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init_plus_r2_vrf2.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_plus_r2_vrf2.json")
+
 
 def test_bgp_no_retain_import_vrf1_step7():
     """
-    Import r1 vrf1 into r1 vrf2 and check bgp vpnv4 table
+    Import r1 vrf1 into r1 vrf2 and check bgp tables
     """
 
     rname = "r1"
@@ -358,10 +421,12 @@ router bgp 65500 vrf vrf2
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_plus_r1_vrf1.json")
+
 
 def test_bgp_no_retain_import_vrf3_step8():
     """
-    Import r2 vrf3 into r1 vrf2 and check bgp vpnv4 table
+    Import r2 vrf3 into r1 vrf2 and check bgp tables
     """
 
     rname = "r1"
@@ -383,10 +448,12 @@ router bgp 65500 vrf vrf2
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init_plus_r2_vrf3.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_plus_r2_vrf3.json")
+
 
 def test_bgp_no_retain_unimport_vrf3_step9():
     """
-    Un-import r2 vrf3 into r1 vrf2 and check bgp vpnv4 table
+    Un-import r2 vrf3 into r1 vrf2 and check bgp tables
     """
 
     rname = "r1"
@@ -408,10 +475,12 @@ router bgp 65500 vrf vrf2
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_init.json")
+
 
 def test_bgp_no_retain_import_vrf3_step10():
     """
-    Import r2 vrf3 into r1 vrf2 and check bgp vpnv4 table
+    Import r2 vrf3 into r1 vrf2 and check bgp tables
     """
 
     rname = "r1"
@@ -433,10 +502,12 @@ router bgp 65500 vrf vrf2
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init_plus_r2_vrf3.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_plus_r2_vrf3.json")
+
 
 def test_bgp_no_retain_remove_vrf2_step11():
     """
-    Remove BGP vrf2 on r1 and check bgp vpnv4 table
+    Remove BGP vrf2 on r1 and check bgp tables
     """
 
     rname = "r1"
@@ -454,10 +525,12 @@ no router bgp 65500 vrf vrf2
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_init.json")
+
 
 def test_bgp_retain_step12():
     """
-    Configure retain and check bgp vpnv4 table
+    Configure retain and check bgp tables
     """
 
     rname = "r1"
@@ -477,6 +550,8 @@ router bgp 65500
     check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_all.json")
     check_show_bgp_ipv4_vpn("r2", "ipv4_vpn_routes_all.json")
 
+    check_show_bgp_vrf_ipv4(rname, "ipv4_vrf_all_routes_init.json")
+
 
 def test_memory_leak():
     "Run the memory leak test and report results."