summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli
AgeCommit message (Collapse)Author
2026-06-05vrf: T8936: Specify `pref 1998` when deleting fwmark routing rules on VRF ↵Nataliia Solomko
removal
2026-06-04geoip: T5746: Add GeoIP ASN supportsarthurdev
2026-05-28nat: T8939: fix KeyError: 'group' exceptionChristian Breunig
Prevent access to missing dictionary key by probing for availability. On removal of inbound-interface or outbound-interface name CLI node, there was a guard missing when accessing the CLI dictionary containing the config data.
2026-05-28Merge pull request #5109 from statio/fix/vrf-aware-port-checkDaniil Baturin
T8454: fix VRF-bind port availability check in service_https
2026-05-28Merge pull request #5169 from jestabro/exclusive-mask-config-syncJohn Estabrook
T8502: Add exclusion mask to config-sync
2026-05-28T8502: op-mode call needs to wait on completion of remote commitJohn Estabrook
The added calculations were just enough to introduce a race between remote commit completion and show remote config.
2026-05-27T8454: fix VRF-bind port availability check in service_httpsLee Clements
When service https is configured with a listen-address on a VRF interface, adding or changing the vrf option causes the commit to fail with "TCP port 443 is used by another service!" even though no conflict exists. Root cause: check_port_availability() performs a socket.bind() in the default network namespace. When the listen-address belongs to a VRF interface the address is unreachable from the default namespace, so the bind fails with OSError which is misinterpreted as "port in use". The secondary check via is_listen_port_bind_service() also fails because psutil cannot see sockets bound inside a VRF. Fix: add an optional vrf parameter to check_port_availability(). When set, the test socket is bound to the VRF master device via SO_BINDTODEVICE before the bind() call, so that the address is resolved in the correct L3 domain. This is done in-process (no subprocess) and works for both IPv4 and IPv6. service_https verify() now passes the configured VRF (if any) to check_port_availability(). Non-VRF configurations are unaffected. Add smoke test for HTTPS with listen-address inside a VRF. Co-authored-by: Christian Breunig <christian@breunig.cc>
2026-05-27Merge pull request #5208 from alexandr-san4ez/T8538-currentChristian Breunig
snmp: T8538: Persist engineBoots counter across reboots
2026-05-26Merge pull request #5197 from alexandr-san4ez/T7555-currentViacheslav Hletenko
ipsec: T7555: Implement `ikev2-reauth` for site-to-site peers
2026-05-26Merge pull request #5179 from josephillips85/currentChristian Breunig
Policy: T8823: validation of GE and LE according FRR instructions
2026-05-26Merge pull request #5119 from AppMana/T8480Christian Breunig
wan: T8480: add suppress_prefixlength ip rules for internal routing
2026-05-22snmp: T8538: Persist engineBoots counter across rebootsOleksandr Kuchmystyi
Per RFC 3414 section 2.2 (Replay Protection), the `snmpEngineBoots` counter must be stored in non-volatile storage and incremented on every snmpd restart. VyOS was not persisting this value, causing it to reset to 1 after every reboot. SNMP managers cache the engineBoots value from previous sessions. When VyOS resets the counter to 1 after reboot, managers reject incoming SNMPv3 trap packets as "too old", producing errors such as: ``` usm: Message too old. reboot count invalid ``` This change introduces `/config/snmp/engineboots.count` as a disk-backed persist file and it uses to sync the counter into snmpd's conf before the daemon starts.
2026-05-22T8910: ipoe-server: expose accel-ppp idle-timeout optionAlex Kudentsov
Add a CLI knob to terminate idle IPoE sessions after a configurable timeout: set service ipoe-server idle-timeout <0-86400> Today there is no way to age out stale IPoE sessions: clients that go silent (powered off, link down) leave a session record on the router indefinitely. accel-ppp natively supports idle-timeout in its [ipoe] section but VyOS did not expose it. The option is added as a shared accel-ppp include so it can be reused by other accel-ppp services in follow-up PRs.
2026-05-22Merge pull request #5198 from indrajitr/T8862-dhcpv6-reservation-multiViacheslav Hletenko
dhcpv6: T8862: Allow multiple addresses and prefixes for reservations
2026-05-21ntp: T8601: use read_file(..., sudo=True) for config read in smoketestChristian Breunig
2026-05-21ntp: T8601: add local stratum optionanderbak
2026-05-21Merge pull request #5210 from sever-sever/T8822Christian Breunig
T8822: Add BFD strict mode for BGP
2026-05-21Merge pull request #5175 from natali-rs1985/T8509Daniil Baturin
wireguard: T8509: Add fwmark ip rules for VRF-bound interfaces
2026-05-21T8822: Add BFD strict mode for BGPViacheslav Hletenko
2026-05-20load-balancing: T7928: Fix port conflict check to respect `listen-address` ↵Alexandr K.
(#5186) The port availability check in `verify()` was using `front_config.get('address')` which always resolved to `None`, causing the validator to treat any process holding a given port number as a conflict regardless of which IP it was bound to.
2026-05-20ipsec: T7555: Implement `ikev2-reauth` for site-to-site peersOleksandr Kuchmystyi
IKEv2 reauthentication was configurable via CLI but never translated into `swanctl.conf`. Add `reauth_time` to the peer connection template, driven by the `ikev2-reauth` flag on the ike-group and the per-peer override (yes/no/inherit).
2026-05-19high-availability: T7059: Allow disabling persistent connections for ↵Nataliia S.
virtual-server (#5205)
2026-05-16dhcpv6: T8862: Allow multiple addresses and prefixes for reservationsIndrajit Raychaudhuri
Add support for allowing DHCPv6 to assign reservations for multiple addresses and prefixes to a single client simultaneously.
2026-05-14dhcpv6: T8849: Add time-zone support for Kea DHCPv6 (#5190)Indrajit Raychaudhuri
* dhcpv6: T8849: Add time-zone support for Kea DHCPv6 Add DHCPv6 option support for time zone (RFC4833 options 41 and 42). This includes both the POSIX-style TZ string (`new-posix-timezone`) and the IANA time zone name (`new-tzdb-timezone`). * dhcpv6: T8849: Refactor per code-review suggestion * dhcpv6: T8849: Reformat for compliance
2026-05-13T8823: validation of GE and LE according FRR instructionsJose Phillips
2026-05-13T8823: validation of GE and LE according FRR instructionsJose Phillips
2026-05-13dhcp: T8848: Fix timezone pcode data (#5189)Indrajit Raychaudhuri
According to Kea documentation: When a data field is a string and that string contains the comma (`,`; U+002C) character, the comma must be escaped with two backslashes (`\\,`; U+005C) because both the routine splitting of CSV data into fields and JSON use the same escape character. A single escape (`\,`) would make the JSON invalid. Accordingly, the pcode generated for time-zone should have the `,` double escaped. For example, `"GMT0BST,M3.5.0/1,M10.5.0"` should be rendered as `"GMT0BST\\,M3.5.0/1\\,M10.5.0"`. See: https://kea.readthedocs.io/en/stable/arm/dhcp4-srv.html#standard-dhcpv4-options
2026-05-13bgp: T8588: Add match source-peer to policy route-map (#5149)Robin Christ
2026-05-13T8600: Add option to change logging verbosity in Kea (#5178)Nataliia S.
2026-05-12wan: T8480: make only-default-route opt-indoctorpangloss
2026-05-12frr: T8606: add watchfrr timeout option (#5165)anderbak
Co-authored-by: Christian Breunig <christian@breunig.cc>
2026-05-11Merge pull request #5184 from hedrok/T8612-update-frr-10.6.1Christian Breunig
T8612: upgrade frr to 10.6.1
2026-05-11Merge pull request #5171 from natali-rs1985/T8607Christian Breunig
bgp: T8607: Add CLI support for BGP update-delay and establish-wait
2026-05-11smoketests: T8845: missing base-class call to commit() in tearDownClass()Christian Breunig
The smoketest framework heavily relies on deriving common code paths. The tearDownClass() is called when a testcase finishes and testcases like protocols BGP delete CLI nodes before calling the base class. The base-class never calls commit() thus the deletions are discarded instead of committed. test_protocols_bgp.py @classmethod def tearDownClass(cls): cls.cli_delete(cls, ['policy', 'route-map']) cls.cli_delete(cls, ['policy', 'prefix-list']) cls.cli_delete(cls, ['policy', 'prefix-list6']) super(TestProtocolsBGP, cls).tearDownClass() base class base_vyostest_shim.py @classmethod def tearDownClass(cls): # discard any pending changes which might caused a messed up config cls._session.discard()
2026-05-11wireguard: T8509: Add fwmark ip rules for VRF-bound interfacesNataliia Solomko
When a WireGuard interface has both fwmark and VRF configured, outgoing tunnel packets marked with the fwmark were not routed into the correct VRF routing table, causing them to hit the l3mdev unreachable rule instead. Add an ip rule at priority 1998 (after l3mdev at 1000 and before l3mdev unreachable at 2000) to route fwmark-tagged packets into the correct VRF routing table.
2026-05-11bgp: T8607: Add CLI support for BGP update-delay and establish-waitNataliia Solomko
2026-05-09tests: T8612: FRR 10.6 ospf ABR required for virtual-linkKyrylo Yatsenko
FRR commit 4257c1dc28e71234f9338f1623a8fe677445db7e introduced check that virtual-link is allowed only for ABR router. Update test accordingly.
2026-05-09Merge pull request #5170 from indrajitr/dhcp-vendor-space-fixChristian Breunig
kea: T8763: Fix vendor-encapsulated-options space
2026-05-06kea: T8763: Fix formatting for ruff validationIndrajit Raychaudhuri
2026-05-06kea: T8763: Smoketest vendor-encapsulated-options spaceIndrajit Raychaudhuri
2026-05-06Merge pull request #5159 from c-po/kernel-6.18Christian Breunig
T8147: Update Linux Kernel to 6.18
2026-05-02smoketest: T8147: disable adaptive_rx|tx for virtio driversChristian Breunig
Kernel 6.18 exposes support for adaptive_rx interrupt coalescing - but if set via ethtool, it still is in disabled state. $ sudo ethtool -C eth2 adaptive-rx on $ sudo ethtool -c eth2 Coalesce parameters for eth2: Adaptive RX: off TX: n/a Disable testcase for virtio modules.
2026-04-30T6750: sr-te: Adding initial Segment Routing Traffic Engineering portion of ↵Cheeze-It
FRR (#4994) * sr-te: T6750: Adding Segment Routing Traffic Engineering portion of FRR --------- Co-authored-by: Cheeze_It <none@none.com> Co-authored-by: Christian Breunig <christian@breunig.cc>
2026-04-28kea: T8586: Skip static mappings without match criteriasarthurdev
2026-04-27T8293: Add ability to set timeout for high-availability health-checkNataliia Solomko
Setting a timeout allows VRRP health-check scripts to run longer than the set interval. Without timeout, keepalived considers the script as failed after interval seconds. With timeout set higher than interval, the script has more time to complete before being marked as failed and transitioning VRRP to FAULT state.
2026-04-24Merge pull request #5130 from natali-rs1985/T8460Viacheslav Hletenko
vpp: T8460: Use isolated cpus for VPP cpu-cores
2026-04-24Merge pull request #5129 from inetman28/fix-acl-subinterfacesViacheslav Hletenko
VPP: T8495: fix issue with assigning acl on sub interfaces
2026-04-24Merge pull request #5137 from c-po/sr-sysctl-fixViacheslav Hletenko
T8534: refactor sysctl_(read|write) to accept key parts
2026-04-21vpp: T8460: Use isolated cpus for VPP cpu-coresNataliia Solomko
VPP CPU core assignment now uses kernel-isolated CPUs (from /sys/devices/system/cpu/isolated) with explicit corelist-workers instead of computing offsets from available cores with skip-cores/workers. Added validation that enough CPUs are actually isolated before VPP starts, and that isolate-cpus config only references existing CPU IDs. Moved smoketest for kernel option 'isolate-cpus' to test_vpp.py
2026-04-21Merge pull request #5100 from sarthurdev/T8446Daniil Baturin
firewall: T8446: Prevent chain with offload rule on local zone