From a7e794215c379f975be34179a034d0c2765cbbbb Mon Sep 17 00:00:00 2001 From: Louis Scalbert Date: Thu, 12 May 2022 14:54:32 +0200 Subject: [PATCH] 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 --- tests/topotests/lib/bgprib.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/topotests/lib/bgprib.py b/tests/topotests/lib/bgprib.py index 35a57d0a99..ced6dd7de3 100644 --- a/tests/topotests/lib/bgprib.py +++ b/tests/topotests/lib/bgprib.py @@ -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 -- 2.39.5