diff options
| -rw-r--r-- | data/templates/frr/policy.frr.j2 | 3 | ||||
| -rw-r--r-- | interface-definitions/policy.xml.in | 20 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_policy.py | 5 | 
3 files changed, 28 insertions, 0 deletions
| diff --git a/data/templates/frr/policy.frr.j2 b/data/templates/frr/policy.frr.j2 index 5ad4bd28c..9b5e80aed 100644 --- a/data/templates/frr/policy.frr.j2 +++ b/data/templates/frr/policy.frr.j2 @@ -322,6 +322,9 @@ route-map {{ route_map }} {{ rule_config.action }} {{ rule }}  {%                     if rule_config.set.ipv6_next_hop.prefer_global is vyos_defined %}   set ipv6 next-hop prefer-global  {%                     endif %} +{%                     if rule_config.set.l3vpn_nexthop.encapsulation.gre is vyos_defined %} +set l3vpn next-hop encapsulation gre +{%                     endif %}  {%                     if rule_config.set.large_community.replace is vyos_defined %}   set large-community {{ rule_config.set.large_community.replace | join(' ') }}  {%                     endif %} diff --git a/interface-definitions/policy.xml.in b/interface-definitions/policy.xml.in index 6c60276d5..b3745fda0 100644 --- a/interface-definitions/policy.xml.in +++ b/interface-definitions/policy.xml.in @@ -1356,6 +1356,26 @@                        </leafNode>                      </children>                    </node> +                  <node name="l3vpn-nexthop"> +                    <properties> +                      <help>Next hop Information</help> +                    </properties> +                    <children> +                      <node name="encapsulation"> +                        <properties> +                          <help>Encapsulation options (for BGP only)</help> +                        </properties> +                        <children> +                          <leafNode name="gre"> +                            <properties> +                              <help>Accept L3VPN traffic over GRE encapsulation</help> +                              <valueless/> +                            </properties> +                          </leafNode> +                        </children> +                       </node> +                    </children> +                  </node>                    <leafNode name="local-preference">                      <properties>                        <help>BGP local preference attribute</help> diff --git a/smoketest/scripts/cli/test_policy.py b/smoketest/scripts/cli/test_policy.py index 2166e63ec..3a4ef666a 100755 --- a/smoketest/scripts/cli/test_policy.py +++ b/smoketest/scripts/cli/test_policy.py @@ -1030,6 +1030,7 @@ class TestPolicy(VyOSUnitTestSHIM.TestCase):                              'metric'                  : '150',                              'metric-type'             : 'type-1',                              'origin'                  : 'incomplete', +                            'l3vpn'                   : '',                              'originator-id'           : '172.16.10.1',                              'src'                     : '100.0.0.1',                              'tag'                     : '65530', @@ -1229,6 +1230,8 @@ class TestPolicy(VyOSUnitTestSHIM.TestCase):                          self.cli_set(path + ['rule', rule, 'set', 'ipv6-next-hop', 'local', rule_config['set']['ipv6-next-hop-local']])                      if 'ip-next-hop' in rule_config['set']:                          self.cli_set(path + ['rule', rule, 'set', 'ip-next-hop', rule_config['set']['ip-next-hop']]) +                    if 'l3vpn' in rule_config['set']: +                        self.cli_set(path + ['rule', rule, 'set', 'l3vpn-nexthop', 'encapsulation', 'gre'])                      if 'local-preference' in rule_config['set']:                          self.cli_set(path + ['rule', rule, 'set', 'local-preference', rule_config['set']['local-preference']])                      if 'metric' in rule_config['set']: @@ -1408,6 +1411,8 @@ class TestPolicy(VyOSUnitTestSHIM.TestCase):                          tmp += 'ipv6 next-hop global ' + rule_config['set']['ipv6-next-hop-global']                      elif 'ipv6-next-hop-local' in rule_config['set']:                          tmp += 'ipv6 next-hop local ' + rule_config['set']['ipv6-next-hop-local'] +                    elif 'l3vpn' in rule_config['set']: +                        tmp += 'l3vpn next-hop encapsulation gre'                      elif 'local-preference' in rule_config['set']:                          tmp += 'local-preference ' + rule_config['set']['local-preference']                      elif 'metric' in rule_config['set']: | 
