summaryrefslogtreecommitdiff
path: root/src/helpers
AgeCommit message (Collapse)Author
2026-05-28T8502: add client support for config-sync excluded pathsJohn Estabrook
2026-05-12wan: T8480: make only-default-route opt-indoctorpangloss
2026-05-12wan: T8480: add suppress_prefixlength ip rules for internal routingdoctorpangloss
WLB per-interface routing tables only contain a default route. When LAN traffic is fwmarked by WLB nftables rules, ip rule policy routes it to these tables where internal destinations (BGP, connected, DNAT) have no matching route and incorrectly exit via WAN. Add ip rule with table main suppress_prefixlength 0 before each per-interface table rule. This checks the main routing table first for specific routes but suppresses the default route, so only internet-bound traffic falls through to WLB per-interface tables. Signed-off-by: doctorpangloss <2229300+doctorpangloss@users.noreply.github.com>
2026-05-12wan: T8481: scope flush-connections to WLB connection marks (#5163)Simon
* wan: T8481: scope flush-connections to WLB connection marks flush-connections runs conntrack --delete which destroys all conntrack entries system-wide, including unrelated NAT translations and established connections that have nothing to do with WLB. WLB tags every connection it manages with a conntrack mark via the wlb_mangle_isp_<ifname> chain (ct mark set 0xc9, 0xca, etc.). Scope the flush to these marks so only WLB-managed connections are affected. Signed-off-by: doctorpangloss <2229300+doctorpangloss@users.noreply.github.com> * wan: T8481: replace conntrack deletion from state changed block --------- Signed-off-by: doctorpangloss <2229300+doctorpangloss@users.noreply.github.com> Co-authored-by: doctorpangloss <2229300+doctorpangloss@users.noreply.github.com>
2026-04-26utils: T8541: add write-config-file-value helperChristian Breunig
Introduce src/helpers/write-config-file-value.py to patch a saved config.boot from scripts by writing a quoted CLI path with an optional value (omit --value to create a valueless node). Extend vyos.utils.config.write_saved_value() to safely update saved configs: create missing parent nodes before tagging (ConfigTree.set_tag requires nodes to exist) and then write the requested value/valueless leaf back to disk. Remove the legacy serial console activation script which is now replaced by the helper-based approach. The helper is run once during ISO Image assembly and will inject the approprate serial console defintiions into config.boot.default.
2026-04-15T8445: add revised boot activation script runnerJohn Estabrook
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-13geoip: T6768: Add system name-server checksarthurdev
2026-02-05Merge pull request #4949 from sarthurdev/geoip_refactorDaniil Baturin
geoip: T7926: T8049: Refactor geoip code and add MaxMind support
2026-01-28http-api: T7090: Implement background configure operations for REST APIOleksandr Kuchmystyi
Large config commits (`service config-sync`) can block the REST API request path and sometimes must be deferred (e.g., when changing `service https`). This commit introduces an in-memory background operation manager that queues (FIFO) full configure operations (commands + commit/commit-confirm) as single jobs, tracks status/result, and exposes active operations via `/retrieve/background-operations`.
2026-01-21geoip: T8049: Add MaxMind database supportsarthurdev
2026-01-21geoip: T7926: Refactor geoip handlingsarthurdev
* Move core logic to separate vyos.geoip module * Use a sqlite database for storing and querying address ranges by country * Remove downloaded geoip ranges once loaded into sqlite db * No longer rebuild geoip sets on each commit unless necessary * Allows for extensibility using other geoip data vendors
2026-01-06Merge pull request #4935 from giga1699/T8146Daniil Baturin
T8146: Confirm the key when config encryption is configured without TPM
2026-01-03T8146: Encryption without TPM confirm keyGiga Murphy
2026-01-03T8145: LUKS Encryption Passphrase ObservableGiga Murphy
2025-12-23vpp: T8080: Fix handling of configuration system lock after vpp commit failureNataliia Solomko
2025-11-05T7910: add keyword extant, for use by teardown scriptJohn Estabrook
The standalone script teardown-config-session.py is called on CLI config-mode exit, to close the persistent vyconf config session. Instead of injecting the config-mode env var into the external script to indicate a non-ephemeral session, add keyword 'extant' to find existing session.
2025-11-03Merge pull request #4818 from l0crian1/wlb-defaultsViacheslav Hletenko
wlb: T7966: Restore default route when interface disconnects/reconnects
2025-10-30wlb: TT7966: Refactor dynamic nexthop resolutionl0crian1
2025-10-29pki: T7953: systemd certbot.service must not use PrivateTmpChristian Breunig
PrivateTmp needs to be disabled, otherwise we can not load the current VyOS configuration to reconfigure the service automatically when certbot runs.
2025-10-29wlb: T7966: Restore default route when interface disconnects/reconnectsl0crian1
2025-10-21T5811: Make static dhcp-interface routes robustKyrylo Yatsenko
Solves the problem that vyos-configs in FRRender caches configuation and DHCP changes are ignored. * Add src/helpers/vyos-request-configd-update.py that requests vyos-configd to update FRR configuration. * Make dhclient hooks use it instead of calling protocols_static.py * Make FRRender cache not only configuration but also DHCP gateways so that is any of them changes, FRR configuration is updated
2025-10-14T5942: Make failover support dhcp-interfaceKyrylo Yatsenko
* Refactor XML a little: move common dhcp-interface properties to separate include file * Add failover support for dhcp-interface * Add test for DHCP in failover protocol
2025-10-08T7803: Make failover route vrf-awareKyrylo Yatsenko
* Added 'protocol failover' to 'set vrf name': set vrf name red protocols failover route 10.11.0.110/32 next-hop 10.0.0.2 * Added vrf and interface to target: set ... next-hop 10.0.0.2 check target '10.120.0.21' vrf blue set ... next-hop 10.0.0.2 check target '10.120.0.21' interface eth1 Last two are needed when check VRF is not same as route VRF. In this case icmp can use any/both options, tcp requires `vrf` and arp requires `interface`
2025-09-30boot-config-loader: T7889: Inform user during login of config-load issuesChristian Breunig
As T7885 turns out to be a config load related bug the user will only be informed when entering conf mode that something is off. vyos@vyos:~$ configure WARNING: There was a config error on boot: saving the configuration now could overwrite data. You may want to check and reload the boot config More information is displayed on tty0 of the router - but not everyone has access to tty0. This change is about copying the message displayed on tty0 to the MOTD system.
2025-09-25Merge pull request #4753 from jestabro/config-save-sync-atomicDaniil Baturin
T7709: Add file sync and atomic write to config save script
2025-09-24T7709: use write_file_sync/atomic in vyos-save-config.py scriptJohn Estabrook
Config save is provided by the helper script in both CLI and configsession (hence also in the http api). Use utilities write_file_sync and write_file_atomic, in accordance with permissions and location: If the target is in /opt/vyatta/etc/config or /config, use write_file_sync; if, moreover, the caller has permissions, use write_file_atomic. Otherwise, fall back to util write_file.
2025-09-23tpm: T7726: Test TPM key or prompt recovery keysarthurdev
2025-09-23tpm: T7726: Prompt before overwriting existing TPM keysarthurdev
2025-09-23tpm: T7726: Prompt user before clearing TPM keysarthurdev
2025-09-23tpm: T4919: Use vyos module function for running image, single-line importssarthurdev
2025-09-23tpm: T7735: Only require key/recovery if unmappedsarthurdev
2025-09-23tpm: T7713: Restore original config mounts when decryptingsarthurdev
2025-09-23tpm: T7717: Preserve group on config and archivessarthurdev
2025-09-23tpm: T7720: Handle encrypt failure and gracefully abortsarthurdev
2025-09-23tpm: T7727: Prompt to overwrite an existing backupsarthurdev
Move encrypted volume check before key input Unmount any conflicting config bind mounts
2025-09-19T7836: use /opt/vyatta/etc/config as source of truth in tpm encryptionJohn Estabrook
The mount point /opt/vyatta/etc/config is considered the source of truth whereas /config is simply a bind mount of convenience. As the latter is no longer defined at boot, all operations should use the former.
2025-09-18Merge pull request #4708 from sarthurdev/T114Daniil Baturin
wlb: T114: Add firewall group support for WAN load balancer
2025-09-13Debian: T7817: vyos_net_name exists in debian/tmp but is not installed to ↵Christian Breunig
anywhere Fix this build warning by placing the vyos_net_name script in it's own udev folder to not accidently be copied to a wrong location.
2025-09-10wlb: T114: Add firewall group support for WAN load balancersarthurdev
2025-08-27T7759: Revert "T7709: add atomic write for config file save"John Estabrook
The utility write_file_atomic does not correctly update the file in the bind mount directory /config. Revert for investigation. This reverts commit c140f827f3117609908a3a18034027d3d78149ac.
2025-08-19Merge pull request #4660 from jestabro/validate-treeJohn Estabrook
T7718: expose validate_tree* methods and add validate-config script
2025-08-18T7718: add validate-config scriptJohn Estabrook
2025-08-12T7709: add atomic write for config file saveJohn Estabrook
2025-08-04T7688: make exit error and output of wrapper script handle all casesJohn Estabrook
2025-07-31Merge pull request #4630 from jestabro/fix-vpp-failure-handlerDaniil Baturin
T7651: VPP use pid not ppid as default in vpp-failure-handler.service script
2025-07-29T7651: use pid not ppid if not specifiedJohn Estabrook
The reset_section.py script is used in a limited case for both (1) recovery from an apply error in a config mode script and (2) recovery by a service crash in a failure handler service. In the latter case, the default pid must be os.getpid, not os.getppid, so as not to be called by pid 1.
2025-07-29Merge pull request #4627 from sarthurdev/T7628Daniil Baturin
T7628: Fix non-TPM backed config encryption
2025-07-16Merge pull request #4605 from MattKobayashi/T7625Viacheslav Hletenko
T7625: load-balancing: prune limit key if not configured
2025-07-15tpm: T7628: Fix non-TPM backed encryptionsarthurdev