summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--smoketest/configs/bgp-small-internet-exchange8
-rwxr-xr-xsrc/migration-scripts/policy/2-to-323
2 files changed, 19 insertions, 12 deletions
diff --git a/smoketest/configs/bgp-small-internet-exchange b/smoketest/configs/bgp-small-internet-exchange
index d51f87c4a..c9da8fa77 100644
--- a/smoketest/configs/bgp-small-internet-exchange
+++ b/smoketest/configs/bgp-small-internet-exchange
@@ -269,6 +269,14 @@ policy {
}
}
}
+ rule 31 {
+ action deny
+ match {
+ ipv6 {
+ nexthop 2001:db8::1
+ }
+ }
+ }
rule 40 {
action permit
set {
diff --git a/src/migration-scripts/policy/2-to-3 b/src/migration-scripts/policy/2-to-3
index 5caec2dd2..84cb1ff4a 100755
--- a/src/migration-scripts/policy/2-to-3
+++ b/src/migration-scripts/policy/2-to-3
@@ -13,44 +13,43 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-​
+
# T3976: change cli
# from: set policy route-map FOO rule 10 match ipv6 nexthop 'h:h:h:h:h:h:h:h'
# to: set policy route-map FOO rule 10 match ipv6 nexthop address 'h:h:h:h:h:h:h:h'
-​
+
from sys import argv
from sys import exit
-​
+
from vyos.configtree import ConfigTree
-​
+
if (len(argv) < 1):
print("Must specify file name!")
exit(1)
-​
+
file_name = argv[1]
-​
+
with open(file_name, 'r') as f:
config_file = f.read()
-​
+
base = ['policy', 'route-map']
config = ConfigTree(config_file)
-​
+
if not config.exists(base):
# Nothing to do
exit(0)
-​
-​
+
for route_map in config.list_nodes(base):
if not config.exists(base + [route_map, 'rule']):
continue
for rule in config.list_nodes(base + [route_map, 'rule']):
base_rule = base + [route_map, 'rule', rule]
-​
+
if config.exists(base_rule + ['match', 'ipv6', 'nexthop']):
tmp = config.return_value(base_rule + ['match', 'ipv6', 'nexthop'])
config.delete(base_rule + ['match', 'ipv6', 'nexthop'])
config.set(base_rule + ['match', 'ipv6', 'nexthop', 'address'], value=tmp)
-​
+
try:
with open(file_name, 'w') as f:
f.write(config.to_string())