From 8ab854a6f6d44fe79b517722f5f45f37dd142408 Mon Sep 17 00:00:00 2001 From: Nicolas Fort Date: Sat, 4 Jun 2022 16:03:15 +0000 Subject: Policy: T3976-T4449-nexthop: add - match ipv6 nexthop type - as available for ipv4 --- data/templates/frr/policy.frr.j2 | 3 +++ interface-definitions/policy.xml.in | 15 +++++++++++++++ smoketest/scripts/cli/test_policy.py | 7 +++++++ 3 files changed, 25 insertions(+) diff --git a/data/templates/frr/policy.frr.j2 b/data/templates/frr/policy.frr.j2 index 40ec0bb1e..33df17770 100644 --- a/data/templates/frr/policy.frr.j2 +++ b/data/templates/frr/policy.frr.j2 @@ -227,6 +227,9 @@ route-map {{ route_map }} {{ rule_config.action }} {{ rule }} {% if rule_config.match.ipv6.nexthop.prefix_list is vyos_defined %} match ipv6 next-hop prefix-list {{ rule_config.match.ipv6.nexthop.prefix_list }} {% endif %} +{% if rule_config.match.ipv6.nexthop.type is vyos_defined %} + match ipv6 next-hop type {{ rule_config.match.ipv6.nexthop.type }} +{% endif %} {% if rule_config.match.large_community.large_community_list is vyos_defined %} match large-community {{ rule_config.match.large_community.large_community_list }} {% endif %} diff --git a/interface-definitions/policy.xml.in b/interface-definitions/policy.xml.in index 3b61877c5..83ae714b4 100644 --- a/interface-definitions/policy.xml.in +++ b/interface-definitions/policy.xml.in @@ -873,6 +873,21 @@ + + + Match type + + blackhole + + + blackhole + Blackhole + + + (blackhole) + + + diff --git a/smoketest/scripts/cli/test_policy.py b/smoketest/scripts/cli/test_policy.py index 9c2353856..f175d7df7 100755 --- a/smoketest/scripts/cli/test_policy.py +++ b/smoketest/scripts/cli/test_policy.py @@ -722,6 +722,7 @@ class TestPolicy(VyOSUnitTestSHIM.TestCase): ipv4_prefix_len= '18' ipv6_prefix_len= '122' ipv4_nexthop_type= 'blackhole' + ipv6_nexthop_type= 'blackhole' test_data = { @@ -794,6 +795,7 @@ class TestPolicy(VyOSUnitTestSHIM.TestCase): 'ipv6-nexthop-address' : ipv6_nexthop_address, 'ipv6-nexthop-access-list' : access_list, 'ipv6-nexthop-prefix-list' : prefix_list, + 'ipv6-nexthop-type' : ipv6_nexthop_type, 'ipv6-address-pfx-len' : ipv6_prefix_len, 'large-community' : large_community_list, 'local-pref' : local_pref, @@ -973,6 +975,8 @@ class TestPolicy(VyOSUnitTestSHIM.TestCase): self.cli_set(path + ['rule', rule, 'match', 'ipv6', 'nexthop', 'access-list', rule_config['match']['ipv6-nexthop-access-list']]) if 'ipv6-nexthop-prefix-list' in rule_config['match']: self.cli_set(path + ['rule', rule, 'match', 'ipv6', 'nexthop', 'prefix-list', rule_config['match']['ipv6-nexthop-prefix-list']]) + if 'ipv6-nexthop-type' in rule_config['match']: + self.cli_set(path + ['rule', rule, 'match', 'ipv6', 'nexthop', 'type', rule_config['match']['ipv6-nexthop-type']]) if 'large-community' in rule_config['match']: self.cli_set(path + ['rule', rule, 'match', 'large-community', 'large-community-list', rule_config['match']['large-community']]) if 'local-pref' in rule_config['match']: @@ -1141,6 +1145,9 @@ class TestPolicy(VyOSUnitTestSHIM.TestCase): if 'ipv6-nexthop-prefix-list' in rule_config['match']: tmp = f'match ipv6 next-hop prefix-list {rule_config["match"]["ipv6-nexthop-prefix-list"]}' self.assertIn(tmp, config) + if 'ipv6-nexthop-type' in rule_config['match']: + tmp = f'match ipv6 next-hop type {rule_config["match"]["ipv6-nexthop-type"]}' + self.assertIn(tmp, config) if 'large-community' in rule_config['match']: tmp = f'match large-community {rule_config["match"]["large-community"]}' self.assertIn(tmp, config) -- cgit v1.2.3