summaryrefslogtreecommitdiff
path: root/src/migration-scripts/quagga/2-to-3
diff options
context:
space:
mode:
Diffstat (limited to 'src/migration-scripts/quagga/2-to-3')
-rwxr-xr-xsrc/migration-scripts/quagga/2-to-317
1 files changed, 17 insertions, 0 deletions
diff --git a/src/migration-scripts/quagga/2-to-3 b/src/migration-scripts/quagga/2-to-3
index 99d96a0aa..4c1cd86a3 100755
--- a/src/migration-scripts/quagga/2-to-3
+++ b/src/migration-scripts/quagga/2-to-3
@@ -178,6 +178,23 @@ else:
for peer_group in peer_groups:
migrate_neighbor(config, peer_group_path, peer_group)
+ ## Migrate redistribute statements
+ redistribute_path = ['protocols', 'bgp', asn, 'redistribute']
+ if config.exists(redistribute_path):
+ config.set(bgp_path + af_path + ['redistribute'])
+
+ redistributes = config.list_nodes(redistribute_path)
+ for redistribute in redistributes:
+ config.set(bgp_path + af_path + ['redistribute', redistribute])
+ if config.exists(redistribute_path + [redistribute, 'metric']):
+ redist_metric = config.return_value(redistribute_path + [redistribute, 'metric'])
+ config.set(bgp_path + af_path + ['redistribute', redistribute, 'metric'], value=redist_metric)
+ if config.exists(redistribute_path + [redistribute, 'route-map']):
+ redist_route_map = config.return_value(redistribute_path + [redistribute, 'route-map'])
+ config.set(bgp_path + af_path + ['redistribute', redistribute, 'route-map'], value=redist_route_map)
+
+ config.delete(redistribute_path)
+
try:
with open(file_name, 'w') as f:
f.write(config.to_string())