summaryrefslogtreecommitdiff
path: root/src/op_mode
AgeCommit message (Collapse)Author
2026-03-05opmode: T8343: implement common verify_cli_exists() helperChristian Breunig
Instead of re-defining a per module helper which verifies that a given CLI path exists during execution, rather create a generic representation which takes a CLI path (list) as argument with an optional error message to display on the CLI. This is the initial implementation of the generic helper with some migrations for VPP, WireGuard and Wireless interfaces. More opmode scripts should follow.
2026-03-05Merge pull request #4967 from alexandr-san4ez/T8215-currentChristian Breunig
tech-support: T8215: Extend tech-support archive and report generation
2026-03-04Merge pull request #5026 from natali-rs1985/T8339Christian Breunig
vpp: T8339: Cleanup vpp interfaces and kernel-interfaces after migration
2026-03-04Merge pull request #5006 from ritika0313/T7513-CGNAT-exclude-rule-vyos-1xViacheslav Hletenko
T7513: vyos-1x: CGNAT Exclude Rule CLI support
2026-03-04vpp: T8339: Cleanup vpp interfaces and kernel-interfaces after migrationNataliia Solomko
2026-03-04Merge pull request #4930 from giga1699/T8136Viacheslav Hletenko
ipsec: T8136: IPSEC PPK support
2026-03-04T8136: IPSEC PPK SupportGiga Murphy
2026-03-03vpp: T8327: Migrate bridge interface to 'interfaces vpp bridge'Nataliia Solomko
2026-03-03tech-support: T8215: Extend tech-support archive and report generationOleksandr Kuchmystyi
- Exclude .iso files from `/config` and `/home/*` to avoid large images - Exclude previous debug-archived from new archives - Include `/run` directory contents - Add kernel modules information (`lsmod`) - Add PCI details (`lspci -knnv`) - Include full `/config` directory - Add FRR memory usage (`vtysh "show memory"`) - Add VPP info (`vppctl`) - Add NUMA details (`numactl --hardware`, `numastat -cm`) Full list of commands here: https://vyos.dev/T8215
2026-02-26T7513: vyos-1x: CGNAT Exclude Rule CLI supportRitika Chopra
2026-02-25vpp: T8283: Move bonding interface from vpp secction to 'interfaces vpp bonding'Nataliia Solomko
2026-02-19T8120: Use list for the consoles instead of tupleViacheslav Hletenko
Co-authored-by: Christian Breunig <christian@breunig.cc>
2026-02-18T8120: Add AMA support AMA console for ARM devicesViacheslav Hletenko
2026-02-17Merge pull request #4984 from jestabro/legacy-bind-mount-configChristian Breunig
T8257: image install search previous needs to consider legacy bind mount
2026-02-13vpp: T8254: Move 'nat44' and 'settings nat44' sections to 'nat nat44'Nataliia Solomko
2026-02-12T8257: image install search previous needs to consider legacy bind mountJohn Estabrook
For those images created with the legacy bind mount, the resident config.boot at {mounted_image}/opt/vyatta/etc/config is the baseline, not the saved config (which is then restored at boot). Image install needs to search the legacy path at {mounted_image}/config as well as the normalized path.
2026-02-11vpp: T8252: Change ACL node 'macip' to 'mac'Nataliia Solomko
2026-02-02op-mode: T8018: disable buffered output when adding container imagesChristian Breunig
2026-01-29Merge pull request #4951 from c-po/broken-pipeJohn Estabrook
op-mode: T8154: fix tcpdump KeyboardInterrupt on Ctrl+C
2026-01-27T7866: Fix not all CPUs have model name keyViacheslav Hletenko
Not all platrorms have the `Model` key in the output of the /proc/cpuinfo Use `unknown` if we cannot detect it
2026-01-22op-mode: T8154: fix tcpdump KeyboardInterrupt on Ctrl+CChristian Breunig
2026-01-22T8154: make catch_broken_pipe decorator to common vyos.utils.io functionChristian Breunig
This adds the capability to make it re-usable in other code paths.
2026-01-12T8170: VPP fix IPFIX op-mode commands if VPP is not configuredViacheslav Hletenko
Fix the VPP op-mode commands traceback errror for the IPFIX feature if VPP is not configured
2025-12-29Merge pull request #4917 from c-po/bond-no-always-remove-memberChristian Breunig
bond: T2416: support hot-add/remove of bond member interfaces
2025-12-26bond: T2416: rename bond slave terminology to member interfacesChristian Breunig
2025-12-23vpp: T7203: Add op-mode to show bridge-domainNataliia Solomko
2025-12-18Merge pull request #4890 from natali-rs1985/T7954Daniil Baturin
vpp: T7954: Add op-mode commands to show LACP
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-17login: T8086: replace getpwall() user enumeration to avoid NSS/TACACS timeoutsChristian Breunig
The previous implementation of "system login" relied on Python's pwd.getpwall() to enumerate user accounts. This forces a full walk through the NSS stack, which is acceptable in general but problematic for our use-case. VyOS only needs information about locally created accounts and not remote accounts provided via AAA backends such as TACACS or RADIUS. When TACACS servers are unreachable, NSS lookups become extremely slow due to repeated timeouts. As a result, any operation triggering pwd.getpwall() (including configuration commits) can stall for several minutes. This change introduces a dedicated helper, get_local_passwd_entries(), which reads /etc/passwd directly and avoids NSS entirely. Since only local UIDs are relevant, this provides all required data with no external dependencies. Performance improvement on VyOS 1.4.3 with two unreachable TACACS servers: # set system login tacacs server 192.168.1.50 key test123 # set system login tacacs server 192.168.1.51 key test123 # time commit Before: real 3m29.825s user 0m0.329s sys 0m0.246s After: real 0m1.464s user 0m0.337s sys 0m0.195s This significantly improves commit performance and removes sensitivity to AAA server outages.
2025-12-17vpp: T7954: Add op-mode commands to show LACPNataliia Solomko
2025-12-11Merge pull request #4889 from cpcowart/cc/fix-dhcpv6-renew-gateViacheslav Hletenko
T8078: dhcpv6: allow lease renew for pd & parameters
2025-12-09T8078: dhcpv6: allow lease renew for pd & parametersChris Cowart
The renew command will refuse to restart the dhcp6c process for an interface unless it is configured to request an address, but the client may also be running to manage parameters and/or prefix delegations.
2025-12-08tech-support: T7134: add topology snapshot generation using `hwloc` packageOleksandr Kuchmystyi
This enhances diagnostic capabilities by providing hardware topology visuals within support archives.
2025-12-04op-mode: T7810: fix broken 'reset connection' commandDaniil Baturin
2025-11-25T7319: check unsaved_commits before upgradeJohn Estabrook
2025-11-18Merge pull request #4845 from vyos/T7556Daniil Baturin
T7556: VPP add IPFIX collector configuration
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-14T7994: fix regression in check for previous installations on installJohn Estabrook
After T7836: move bind mount of /config to vyos-1x, the bind mount is configured at boot, not within the initrd. On image install, one needs to check for previous installations in the resident directory /opt/vyatta/etc/config of the mounted disk.
2025-11-10T8003: Add early kernel panic reboot supportGrant Slater
2025-11-03container: T7305: fix VRF loss when restarting podsChristian Breunig
Container networks are only started when there is at least one active consumer. If a network is created without any attached containers, it does not need to be assigned to a VRF yet. When the last container in a pod is stopped, its associated container network is removed. Upon container restart, the kernel recreates the network, but the VRF assignment may be lost in the process. This change ensures that all container networks are correctly reattached to their designated VRFs when a pod restarts.
2025-10-29pki: T7953: implement certbot_renew() function to have everything at one placeChristian Breunig
2025-10-25T7957: filter stderr when deleting container imagesChristian Breunig
The call to rc_cmd('podman inspect ...') determines whether a container image scheduled for deletion has any ancestor containers still using it. Previously, if the podman command wrote output to stderr, rc_cmd() would return that error message alongside or instead of the ancestor container ID. This caused subsequent podman calls to fail, as the error string was incorrectly treated as a valid command argument. This change ensures only valid ancestor IDs are returned. This is a fix for commit a99ca6d11b5 ("op-mode: T7403: add option for forcefully remove a container image")
2025-10-09Merge pull request #4678 from alexandr-san4ez/T5455-currentChristian Breunig
image: T5455: Add migration of SSH `known_hosts` files during upgrade
2025-10-06T7818: remove unneeded calls of get_cli_kernel_options causing regressionJohn Estabrook
The call of get_cli_kernel_options is made conditional to resolve T7818; remove later addition of unconditional calls causing regression.
2025-10-02pki: T7885: "renew certbot force" now supports setting up ACME from scratchChristian Breunig
Assume someone deleted the certbot_config folder, "renew certbot force" alone will not work as there are no configuration files left to know what to renew. Re-run CLI PKI helper to initially request certificates via ACME again. This "should" (famous last words) never be the case - but sometimes the universe has a bad time.
2025-10-02Merge pull request #4764 from alexandr-san4ez/T7895-currentDaniil Baturin
vyos-dhcp: T7895: rename "DHCP Server" column to "Lease Time"
2025-10-02op-mode: T7868: fix op-cmd "reset ip arp table" is not workingawolfnet
2025-10-01vyos-dhcp: T7895: rename "DHCP Server" column to "Lease Time"vanitypurpose
(cherry picked from commit e7c8867b75f6855e93792ddd255bf0ad2b2464b1)
2025-09-26image: T5455: Add migration of SSH `known_hosts` files during image upgradeOleksandr Kuchmystyi
During upgrade, the script now checks if any `known_hosts` files exist. If so, it prompts the user to save these SSH fingerprints, and upon confirmation, copies the files to the new image persistence directory.
2025-09-23tpm: T7726: Copy encrypted volume when adding system imagessarthurdev