topotests: add ability to check that a prefix is not in BGP RIB

Add an "exist" key to check the existence of a prefix in the BGP RIB.
Useful to check that a prefix has not leaked by error.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
This commit is contained in:
Louis Scalbert 2022-05-12 14:54:32 +02:00
parent 5f6c0ba6d2
commit a7e794215c

View File

@ -48,7 +48,15 @@ class BgpRib:
for pfx in pfxtbl.keys():
if debug:
self.log("trying pfx %s" % pfx)
if pfx != want["p"]:
if "exist" in want and want["exist"] == False:
if pfx == want["p"]:
if debug:
self.log("unexpected route: pfx=" + want["p"])
return 0
if debug:
self.log("unwant pfx=" + want["p"] + ", not " + pfx)
continue
elif pfx != want["p"]:
if debug:
self.log("want pfx=" + want["p"] + ", not " + pfx)
continue
@ -75,6 +83,9 @@ class BgpRib:
if debug:
self.log("missing route: pfx=" + want["p"] + ", nh=" + want["n"])
return 0
if "exist" in want and want["exist"] == False:
return 1
return 0
def RequireVpnRoutes(self, target, title, wantroutes, debug=0):
import json