summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2026-04-15serial: T8375: call update_serial_console() only once for default ttyChristian Breunig
When there are multiple serial consoles defined; but either none or the last used the 'kernel' CLI option to disply Kernel messages, the GRUB code was called multiple times. By moving the call to the GRUB helpers outside the for loop we gain a single execution of the code path, not that it matters performance wise - but messing with the bootloader should be reduced to a minimum.
2026-04-14Merge pull request #5092 from c-po/kernel-serial-activationChristian Breunig
serial: T8375: use boot activation script to define a serial console on the CLI
2026-04-13Merge pull request #5081 from alexandr-san4ez/T7784-currentJohn Estabrook
config-sync: T7784: Add command to diff configuration with secondary node
2026-04-13Merge pull request #5121 from c-po/netlinkd-high-cpuViacheslav Hletenko
vyos-netlinkd: T8486: fix high-cpu utilisation due to excessive CLI calls
2026-04-12op-mode: T8483: fix /show_sensors.py: No such file or directoryChristian Breunig
After rewriting the op-mode handlind code and introducing virtualTagNodes for op-mode, also all <command> statements will be executed by a runner. Executing "bash -c ''" code within that runner lacks the proper environment. This can be verified by adding "env" into the bash -c '' executions string. Solve this issue by moving the hypervisor detection code to show_sensors.py.
2026-04-12vyos-netlinkd: T8486: fix high-cpu utilisation due to excessive CLI callsChristian Breunig
strace: Process 16362 attached [pid 16362] execve("/bin/cli-shell-api", ["/bin/cli-shell-api", "--show-active-only", "showConfig", "interfaces"], ...) = 0 [pid 16362] +++ exited with 0 +++ --- SIGCHLD ... strace: Process 16363 attached [pid 16363] execve("/bin/cli-shell-api", ["/bin/cli-shell-api", "--show-active-only", "showConfig", "interfaces"], ...) = 0 [pid 16363] +++ exited with 0 +++ --- SIGCHLD ... This would appear to be due to vyos-netlinkd calling op_mode_config_dict() more than is necessary: it can be called only when it may be applicable (this patch). Co-Authored-by: John Estabrook <jestabro@vyos.io>
2026-04-10Merge pull request #5108 from sever-sever/T8448Christian Breunig
T8448: add an option to enable SNMP traps in VRRP
2026-04-10Merge pull request #5118 from sever-sever/T8459Christian Breunig
T8459: Fix cron GeoIP update remove unexpected force option
2026-04-10T8448: VRRP add configuration for the SNMP trapsViacheslav Hletenko
Allow to configure Keepalived VRRP traps - set high-availability vrrp snmp trap
2026-04-10Merge pull request #5115 from c-po/commit-archive-vrfDaniil Baturin
remote: T4732: add VRF option for commit-archive
2026-04-10T8459: Fix cron GeoIP update remove unexpected force optionViacheslav Hletenko
Remove unexpected `--force` option for the GeoIP update cron task $ /usr/libexec/vyos/geoip-update.py --force usage: geoip-update.py [-h] [--init] geoip-update.py: error: unrecognized arguments: --force
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-09serial: T8375: use boot activation script to define a serial console on the CLIChristian Breunig
Required during first-boot of a system. We have images form amd64 and arm64 CPUs which also tend to have different serial interfaces (ttyS vs. ttyAMA). The images which are installed have the correct serial setting for GRUB (ttyS0 or ttyAMA0) and the activation script will probe the Kernel command-line. If a serial interface is defined, we will include it in the VyOS CLI configuration.
2026-04-09vyos-router: T8375: rename "system" to "activate"Christian Breunig
Clearly indicate during startup what happens. When we see "system" on the CLI, infact we ran the activation scripts, thus the rename.
2026-04-09T8375: general import cleanup on the way to serial activationChristian Breunig
For the sake of nice grep lines and refactoring we have an unspoken - unwritten rule considered as folklore to have imports one per line. This helped in the past with refactorings.
2026-04-09Merge pull request #5004 from jd82k/ndproxyDaniil Baturin
T8292: Fix ndp-proxy verify key mismatch for prefix rules
2026-04-09Merge pull request #5114 from mihakralj/fix/T8452-typo-vppDaniil Baturin
vpp: T8452: fix typo in variable name
2026-04-08serial: T8211: refactor rule to reduce duplicationStephen Nothnagel
Store the PROGRAM output in a temporary .BY_BUS ENV variable, then reference it via %E{.BY_BUS} in the SYMLINK+= assignments. This collapses the three duplicated PROGRAM pipelines into a single invocation and removes the mixed usage of $result and %c. No functional change: tested on MosChip MCS7840 (2x 4-port chips, 8 ports total), FTDI FT4232H, and Sierra EM7455 -- all symlinks identical before and after, verified with udevadm test. Reduces duplication; refactor suggested by @copilot-pull-request-reviewer on PR #5113.
2026-04-07Merge pull request #5103 from alexandr-san4ez/T8281-currentDaniil Baturin
firewall: T8281: Normalize network prefixes in rule configuration
2026-04-07Merge pull request #5107 from alexandr-san4ez/T8282-currentDaniil Baturin
firewall: T8282: Normalize invalid network-group names during migration
2026-04-06vpp: T8452: fix typo in variable nameMiha
Rename `id_from_persisten_conf` to `id_from_persistent_conf`.
2026-04-06serial: T8211: fix symlink collisions for multi-port USB serial adaptersStephen Nothnagel
Multi-port USB serial adapters (e.g., MosChip MCS7840) where all ports share the same USB ID_PATH create identical symlink names in /dev/serial/by-bus/, causing only the last-enumerated port to be accessible. Split the existing catch-all rule for devices with .ID_PORT into two cases: - Port 0: keeps the base symlink name (backward compatible) - Port 1+: appends pN suffix (e.g., usb0b1.4.1p1.0p1) Devices where each port has a unique ID_PATH (e.g., FTDI FT4232H) and single-port devices are unaffected.
2026-04-06remote: T4732: add VRF option for commit-archiveChristian Breunig
Add new CLI option to make transfers to the commit-archive working using a dedicated (e.g. management) VRF. set system config-management commit-archive vrf MGMT All transfers using vyos.remote module will now run through the VRF defined on the CLI.
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-03Merge pull request #5101 from natali-rs1985/T8438Viacheslav Hletenko
vpp: T8438: Add bidirectional interface-in-use validation
2026-04-03Merge pull request #5106 from c-po/joolViacheslav Hletenko
nat64: T8456: add constraint for translation port range
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-04-03nat64: T8456: add constraint for translation port rangeChristian Breunig
NAT64 requires dedicated transport address space for translation, similar to exclusive port ownership during socket binding. If a local process and Jool translation both use the same transport tuple (for example, 192.0.2.1:5000), traffic conflicts can occur. Jool does not prevent pool4 from overlapping with other port allocations, so avoiding conflicts is an operator responsibility. In addition to service ports already in use, account for Linux ephemeral range (net.ipv4.ip_local_port_range), which defaults to 32768-60999. This default is why, when pool4 is empty, Jool uses 61001-65535 on the node's primary global addresses. One can adjust the ephemeral range via sysctl, and Jools translation range via pool4 add/remove. vyos@vyos:~$ sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 60999 VyOS now uses verify() in NAT64 to check that the supplied tranlation port range does not overlap with the Kernels ephemeral port range.
2026-04-03nat64: T8456: rename CLI path variables for a better fitChristian Breunig
2026-04-03nat64: T8456: remove no longer needed pylint control statementsChristian Breunig
2026-04-02Merge pull request #4872 from c-po/vyos-netlinkdChristian Breunig
vyos-netlinkd: T8047: replacement of netplugd
2026-04-02vpp: T8438: Add bidirectional interface-in-use validationNataliia Solomko
Add bidirectional VPP interface reference validation: prevent assigning an interface used by a VPP feature (NAT/ACL/IPFIX/sFlow, etc.) as a VPP member (bond/bridge/xconnect) and prevent using a VPP member interface in VPP features. Block interface deletion when it is still referenced by any VPP feature/member. Fix VLAN subinterface removal checks broken by the recent VPP config tree restructuring.
2026-04-01config-sync: T7784: Add command to diff configuration with secondary nodeOleksandr Kuchmystyi
Add a new operational command to compare configuration between nodes participating in config synchronization. New command: - `show configuration secondary sync [commands] [running|candidate|saved] [config-node-path]`. This allows operators to view configuration differences across secondary peer before applying or syncing changes. Supports: - displaying using raw diff and 'commands' format; - optional section filtering (subtree comparison); - selectable config source (running, candidate, saved).
2026-03-31firewall: T8446: Prevent chain with offload rule on local zonesarthurdev
* Add warning when defining `offload-target` without setting action to `offload`
2026-03-30Merge pull request #5086 from natali-rs1985/T8419Christian Breunig
vpp: T8419: Disallow cross-membership between VPP and kernel bonding/bridge interfaces
2026-03-27T8410: Fix typos and mistakes for comments and messagesViacheslav Hletenko
Fix typos and mistakes No functional changes
2026-03-27vpp: T8419: Disallow cross-membership between VPP and kernel bonding/bridge ↵Nataliia Solomko
interfaces
2026-03-27T8420: Fix typo in vpn_openconnect.pyQuill Cronwall
2026-03-26Merge pull request #5080 from natali-rs1985/T8416Christian Breunig
vpp: T8416: Prevent interfaces from being assigned to xconnect and bridge/bonding at the same time
2026-03-26vpp: T8416: Prevent interfaces from being assigned to xconnect and ↵Nataliia Solomko
bridge/bonding at the same time
2026-03-26vpp: T8432: Fix AttributeError for enabling vpp interfaceOleksandr Kuchmystyi
Fix AttributeError in `_is_device_allowed` by using iface parameter for `persist_config` lookup.
2026-03-25Merge pull request #5078 from natali-rs1985/T8379Christian Breunig
T8379: PBR commit fail with traceback if non-existing VRF added
2026-03-25Merge pull request #5082 from sever-sever/T8410Christian Breunig
T8410: Fix typos and mistakes for operational and configuration commands
2026-03-25vpp: T8422: Resolve inconsistent behavior with `allow-unsupported-nics` ↵Oleksandr Kuchmystyi
configuration option Prevents attachments of unsupported NICs when the allow-unsupported-nics option is removed.
2026-03-25firewall: T8277: Resolve migration issue when using `port-group` with ↵Oleksandr Kuchmystyi
protocol 'all' Updated the migration script to ensure that when migrating firewall rules, if a `port-group` exists, the protocol will be set to 'tcp_udp' only when its previous value is 'all'.
2026-03-24Merge pull request #5071 from AlectoTheFirst/fix/pppoe-dhcpv6-noipv6Daniil Baturin
T8405: fix noipv6 emitted when dhcpv6-options configured without ipv6 node
2026-03-24T8410: Fix typos and mistakes for operational and configuration commandsViacheslav Hletenko
Fix typos and mistakes in the commands and comments No functional changes
2026-03-24Merge pull request #5039 from natali-rs1985/T8355Daniil Baturin
vpp: T8355: Set MTU for vpp interfaces
2026-03-24Merge pull request #4968 from natali-rs1985/T8188Daniil Baturin
T8188: Preserve static IPv4 addresses flushed by dhclient
2026-03-24Merge pull request #5077 from c-po/system-login-default-passwordDaniil Baturin
login: T8415: show Warning() if default password is used when adding user