summaryrefslogtreecommitdiff
path: root/src/migration-scripts/interfaces/29-to-30
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-12-10 11:44:46 +0100
committerChristian Breunig <christian@breunig.cc>2023-12-10 11:49:25 +0100
commit98ca0984312257a09b57d4aac60ff4abf7f84e66 (patch)
treeaaddf979edd119d610a39abf0808ad58beebfcb4 /src/migration-scripts/interfaces/29-to-30
parentbf096599e4bad8a595257654ec5a0a1c4ae2e15a (diff)
downloadvyos-1x-98ca0984312257a09b57d4aac60ff4abf7f84e66.tar.gz
vyos-1x-98ca0984312257a09b57d4aac60ff4abf7f84e66.zip
migration: T5413: re-sequence interfaces migration scripts
PR https://github.com/vyos/vyos-1x/pull/2540 backported a migration script from current to the equuleus LTS branch. As migration scripts are executed in order to adjust the CLI for necessary improvements in future LTS releases we need to change the versioning of the migration files to match the new "base" version from the previous LTS release. In theory this could break very ancient 1.4 rolling releases (from the early days of the OSPF refactoring) - but those versions are considered very much unstable. Now this is the last chance to sync up the migration scripts before the 1.4 LTS release.
Diffstat (limited to 'src/migration-scripts/interfaces/29-to-30')
-rwxr-xr-xsrc/migration-scripts/interfaces/29-to-3064
1 files changed, 28 insertions, 36 deletions
diff --git a/src/migration-scripts/interfaces/29-to-30 b/src/migration-scripts/interfaces/29-to-30
index 04e023e77..acb6ee1fb 100755
--- a/src/migration-scripts/interfaces/29-to-30
+++ b/src/migration-scripts/interfaces/29-to-30
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
-# Copyright (C) 2021-2023 VyOS maintainers and contributors
+# Copyright (C) 2023 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
@@ -13,45 +13,37 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Deletes Wireguard peers if they have the same public key as the router has.
-import sys
+
+# T5286: remove XDP support in favour of VPP
+
+from sys import argv
+
+from vyos.ethtool import Ethtool
from vyos.configtree import ConfigTree
-from vyos.utils.network import is_wireguard_key_pair
-if __name__ == '__main__':
- if len(sys.argv) < 2:
- print("Must specify file name!")
- sys.exit(1)
+if len(argv) < 2:
+ print("Must specify file name!")
+ exit(1)
- file_name = sys.argv[1]
+file_name = argv[1]
+with open(file_name, 'r') as f:
+ config_file = f.read()
- with open(file_name, 'r') as f:
- config_file = f.read()
+supports_xdp = ['bonding', 'ethernet']
+config = ConfigTree(config_file)
- config = ConfigTree(config_file)
- base = ['interfaces', 'wireguard']
+for if_type in supports_xdp:
+ base = ['interfaces', if_type]
if not config.exists(base):
- # Nothing to do
- sys.exit(0)
+ continue
for interface in config.list_nodes(base):
- if not config.exists(base + [interface, 'private-key']):
- continue
- private_key = config.return_value(base + [interface, 'private-key'])
- interface_base = base + [interface]
- if config.exists(interface_base + ['peer']):
- for peer in config.list_nodes(interface_base + ['peer']):
- peer_base = interface_base + ['peer', peer]
- if not config.exists(peer_base + ['public-key']):
- continue
- peer_public_key = config.return_value(peer_base + ['public-key'])
- if not config.exists(peer_base + ['disable']) \
- and is_wireguard_key_pair(private_key, peer_public_key):
- config.set(peer_base + ['disable'])
-
- try:
- with open(file_name, 'w') as f:
- f.write(config.to_string())
- except OSError as e:
- print("Failed to save the modified config: {}".format(e))
- sys.exit(1)
+ if_base = base + [interface]
+ if config.exists(if_base + ['xdp']):
+ config.delete(if_base + ['xdp'])
+
+try:
+ with open(file_name, 'w') as f:
+ f.write(config.to_string())
+except OSError as e:
+ print(f'Failed to save the modified config: {e}')
+ exit(1)