summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli
AgeCommit message (Collapse)Author
2026-01-14T7101: Add support for hardware watchdog support via systemdGrant Slater
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
2026-01-10vrf: T8169: prevent deletion if instance referenced in policy based routingChristian Breunig
Check if the VRF which is about to be removed is referenced in any PBR rule, where any is one or more of route, route6, local-route or local-route6.
2026-01-09Merge pull request #4912 from hedrok/T8046-add-link-params-cliViacheslav Hletenko
T8046: traffic-engineering: support link-params
2026-01-09T8046: traffic-engineering: support link-paramsKyrylo Yatsenko
Add 'traffic-engineering' commands under 'protocols'. set protocols traffic-engineering admin-group ADMINGROUP bit-position 1 set protocols traffic-engineering interface INTERFACE admin-group ADMINGROUP set protocols traffic-engineering interface INTERFACE max-bandwidth 1280 set protocols traffic-engineering interface INTERFACE max-reservable-bandwidth 1280 Also add set protocols isis traffic-engineering export
2026-01-08Merge pull request #4887 from alexandr-san4ez/T8022-currentDaniil Baturin
ipsec: T8022: Fix invalid automatic `dynamic` prefix assignment for transport mode tunnels
2026-01-08Merge pull request #4920 from natali-rs1985/T7098Daniil Baturin
T7098: Fix VPP MTU misconfiguration
2026-01-05Merge pull request #4933 from c-po/eth-fixChristian Breunig
ethernet: T8142: do not raise ValueError for non-existing interfaces
2026-01-05T7098: Fix VPP MTU misconfigurationNataliia Solomko
2026-01-05Merge pull request #4929 from bilde2910/T8140Christian Breunig
router-advert: T8140: add captive portal support (RFC 8910)
2026-01-05Merge pull request #4928 from bilde2910/T8139Christian Breunig
nat66: T8139: add support for NAT66 source groups
2026-01-05ipsec: T8022: Fix invalid automatic `dynamic` prefix assignment for ↵Oleksandr Kuchmystyi
transport mode tunnels When ESP was configured in transport mode for GRE-based site-to-site tunnels, the default value `dynamic` was automatically injected into the configuration, even though prefixes must not be set in transport mode. This led to error "Local/remote prefix cannot be used with ESP transport mode" and commit failures. This fix updates configuration logic to skip default prefix assignment for site-to-site peers using ESP transport mode tunnels.
2026-01-04ethernet: T8142: do not raise ValueError for non-existing interfacesChristian Breunig
Call verify_interface_exists() with state_required=True to ensure the interface exists physically and is recognized by the kernel, rather than relying on its presence in the CLI configuration. Unlike bridge or bond interfaces, Ethernet interfaces are not virtual and must be physically present. Ethtool() instance can only be created when the physical interface exists, otherwise a ValueError is raised.
2026-01-01router-advert: T8140: add captive portal support (RFC 8910)Marius Lindvall
Add support for captive portal identification in IPv6 router adverts as defined in RFC 8910. The value is a quoted URL pointing to an RFC 8908-compliant API endpoint.
2026-01-01nat66: T8139: add support for NAT66 source groupsMarius Lindvall
Copy the support for NAT66 destination groups (commit f96733dd and commit 43554efc) over to NAT66 source groups as well. Change the existing smoketest for NAT66 groups to also cover a source group use-case example.
2026-01-01T8138: add nat66 as dependent of firewall groupsMarius Lindvall
Add nat66 as a dependency of firewall groups, because nat66 may reference firewall groups via source-destination-group-ipv6.xml.i. The dependency is necessary to ensure a fresh nft ruleset is built when dependent groups are updated, so that the changes actually take effect in nat66 on commit. Add a smoketest to cover nft rulesets failing to update as a result of changes to dependent firewall groups. Original commit adding support for groups in nat66 is commit f96733dd.
2025-12-30T8133: BGP add local-rib feature for BMPViacheslav Hletenko
2025-12-30tests: T7664: segment-routing, remove defaultsKyrylo Yatsenko
In FRR 10.5 block-len, node-len and func-bits are not shown if they have default values. Fix test smoketest/scripts/cli/test_protocols_segment-routing.py accordingly (update expected + change func-bits 16 -> 12 so that they are shown). Relevant commits in FRR: 44e67d2d3dabdc1492448e6a3c7024bd0309c244 84c807a3b300f4c9fcda55bccd93dcb64716f5d7
2025-12-30bgp: T7664: add 'no bgp reject-as-sets'Kyrylo Yatsenko
In FRR 10.5 'bgp reject-as-sets' became default (https://frrouting.org/release/10.5.0/): > BGP rejects AS_SET by default > Until 10.5.0, it was disabled by default, and since RFC 9774 was > published, we switched this on by default (to reject). Add 'no bgp reject-as-sets' when VyOS option reject_as_sets is not set.
2025-12-26bond: T2416: support hot-add/remove of bond member interfacesChristian Breunig
Previously, adding or removing a bond member interface would force the entire bond into an admin-down state, removing and re-adding all member interfaces. This caused unnecessary link up/down events and excessive log noise on partner devices. This change refactors the code to allow hot-adding and removal of bond member interfaces without disrupting existing members, minimizing link state changes and log entries.
2025-12-17login: T8086: replace getpwall() occurances with get_local_passwd_entries()Christian Breunig
Switch to our custom implementation to avoid NSS/TACACS timeouts as explained in commit 4c9eaaa96e06 ("login: replace getpwall() user enumeration to avoid NSS/TACACS timeouts").
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-11Merge pull request #4880 from natali-rs1985/T7972Viacheslav Hletenko
vpp: T7972: Make `nat44 no-forwarding` feature automatically configurable
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-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-27snmp: T8039: fix v3 trap targetsChristian Breunig
The generated Net-SNMP configuration for SNMPv3 trap-targets was fundamentally broken. Not only was the auth/priv type not written in uppercase letters, but also the ordering of transport protocol, IP(v6) address and port was wrong. To complete the issues above - IPv6 addresses did not get wrapped into mandatory [] brackets.
2025-11-25Merge pull request #4859 from cpcowart/cpcowart/send-cert-alwaysDaniil Baturin
T8027: vpn: adding config for swanctl "send-cert always"
2025-11-24Merge pull request #4672 from apschultz/zone_default_firewall_rulesetSimon
firewall: T7739: Default ruleset for firewall zones
2025-11-21T8027: vpn: adding config for swanctl "send-cert always"Chris Cowart
This setting seems to be required for various Apple clients to connect to the IKEv2 IPSec VPN.
2025-11-21smoketest: T8023: adjust base interface test for Vlan MTUsChristian Breunig
Some drivers are limited to an MTU of 1500 byte - e.g. when VyOS runs on PROXMOX with default bridge settings. We use lower values for the testcase test_vif_8021q_mtu_limits which will fit for almost every NIC, but keep the testcase logic intact.
2025-11-21bond: T8023: validate member interface min/max MTUChristian Breunig
It is impossible to set the bond interface MTU to be larger or lower then the limits of the underlaying interface MTU. Add proper commit validation and smoketest.
2025-11-19Merge pull request #4854 from c-po/veth-fixViacheslav Hletenko
veth: T8017: bugfix KeyError: 'peer_name'
2025-11-18Merge pull request #4845 from vyos/T7556Daniil Baturin
T7556: VPP add IPFIX collector configuration
2025-11-18veth: T8017: bugfix KeyError: 'peer_name'Christian Breunig
Use safe dict_search() function to locate veth peer interface name. If no peer is defined an error will be displayed.
2025-11-14T7556: VPP add IPFIX collector configurationViacheslav Hletenko
Add VPP IPFIX configuration commands: ``` set vpp ipfix active-timeout '8' set vpp ipfix collector 192.0.2.2 port '2055' set vpp ipfix collector 192.0.2.2 source-address '192.0.2.1' set vpp ipfix flowprobe-record 'l2' set vpp ipfix flowprobe-record 'l3' set vpp ipfix flowprobe-record 'l4' set vpp ipfix inactive-timeout '32' set vpp ipfix interface eth0 set vpp ipfix interface eth1 direction 'both' set vpp ipfix interface eth1 flow-variant 'ipv4' ```
2025-11-14Merge pull request #4841 from alexandr-san4ez/T7255-currentViacheslav Hletenko
VRF: T7255: Impossible to delete protocols under VRF
2025-11-13Merge pull request #4835 from natali-rs1985/T7731Nataliia S.
T7731: Static ARP entries are missing after an interface status change
2025-11-12vrf: T7255: Impossible to delete protocols under VRFOleksandr Kuchmystyi
When deleting the 'protocols' node under a VRF, a `KeyError` was raised in `frrender.py` because the 'protocols' dictionary key was missing when attempting to update protocol states. This prevented configuration commits from completing successfully.
2025-11-12T7731: Static ARP entries are missing after an interface status changeNataliia Solomko
2025-11-08pppoe: T7485: make xml leafNode address a multi-type nodeChristian Breunig
Commit fb9f2f3e950 ("pppoe: T7485: allow explicit request for CPE IPv6 address via IA_NA") introduced the CLI node definition for address dhcpv6, which at the time had only a single available option. Because of that, the node wasn't defined as <multi/> in the XML schema. However, the generic interface code expects address to be a <multi/> XML node, which is translated into a list in Python. This mismatch caused an error referencing the letter d, corresponding to the first character of dhcpv6.
2025-11-07smoketest: T7996: drop frr-reload.py implementation when reading running configChristian Breunig
Commit 9775bb49e ("frr: T7664: drop BASH/SED implementation in smoketest getFRRconfig()") dropped a custom BASH/SED based implementation of how we interacted with FRR to make use of the utility helpers from FRR team. This changed added some arbitray warnings when executing about unclosed files handles. ResourceWarning: unclosed file <_io.BufferedReader name=5> Instead of importing the frr-reload Python module, we simply call popen() by ourself.
2025-11-07smoketest: T7966: perform full regex match with ^ and $Christian Breunig
Commit 9775bb49e ("frr: T7664: drop BASH/SED implementation in smoketest getFRRconfig()") changed how we searched strings using a regex. In the past we searched at the beginning of a line ^ till the end $. THis logic was dropped in commit 9775bb49e marking some tests failing as they matched, when they should not match. Example: getFRRconfig('vrf red') showed output for both VRF red and red15 as both started with "red". This has been fixed.
2025-11-06smoketest: T7996: replace hardcoded sleep(8) in VRF test with wait_for()Christian Breunig
The original VRF DHCP test case, introduced in commit 186900f7165b2 ("smoketest: T7927: test DHCP route preservation"), used a fixed delay of 8 seconds to wait for the DHCP server and client to initialize. This approach was unreliable and could cause unnecessary test delays. Since commit 354517677f ("wlb: T7977: Updated smoketest to validate nft vmap weight buckets"), the "vyos.utils.misc.wait_for()" helper provides a more efficient busy-wait loop with an early-exit condition. This test case now uses wait_for() to detect when the DHCP-assigned default route becomes available, eliminating the fixed sleep and reducing test runtime.
2025-11-06smoketest: T7996: fix hardcoded "vrf red" search path in FRR configChristian Breunig
Commit 186900f7165b2 ("smoketest: T7927: test DHCP route preservation") which was added to validate a bugfix for DHCP default routes added it's own little regression. Tests defined a VRF named red15, but when reading in the FRR configuration we have had a hardcoded search for "vrf red" instead. This has been fixed to re-use the defined VRF variable name we perform our test on.
2025-11-06smoketest: T7996: vrf CLI path is always deleted in tearDown()Christian Breunig
2025-11-06Merge pull request #4823 from l0crian1/fix-wlb-multi-intChristian Breunig
wlb: T7977: Fix weight calculation for multiple interfaces
2025-11-06Merge pull request #4834 from alexandr-san4ez/T7112-currentViacheslav Hletenko
firewall: T7112: Default action drop fails
2025-11-05Merge pull request #4833 from c-po/fix-veth-removalViacheslav Hletenko
veth: T7990: fix stale DHCP clients when removing virtual Ethernet pairs
2025-11-05firewall: T7112: Default action drop failsOleksandr Kuchmystyi
Prevent `KeyError` by safely handling missing 'member' dict in zone config. Add smoketest to verify commit fails gracefully when zone has no interfaces.