summaryrefslogtreecommitdiff
path: root/src/migration-scripts
AgeCommit message (Collapse)Author
2026-02-19vpp: T8261: Refactor resource settings into 'resource-allocation' sectionNataliia Solomko
2026-02-18vpp: T8274: Remove dpdk-options section for num-* parametersOleksandr Kuchmystyi
Remove `dpdk-options` under `set vpp settings interface <ethN>` and move its child options to the interface level: - `num-rx-desc` - `num-rx-queues` - `num-tx-desc` - `num-tx-queues` Also remove `set vpp settings interface <ethN> dpdk-options promisc`.
2026-02-18vpp: T8266: Add global `interfaces-rx-mode` setting and remove per-interface ↵Oleksandr Kuchmystyi
commands Add `set vpp settings interfaces-rx-mode <polling|interrupt|adaptive>` to configure RX mode for all interfaces. Raise error if any interface does not support the selected mode. Also remove per-interface rx-mode commands: - `set vpp settings interface <name> rx-mode` - `set vpp kernel-interfaces <name> rx-mode`
2026-02-17vpp: T8268: Unify CPU settings into a single 'cpu-cores' node under ↵Nataliia Solomko
'resource-allocation' Replace legacy VPP CPU settings (main-core, skip-cores, workers, corelist-workers) with a single resource-allocation cpu-cores option. CPU assignment is now handled automatically: two cores are reserved for the system, the VPP main thread is placed on the first available core, and the remaining allocated cores are used as workers. This simplifies configuration and ensures consistent CPU allocation.
2026-02-15vpp: T8258: Move `poll-sleep-usec` out of `unix` sectionOleksandr Kuchmystyi
Instead of `vpp settings unix poll-sleep-usec` use `vpp settings poll-sleep-usec`.
2026-02-13vpp: T8262: Refactor IPsec settings to use only 'ipsec-acceleration' flagNataliia Solomko
2026-02-13vpp: T8254: Move 'nat44' and 'settings nat44' sections to 'nat nat44'Nataliia Solomko
2026-02-13vpp: T8255: Changed logging level variable nameOleksandr Kuchmystyi
This commit changes logging settings naming: - before: `set vpp settings logging default-log-level <alert>` - after: `set vpp settings logging default-level <alert>`
2026-02-11vpp: T8252: Change ACL node 'macip' to 'mac'Nataliia Solomko
2026-02-11Merge pull request #4981 from natali-rs1985/T8250Christian Breunig
vpp: T8250: Rewrite the CLI for ACL tcp-flags
2026-02-10vpp: T8250: Rewrite the CLI for ACL tcp-flagsNataliia Solomko
2026-02-10dns: T7924: Fix dns-dynamic migration error when `service` path is missingOleksandr Kuchmystyi
Handle absent `service dns dynamic address <iface> service` nodes during 1-to-2 migration to prevent ConfigTreeError.
2026-01-28vpp: T8202: Remove XDP driver and options from CLI and configNataliia Solomko
- Migration script removes 'driver' and 'xdp-options' nodes. - XDP logic is commented out in config verification and CLI tests, preserving code for future use. - The rest of XDP-related code remains untouched
2026-01-27Merge pull request #4945 from natali-rs1985/T8143John Estabrook
pppoe-server: T8143: Set 'vpp-cp' option automatically if interface is in VPP
2026-01-21Merge pull request #4921 from hedrok/T7664-update-smoketest-scriptChristian Breunig
T7664: support FRR 10.5
2026-01-19pppoe-server: T8143: Set 'vpp-cp' option automatically if interface is in VPPNataliia Solomko
2026-01-12T7664: ip protocol 'kernel' etc removedKyrylo Yatsenko
In FRR 10.5 ip protocols * connected * kernel * local * table * table-direct are removed. First three in fb8e399e4f66d09780f176fbecb99168089e64eb, table* in 7fd030504be060387694e8a2af7f19ddd7dee39d. In `ip protocols`, `ipv6 protocols` and `vrf` VyOS supports * connected * kernel * table Remove these from CLI, add migration scripts, update tests.
2026-01-12openvpn: T7633: Add support for 'data-ciphers-fallback' in site-to-site tunnelsOleksandr Kuchmystyi
- Introduced new CLI option 'data-ciphers-fallback' for OpenVPN interfaces (used as fallback cipher in site-to-site mode) - Adjust migration 1‑to‑2 to skip migrating 'cipher' for site‑to‑site interfaces
2025-12-17ssh: T8098: migrate "rijndael-cbc@lysator.liu.se" to "aes256-cbc" cipherChristian Breunig
According to [1] rijndael-cbc@lysator.liu.se is an alias for aes256-cbc which was standardized in RFC4253 (2006). This changes the migrator implementation to not only delete the old "rijndael-cbc@lysator.liu.se" cipher from the CLI and set the new, standardized aes256-cbc SSH cipher. 1: https://github.com/openssh/openssh-portable/commit/03e93c753d7c223063a
2025-12-14ssh: T8098: rename "ciphers" CLI node to "cipher"Christian Breunig
Follow VyOS CLI best practices for using singular whenever possible to build a CLI node. As we introduce a new migration 2 -> 3 for SSH we can correct this minor detail.
2025-12-14ssh: T8098: remove support for deprecated "rijndael-cbc@lysator.liu.se" cipherChristian Breunig
According to an Arch Linux forum discussion, the cipher rijndael-cbc@lysator.liu.se was removed in OpenSSH 6.7. References: - https://bbs.archlinux.org/viewtopic.php?id=188613 - https://www.openssh.org/txt/release-6.7 - https://github.com/openssh/openssh-portable/commit/03e93c753d7c223063a
2025-12-12isis: T8094: bugfix config migration from 1.3.0-rc1 -> 1.4Christian Breunig
While producing all configtest assert files for VyOS 1.4 it was noted that the the isis-small testcase from fails. This config fragment is not properly migrated when updating from VyOS 1.3.0-rc1 -> 1.4 and using IS-IS. protocols { isis FOO { interface eth1 { bfd } net 49.0001.1921.6800.1002.00 redistribute { ipv4 { connected { level-2 { route-map EXPORT-ISIS } } } } } } and results in loosing IS-IS connectivity. This is due the fact that config.rename() does not work when only using the base tagNode.
2025-12-11Merge pull request #4880 from natali-rs1985/T7972Viacheslav Hletenko
vpp: T7972: Make `nat44 no-forwarding` feature automatically configurable
2025-12-04Merge pull request #4881 from alexandr-san4ez/T7594-currentDaniil Baturin
ipsec: T7594: Rename `respond` connection-type in IPSec peer settings to `trap`
2025-12-04Merge pull request #4886 from dmbaturin/T8059-migrate-syslog-portsDaniil Baturin
syslog: T8059: migrate host:port node names to the new syntax with a dedicated port option
2025-12-04ipsec: T7594: Rename `respond` connection-type in IPSec peer settings to `trap`Oleksandr Kuchmystyi
The previous 'connection-type respond' option in IPsec site-to-site peers was misleading - instead of passively waiting for peer initiation, it would initiate negotiation when matching traffic appeared, potentially causing SA duplication and renegotiation loops.
2025-12-04vpp: T7972: Make `nat44 no-forwarding` feature automatically configurableNataliia Solomko
If any dynamic rule is configured forwarding should be disabled because each packet must be processed through the NAT session table to apply proper translations
2025-12-04syslog: T8059: migrate host:port node names to the new syntaxDaniil Baturin
with a dedicated port option
2025-12-02openvpn: T7738: avoid duplicate certs during 1.3 -> 1.4 migrationChristian Breunig
When migrating from VyOS 1.3 to 1.4, OpenVPN interfaces sharing the same certificate (chain) end up getting duplicated certificate entries, one per interface — instead of reusing a single cert if applicable. This change makes the migration logic detect shared certificates and reuse a single CA and server certificate objects, preventing redundant certificate entries in the config.
2025-11-28Merge pull request #4824 from alexandr-san4ez/T4251-currentViacheslav Hletenko
syslog: T4251: Rename "permitted-peers" to "permitted-peer" and improve TLS checks
2025-11-04syslog: T4251: Implement migration script for TLS sectionOleksandr Kuchmystyi
- Drop "tls enable" node (make "tls" a standalone key). - Split "tls permitted-peers" list by commas into multiple "tls permitted-peer" entries.
2025-10-29dhcpv6: T7967: fix migration script for automatic SLAAC selectionChristian Breunig
Commit f08a5700e7 ("dhcpv6: T7646: restore missing default route after upgrade") introduced a regression affecting both non-VIF and VIF interfaces. The addressing mode check in the migration logic was incorrect for both cases. For non-VIF interfaces, the migration was skipped entirely due to a missing configuration test. For VIF (VLAN) interfaces, the existing test always evaluated to true, since it incorrectly assumed that DHCPv6 was configured even when a static address was present. Smoketests have been extended to cover for these cases.
2025-10-21T7938: VPP: Rewrite sFlow implementationNataliia Solomko
Execute commands for vpp sflow with API calls. Use values for polling interval and sampling rate from 'system sflow'. Add op-mode command
2025-10-14T7897: VPP: fix rx-mode interrupt for XDP driver with workersNataliia Solomko
Remove no-syscall-lock from CLI and enable this option if interrupt/adaptive mode is enabled and workers are configured. Also forbid interrupt mode for ixgbevf driver
2025-10-06Revert "bgp: T7760: deprecate per bgp vrf instance system-as node"John Estabrook
This reverts commit d871fe9c4c65de87232802ed54b263c9b2824391.
2025-10-06Revert "bgp: T7760: remove per vrf instance system-as node"John Estabrook
This reverts commit 85fe32f0e1a91a47fe4a6d4a5cdd6ac516dcc3b9.
2025-10-06Revert "migrator: T7760: remove debug print statement"John Estabrook
This reverts commit 3f8404ac78e1a31e8afcacc6ce8e7331130d2093.
2025-09-26migrator: T7760: remove debug print statementChristian Breunig
2025-09-23Merge pull request #4684 from c-po/bgp-vrf-system-asDaniil Baturin
bgp: T7760: remove per vrf instance system-as node
2025-09-16Merge pull request #4688 from hedrok/T75-migration-to-ipt-netflowDaniil Baturin
T75: migrate from pmacct to ipt_NETFLOW
2025-09-16T75: migrate from pmacct to ipt_NETFLOWKyrylo Yatsenko
* Change nft to iptables in system_flow-accounting.py as ipt_NETFLOW is iptales plugin * Remove specific and non-relevant pmacct options * Add ipt_NETFLOW options * Move 'interfaces' to 'netflow' tree * Support more flexible 'source-address' and 'source-interface' for each server instead of one source * Add migration script * Update op mode command 'show flow-accounting' * Update op mode command 'restart flow-accounting'
2025-09-13dhcpv6: T7646: restore missing default route after upgradeChristian Breunig
Commit de44c6aef249 ("interface: T7379: do not request SLAAC default route when only DHCPv6 is set") introduced a behavioral change while addressing an earlier issue fixed in e9fb2078d5ea ("interface: T7375: SLAAC assigned address is not cleared when removing SLAAC"). This change caused unintended connectivity loss after upgrading to VyOS 1.4.3. The underlying reason is that VyOS now requires explicit configuration to determine how IPv6 addressing and routing should be handled, rather than making assumptions: Requesting a DHCPv6 address alone will correctly assign an address. However, since the IPv6 default route is typically advertised via SLAAC (and not DHCPv6), SLAAC must also be explicitly enabled to receive the default route. Historically, this distinction was implicit and did not require additional configuration. To preserve backward compatibility, a configuration migrator has been added. It inspects existing configurations that only request a DHCPv6 address and automatically appends the required CLI node to also enable SLAAC, ensuring that the default route is restored after upgrade.
2025-09-09bgp: T7760: remove per vrf instance system-as nodeChristian Breunig
VyOS 1.5 and onwards will no longer have the following CLI node available: set vrf name <name> protocols bgp system-as <asn>
2025-09-09bgp: T7760: deprecate per bgp vrf instance system-as nodeChristian Breunig
Originating from the bug in T7665. To avoid potential issues down the line - and given that there's no compelling technical reason to retain the system-as CLI node under per-VRF BGP configuration, which cannot be achieved through alternative means - the maintainers have collectively decided to deprecate the following command: set vrf name <name> protocols bgp system-as <asn> Starting with VyOS 1.4.4, this CLI command will be considered deprecated. While it will still be accepted, it will no longer have any operational effect. A deprecation warning will be displayed at commit time, indicating that the BGP ASN from the global BGP configuration is now used instead. A migration script will handle the transition and perform the following actions: * Ensure a global BGP configuration exists; if not, initialize one. * Iterate over all configured VRFs to determine whether a BGP instance exists * For any insance, update the configuration to use the global system-as and apply the local-as ASN no-prepend replace-as option on all affected neighbors to preserve existing behavior. * If a neighbor is already configured with a local-as directive, that neighbor will be excluded from the migration process, as it already follows a custom configuration. * Add allowas-in per neighbor option. Required to not deny prefix received updates due to as-path contains our own global ASN.
2025-09-04T7366: Firewall rules allow empty nodesl0crian1
Added checks in the verify_rule() function of firewall.py for empty nodes. Added migration script 19-to-20 to remove empty nodes from the config.
2025-07-21migration: T7648: fix Undefined variable 'config' in vrrp/1-to-2Christian Breunig
2025-07-21migration: T7648: fix Undefined variable 'af_path' in quagga/2-to-3Christian Breunig
2025-07-21migration: T7648: fix Undefined variable 'config' in interfaces/5-to-6Christian Breunig
2025-07-21migration: T7648: fix Undefined variable 'base' in interfaces/0-to-1Christian Breunig
2025-06-28T7591: remove copyright years from source filesChristian Breunig
The legal team says years are not necessary so we can go ahead with it, since it will simplify backporting. Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \ 's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors <maintainers@vyos.io>/g' In addition we will error-out during "make" if someone re-adds a legacy copyright notice