diff options
author | Christian Breunig <christian@breunig.cc> | 2023-12-10 19:47:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-10 19:47:49 +0100 |
commit | e7cf5af4e558412d5cf1b8b6eca1ded1a264c6a8 (patch) | |
tree | e85ac5fa54197300dc7d496602ff9cb10052e66a /src/migration-scripts/interfaces/29-to-30 | |
parent | 5f7e35e7a73b57e016082d7c1bf1f541c160b35b (diff) | |
parent | 98ca0984312257a09b57d4aac60ff4abf7f84e66 (diff) | |
download | vyos-1x-e7cf5af4e558412d5cf1b8b6eca1ded1a264c6a8.tar.gz vyos-1x-e7cf5af4e558412d5cf1b8b6eca1ded1a264c6a8.zip |
Merge pull request #2601 from c-po/t5413-current-resequence
migration: T5413: re-sequence interfaces migration scripts
Diffstat (limited to 'src/migration-scripts/interfaces/29-to-30')
-rwxr-xr-x | src/migration-scripts/interfaces/29-to-30 | 64 |
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) |