diff options
| author | Daniil Baturin <daniil@vyos.io> | 2024-03-04 15:04:14 +0100 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-04 15:04:14 +0100 | 
| commit | 2872f386b02c5e1c6df2c10f7c84e8478fd38c41 (patch) | |
| tree | f80e883cd50f028d8fb5cb4af7671dd80aef9640 | |
| parent | de23c0e3b684e07d6b03d6796b77b382798bbab3 (diff) | |
| parent | 6a97fdfa1ba9b4135a51498ea5acabb804256b2c (diff) | |
| download | vyos-1x-2872f386b02c5e1c6df2c10f7c84e8478fd38c41.tar.gz vyos-1x-2872f386b02c5e1c6df2c10f7c84e8478fd38c41.zip | |
Merge pull request #3078 from c-po/ospfv3-isis-T6087
ospfv3: T6087: add support to redistribute IS-IS routes
| -rw-r--r-- | interface-definitions/include/ospfv3/protocol-common-config.xml.i | 10 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_protocols_ospf.py | 4 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_protocols_ospfv3.py | 2 | ||||
| -rwxr-xr-x | src/conf_mode/protocols_ospfv3.py | 2 | 
4 files changed, 14 insertions, 4 deletions
| diff --git a/interface-definitions/include/ospfv3/protocol-common-config.xml.i b/interface-definitions/include/ospfv3/protocol-common-config.xml.i index 1462b9c15..72fb86d3d 100644 --- a/interface-definitions/include/ospfv3/protocol-common-config.xml.i +++ b/interface-definitions/include/ospfv3/protocol-common-config.xml.i @@ -251,6 +251,16 @@          #include <include/route-map.xml.i>        </children>      </node> +    <node name="isis"> +      <properties> +        <help>Redistribute IS-IS routes</help> +      </properties> +      <children> +        #include <include/ospf/metric.xml.i> +        #include <include/ospf/metric-type.xml.i> +        #include <include/route-map.xml.i> +      </children> +    </node>      <node name="kernel">        <properties>          <help>Redistribute kernel routes</help> diff --git a/smoketest/scripts/cli/test_protocols_ospf.py b/smoketest/scripts/cli/test_protocols_ospf.py index 6bffc7c45..82fb96754 100755 --- a/smoketest/scripts/cli/test_protocols_ospf.py +++ b/smoketest/scripts/cli/test_protocols_ospf.py @@ -1,6 +1,6 @@  #!/usr/bin/env python3  # -# Copyright (C) 2021-2023 VyOS maintainers and contributors +# Copyright (C) 2021-2024 VyOS maintainers and contributors  #  # This program is free software; you can redistribute it and/or modify  # it under the terms of the GNU General Public License version 2 or later as @@ -240,7 +240,7 @@ class TestProtocolsOSPF(VyOSUnitTestSHIM.TestCase):      def test_ospf_07_redistribute(self):          metric = '15'          metric_type = '1' -        redistribute = ['bgp', 'connected', 'isis', 'kernel', 'rip', 'static'] +        redistribute = ['babel', 'bgp', 'connected', 'isis', 'kernel', 'rip', 'static']          for protocol in redistribute:              self.cli_set(base_path + ['redistribute', protocol, 'metric', metric]) diff --git a/smoketest/scripts/cli/test_protocols_ospfv3.py b/smoketest/scripts/cli/test_protocols_ospfv3.py index a9894009d..989e1552d 100755 --- a/smoketest/scripts/cli/test_protocols_ospfv3.py +++ b/smoketest/scripts/cli/test_protocols_ospfv3.py @@ -118,7 +118,7 @@ class TestProtocolsOSPFv3(VyOSUnitTestSHIM.TestCase):          metric_type = '1'          route_map = 'foo-bar'          route_map_seq = '10' -        redistribute = ['bgp', 'connected', 'kernel', 'ripng', 'static'] +        redistribute = ['babel', 'bgp', 'connected', 'isis', 'kernel', 'ripng', 'static']          self.cli_set(['policy', 'route-map', route_map, 'rule', route_map_seq, 'action', 'permit']) diff --git a/src/conf_mode/protocols_ospfv3.py b/src/conf_mode/protocols_ospfv3.py index 2c1cbfecd..afd767dbf 100755 --- a/src/conf_mode/protocols_ospfv3.py +++ b/src/conf_mode/protocols_ospfv3.py @@ -85,7 +85,7 @@ def get_config(config=None):      if 'graceful_restart' not in ospfv3:          del default_values['graceful_restart'] -    for protocol in ['babel', 'bgp', 'connected', 'kernel', 'ripng', 'static']: +    for protocol in ['babel', 'bgp', 'connected', 'isis', 'kernel', 'ripng', 'static']:          if dict_search(f'redistribute.{protocol}', ospfv3) is None:              del default_values['redistribute'][protocol]      if not bool(default_values['redistribute']): | 
