summaryrefslogtreecommitdiff
path: root/smoketest/configs
AgeCommit message (Collapse)Author
2026-06-26bgp: T8865: Reject `vni` sub-block in VRF l2vpn-evpn when ↵Oleksandr Kuchmystyi
`advertise-all-vni` is globally active When `advertise-all-vni` is configured in the global/default BGP instance, VyOS generated a `vni <id>` sub-block under each VRF BGP `address-family l2vpn evpn` context. This conflicts with advertise-all-vni: FRR already owns all kernel VNIs and returns `% Failed to create VNI` when frr-reload.py attempts to apply the VRF-level vni sub-block. FRR then performs an early exit from config processing, silently dropping the entire l2vpn evpn address-family for all subsequent VRF BGP instances.
2026-06-09bgp: T8223: Prevent `advertise-all-vni` in multiple BGP VRF instances ↵Nataliia Solomko
simultaneously FRR only allows one BGP instance to hold `advertise-all-vni` at a time (FRR issue #9405). When a default BGP instance is present it is always started before named VRF instances, so if a named VRF holds the flag FRR silently rejects it on every boot (regardless of default EVPN config), causing the running config to diverge from what is stored in VyOS. Enforce the following policy in verify(): - Default BGP instance may always hold `advertise-all-vni`. - A named VRF may hold it only when no default BGP instance exists. - Only one BGP instance (default or named VRF) may hold it at a time. The default BGP verify path additionally scans dependent VRFs so that adding or modifying the default BGP instance while a named VRF already holds the flag is caught even when the VRF node is not part of the current commit.
2026-04-16configtest: T8457: bgp link-state address familyKyrylo Yatsenko
Very simple configuration with link-state address family check.
2026-04-09serial: T8375: add CLI option to explicitly set kernel consoleChristian Breunig
Previously, VyOS hardcoded the kernel boot log console to either ttyS0 or tty0, with no post-install CLI method to change it (manual GRUB edits were required). This commit adds a new CLI node: system console device <name> kernel When set, the selected serial console is used as the kernel boot console. When removed, the kernel boot console falls back to tty0.
2026-04-07Merge pull request #5103 from alexandr-san4ez/T8281-currentDaniil Baturin
firewall: T8281: Normalize network prefixes in rule configuration
2026-04-06firewall: T8281: Normalize network prefixes in rule configurationOleksandr Kuchmystyi
Convert non-canonical IPv4 and IPv6 prefixes in 'source/destination address' fields to proper network addresses (e.g. 10.10.10.1/30 -> 10.10.10.0/30). This prevents invalid configurations and ensures consistent prefix handling.
2026-04-03firewall: T8282: Normalize invalid network-group names during migrationOleksandr Kuchmystyi
Replace unsupported characters (e.g. `,`, `+`) with `_` when migrating from 1.3.x and handle name collisions safely to prevent commit failures.
2026-03-03vpp: T8327: Migrate bridge interface to 'interfaces vpp bridge'Nataliia Solomko
2026-03-02vpp: T8327: Remove support for GRE "point-to-multipoint" modeNataliia Solomko
Disabled "point-to-multipoint" mode for GRE interfaces, along with related "mode" node. This mode relies on the 'teib' feature, which is not implemented yet.
2026-03-02vpp: T8325: Migrate gre interface to 'interfaces vpp gre'Nataliia Solomko
2026-03-02vpp: T8324: Migrate loopback interface to 'interfaces vpp loopback'Nataliia Solomko
2026-03-02vpp: T8314: Migrate ipip interface to 'interfaces vpp ipip'Nataliia Solomko
2026-02-27vpp: T8296: Move vxlan interface from vpp section to 'interfaces vpp vxlan'Nataliia Solomko
2026-02-25vpp: T8283: Move bonding interface from vpp secction to 'interfaces vpp bonding'Nataliia 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-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: 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-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-21Merge pull request #4921 from hedrok/T7664-update-smoketest-scriptChristian Breunig
T7664: support FRR 10.5
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-10smoketest: T8087: reorganize folderstructure for embedded configttestsChristian Breunig
Configuration files for config tests gathered from lab installations, customers or our own networks were placed in multiple directories - all related to the same thing. We have had config-tests, configs and config.no-load. This commit re-arranges all the files and places a proper README for the users.
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-04syslog: T8059: migrate host:port node names to the new syntaxDaniil Baturin
with a dedicated port option
2025-12-02smoketest: T7738: provide OpenVPN test certificates for migration testsChristian Breunig
This adds necessary embedded certificates to validate the migration logic added in commit 63cc76fa236 ("openvpn: T7738: avoid duplicate certs during 1.3 -> 1.4 migration"). The CA used was generated using EasyRSA as described in our documentation: https://docs.vyos.io/en/1.3/configuration/interfaces/openvpn.html#generate-x-509-certificate-and-keys
2025-11-22smoketests: adjust testcase MTU after lowering QEMU supported MTUChristian Breunig
We also do need to adjust all other smoketests/configutests which make use of MTU after https://github.com/vyos/vyos-build/pull/1070/commits/d84ad7e2e76bc309b the QEMU guest MTU was lowered.
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-17kea: T7925: Fix basic-vyos dhcpv6 server testsarthurdev
2025-10-16Merge pull request #4781 from natali-rs1985/T7897Viacheslav Hletenko
T7897: VPP: fix rx-mode interrupt for XDP driver with workers
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-10Merge pull request #4772 from natali-rs1985/T7887Christian Breunig
T7887: system_option: Add validation for memory hugepage-count
2025-10-06Revert "bgp: T7760: deprecate per bgp vrf instance system-as node"John Estabrook
This reverts commit d871fe9c4c65de87232802ed54b263c9b2824391.
2025-10-06T7887: system_option: Add validation for memory hugepage-countNataliia Solomko
Move smoke test for hugepages to test_vpp.py
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-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: 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: add firewall config tests for migration of empty nodesChristian Breunig
2025-08-07T7697: Merge remote-tracking branch 'vpp/current' into vyos-1xViacheslav
2025-06-25T7424: Add missing hugepage memory configuration for config load testsNataliia Solomko
2025-06-17firewall: T6951: Add a configuration command for ethertypes that bridge ↵Nataliia Solomko
firewalls should always accept
2025-06-07conntrack: T7208: nf_conntrack_buckets defaults and behaviorChristian Breunig
Previously, we used a lower limit of 1 and a default value of 32768 for the nf_conntrack_buckets (conntrack hash-size) sysctl option. However, the Linux kernel enforces an internal minimum of 1024. A configuration migrator will now adjust the lower limit to 1024 if necessary. The former default value of 32768 was passed as a kernel module option, which only took effect after the second system reboot. This was due to the option being rendered but not applied during the first boot. This behavior has been changed so that the value is now configurable at runtime and takes effect immediately. Additionally, since VyOS 1.4 increased the hardware requirements to 4GB of RAM, we now align the default value of nf_conntrack_buckets with the kernel's default for systems with more than 1GB of RAM to 65536 entries. Previously, we only supported half that amount.
2025-05-08haproxy: T7429: remove unsupported logging facility and log levelChristian Breunig
VyOS 1.4.1 implemented support for logging facilities for HAProxy. The facilities got included from the syslog XML definition, which also added "virtual" or non existing facilities in HAProxy, namely: all, authpriv and mark. If any of the above facilities is set, HAProxy will not start. The XML definition for syslog also came with an arbitrary log-level "all" that is also unsupported in HAProxy. This commit adds a migration script removing the illegal CLI nodes.
2025-04-22T6773: RFC-2136 support for Kea DHCP4 server (#4153)Alex Bukharov
2025-02-24lldp: T7165: add support to enable only rx or tx on specific interfaceChristian Breunig
LLDP is a stateless protocol which does not necessitate sending to receive advertisements. There are multiple scenarios such as provider peering links in which it is advantageous to receive LLDP but not disclose internal information to the provider. Add new CLI command: * set service lldp interface <name> mode [disable|rx-tx|rx|tx] The default is unchanged and will be rx-tx. Furthermore if an interface has an explicit LLDP disable configured under "set service lldp interface <name> disable" this will be migrated to "set service lldp interface <name> mode disable"