diff options
author | Ryan Zuwala <ryanzuwala@gmail.com> | 2025-04-23 16:32:53 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-23 22:32:53 +0200 |
commit | c898ce2e096d77db37c3bb65a004a29190879c30 (patch) | |
tree | ee1d73cea005a28a36b13c9c059b3b39ff36aa9a /smoketest/scripts/cli/test_service_router-advert.py | |
parent | 88e8a1e5c8b29d3795c097c4a3988b0ab0e98f89 (diff) | |
download | vyos-1x-c898ce2e096d77db37c3bb65a004a29190879c30.tar.gz vyos-1x-c898ce2e096d77db37c3bb65a004a29190879c30.zip |
router-advert: T7380: Implement auto-ignore-prefix syntax for router advertisements (#4463)
Diffstat (limited to 'smoketest/scripts/cli/test_service_router-advert.py')
-rwxr-xr-x | smoketest/scripts/cli/test_service_router-advert.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/test_service_router-advert.py b/smoketest/scripts/cli/test_service_router-advert.py index 6dbb6add4..83342bc72 100755 --- a/smoketest/scripts/cli/test_service_router-advert.py +++ b/smoketest/scripts/cli/test_service_router-advert.py @@ -252,6 +252,49 @@ class TestServiceRADVD(VyOSUnitTestSHIM.TestCase): tmp = get_config_value('AdvIntervalOpt') self.assertEqual(tmp, 'off') + def test_auto_ignore(self): + isp_prefix = '2001:db8::/64' + ula_prefixes = ['fd00::/64', 'fd01::/64'] + + self.cli_set(base_path + ['auto-ignore', isp_prefix]) + + for ula_prefix in ula_prefixes: + self.cli_set(base_path + ['auto-ignore', ula_prefix]) + + # commit changes + self.cli_commit() + config = read_file(RADVD_CONF) + + # ensure autoignoreprefixes block is generated in config file + tmp = f'autoignoreprefixes' + ' {' + self.assertIn(tmp, config) + + # ensure all three prefixes are contained in the block + self.assertIn(f' {isp_prefix};', config) + for ula_prefix in ula_prefixes: + self.assertIn(f' {ula_prefix};', config) + + # remove a prefix and verify it's gone + self.cli_delete(base_path + ['auto-ignore', ula_prefixes[1]]) + + self.cli_commit() + config = read_file(RADVD_CONF) + + self.assertNotIn(f' {ula_prefixes[1]};', config) + + # ensure remaining two prefixes are still present + self.assertIn(f' {ula_prefixes[0]};', config) + self.assertIn(f' {isp_prefix};', config) + + # remove the remaining two prefixes and verify the config block is gone + self.cli_delete(base_path + ['auto-ignore', ula_prefixes[0]]) + self.cli_delete(base_path + ['auto-ignore', isp_prefix]) + + self.cli_commit() + config = read_file(RADVD_CONF) + + tmp = f'autoignoreprefixes' + ' {' + self.assertNotIn(tmp, config) if __name__ == '__main__': unittest.main(verbosity=2) |