diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-01-25 19:53:04 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-01-25 19:56:01 +0100 |
commit | 6f44059fb3b77238226bb9319cc6beb235c42a05 (patch) | |
tree | 3575e4cb9b86a5da7d16b8bdba793afcd2a8b958 | |
parent | b4f5176b130e62f4c3db2aa5765edb609f8f21c1 (diff) | |
download | vyos-1x-6f44059fb3b77238226bb9319cc6beb235c42a05.tar.gz vyos-1x-6f44059fb3b77238226bb9319cc6beb235c42a05.zip |
smoketest: bgp: add rpki tests
(cherry picked from commit 3082b678c88f74801fc4e9a57e23f25a53619467)
-rwxr-xr-x | smoketest/scripts/cli/test_protocols_bgp.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/test_protocols_bgp.py b/smoketest/scripts/cli/test_protocols_bgp.py index 1d93aeda4..e8b2ea34c 100755 --- a/smoketest/scripts/cli/test_protocols_bgp.py +++ b/smoketest/scripts/cli/test_protocols_bgp.py @@ -87,6 +87,9 @@ peer_group_config = { def getFRRBGPconfig(): return cmd(f'vtysh -c "show run" | sed -n "/router bgp {ASN}/,/^!/p"') +def getFRRRPKIconfig(): + return cmd(f'vtysh -c "show run" | sed -n "/rpki/,/^!/p"') + class TestProtocolsBGP(unittest.TestCase): def setUp(self): self.session = ConfigSession(os.getpid()) @@ -338,5 +341,38 @@ class TestProtocolsBGP(unittest.TestCase): self.assertIn(f' aggregate-address {network} summary-only', frrconfig) + def test_bgp_07_rpki(self): + rpki_path = ['protocols', 'rpki'] + init_tmo = '50' + polling = '400' + preference = '100' + timeout = '900' + + cache = { + 'foo' : { 'address' : '1.1.1.1', 'port' : '8080' }, +# T3253 only one peer supported +# 'bar' : { 'address' : '2.2.2.2', 'port' : '9090' }, + } + + self.session.set(rpki_path + ['polling-period', polling]) + self.session.set(rpki_path + ['preference', preference]) + + for name, config in cache.items(): + self.session.set(rpki_path + ['cache', name, 'address', config['address']]) + self.session.set(rpki_path + ['cache', name, 'port', config['port']]) + + # commit changes + self.session.commit() + + # Verify FRR bgpd configuration + frrconfig = getFRRRPKIconfig() + self.assertIn(f'rpki polling_period {polling}', frrconfig) + + for name, config in cache.items(): + self.assertIn('rpki cache {address} {port} preference 1'.format(**config), frrconfig) + + self.session.delete(rpki_path) + + if __name__ == '__main__': unittest.main(verbosity=2) |