summaryrefslogtreecommitdiff
path: root/src/etc
AgeCommit message (Collapse)Author
4 daysT9071: rename 40-usb_modeswitch.rules to 41-usb_modeswitch_wwan.rulesChristian Breunig
Prefent ISO build issue: Skipping overridden file '/usr/lib/udev/rules.d/40-usb_modeswitch.rules'. Reading rules file: /etc/udev/rules.d/40-usb_modeswitch.rules
5 daysudev: T9071: fix invalid ATTR key assignmentChristian Breunig
This fixes a (cosmetic) error which pops up in the logfiles: 40-usb_modeswitch.rules:4 ATTR key takes '==', '!=', or '=' operator, assuming '='. It was introduced in commit 93406237d ("wwan: T8924: add UDEV configuration for USB modeswitch")
2026-06-16T8923: normalize "can not" to "cannot"Christian Breunig
Replace two-word "can not" / "Can not" with "cannot" across comments, ConfigError messages, CLI help text, and op-mode output. Standard SNMP MIB files under mibs/ are left unchanged.
2026-05-25wwan: T8924: add UDEV configuration for USB modeswitchChristian Breunig
When using WWAN interfaces, the Linux kernel selects configuration 2 by default, but that does not work with ModemManager - configuration 3 (MBIM mode) is a better choice. Add UDEV rules for Huawei ME906s-158 and HP LT4132 which is a re-brand of Huawei ME906s-158 to properly set MBIM mode on system startup.
2026-05-02Debian: T8147: remove out-of-tree OpenVPN DCO module - incl. in Kernel 6.18Christian Breunig
Move from the out-of-tree to an in-tree variant of the OpenVPN DCO module. As this was not available in the previous used LTS 6.6 Kernel it now is available while we upgrade to Linux 6.18.
2026-04-16Merge pull request #5113 from srnoth/T8211-multiport-serial-symlinksDaniil Baturin
serial: T8211: fix symlink collisions for multi-port USB serial adapters
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-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-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-02Merge pull request #4872 from c-po/vyos-netlinkdChristian Breunig
vyos-netlinkd: T8047: replacement of netplugd
2026-03-27T8410: Fix typos and mistakes for comments and messagesViacheslav Hletenko
Fix typos and mistakes No functional changes
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-19vyos-netlinkd: T8047: replace netplugdChristian Breunig
Implementing a daemon that listens for netlink messages in Python was discussed for many years. This is a proof-of-concept implementation how we can listen for netlink messages and process them in Python. Python 3.10 minimum is required due to the use of case statements which mimics C-style switch/case instructions. Add example: set interfaces ethernet eth1 vif 21 address dhcp set interfaces ethernet eth1 vif 21 address dhcpv6 commit If network cable is unplugged: vyos-netlinkd[12681]: RTM_NEWLINK -> eth3.10, state=DOWN, mac=00:50:56:b3:9d:8e vyos-netlinkd[12681]: Stopping dhclient@eth3.10.service... vyos-netlinkd[12681]: Stopping dhcp6c@eth3.10.service... If cable is plugged back in: vyos-netlinkd[12681]: RTM_NEWLINK -> eth3.10, state=DOWN, mac=00:50:56:b3:9d:8e vyos-netlinkd[12681]: RTM_NEWLINK -> eth3.10, state=UP, mac=00:50:56:b3:9d:8e vyos-netlinkd[12681]: Restarting dhclient@eth3.10.service... vyos-netlinkd[12681]: Restarting dhcp6c@eth3.10.service...
2026-03-19T8188: Preserve static IPv4 addresses flushed by dhclientNataliia Solomko
When dhclient renews/rebinds a lease, it calls "ip -4 addr flush dev <interface>". This removes ALL IPv4 addresses, including static addresses configured via VyOS (e.g., "set interfaces ethernet eth0 address 192.168.1.1/24"). The updated hook logic now intercepts the "ip -4 addr flush" command and replaces it with a selective flush that only removes addresses marked as "dynamic" by the kernel. DHCP-assigned addresses have the "dynamic" flag set automatically.
2026-01-06T8153: pppoe: send RS for IPv6 autoconf on link-upMiaosen Wang
Co-authored-by: Christian Breunig <christian@breunig.cc>
2025-11-28ipsec: T8001: Commit fails removing VTI interface in IPsec configOleksandr Kuchmystyi
Fix cases where commit or IPsec up/down hooks fail if the VTI interface has already been deleted or the `/tmp/ipsec_vti_interfaces` file does not exist. Changes: - Return empty dict from `get_interface_config()` if it returns None to avoid TypeError when accessing 'operstate' (vti_updown_db.py). - Use `open_vti_updown_db_for_create_or_update()` in `vti‑up‑down` script so the temporary interface tracking file is created automatically when missing.
2025-11-17T7992: remove unneeded references to OPAM in skel/.bashrcJohn Estabrook
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-22Merge pull request #4622 from MattKobayashi/T3680Viacheslav Hletenko
T3680: protocols: add dhclient hooks for dhcp-interface static routes
2025-10-22Merge pull request #4804 from c-po/frr-initChristian Breunig
frr: T7664: properly set log configuration during daemon startup
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-21T3680: protocols: add dhclient hooks for dhcp-interface static routesMatthew Kobayashi
2025-10-20frr: T7664: properly set log configuration during daemon startupChristian Breunig
Related to commits: * fca49413f - frrender: T7664: do not log unique-id in syslog messages * c4c339fb5 - frrender: T7664: reduce log level to notifications during normal operation * 7ff824f44 - frrender: T7664: add "log timestamp precision 3" global option
2025-10-18T7941: fix DHCP client running in VRF with non-word charactersChristian Breunig
The previous implementation used awk with a regex to extract the VRF name from JSON data, relying on "(\w+)" to match the value. This broke for valid VRF names containing hyphens or other non-word characters. This update replaces the regex-based extraction with a jq query that reliably parses the JSON structure, ensuring correct behavior regardless of VRF name format. This also reduces parsing fragility by using a tool purpose-built for JSON processing.
2025-10-14Merge pull request #4790 from c-po/certbot-auto-renewDaniil Baturin
pki: T7908: certbot.timer must call CLI script to update certificates
2025-10-12dhcp6: T7882: Restart dhcp6c if PD is definedsarthurdev
2025-10-10pki: T7908: certbot.timer must call CLI script to update certificatesChristian Breunig
CRON is not used for certbot as pki starts the certbot timer.
2025-09-23kea: T7854: Use helper for Kea VRF systemd unitssarthurdev
2025-09-23kea: T7281: Preserve systemd unit environment in VRF execsarthurdev
2025-09-23kea: T7281: Set folder permissions to expected 0750sarthurdev
2025-09-23kea: T7821: Update paths for Kea v2.7.9 security changessarthurdev
2025-09-22kea: T7281: Use correct Kea unit filessarthurdev
2025-09-14kea: T7821: Update Kea to 3.0sarthurdev
2025-08-19Merge pull request #4508 from davi2367/vrf-dhcpDaniil Baturin
kea: T6211: add VRF support for KEA dhcp server
2025-08-15kea: T6211: add VRF support for KEA dhcp serverDavid Vølker
2025-06-28T7591: remove copyright years from source filesChristian Breunig
The legal team says years are not necessary so we can go ahead with it, since it will simplify backporting. Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \ 's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors <maintainers@vyos.io>/g' In addition we will error-out during "make" if someone re-adds a legacy copyright notice
2025-06-23pki: T7574: add optional force argument to renew certbot-issued certificatesChristian Breunig
Certbot renewal command in op-mode "renew certbot" only works if any of the certificates is up for renewal. There is no CLI option to forcefully renew a certificate. This is about adding a force option to the CLI and with this addition move the entire certbot renew handling to new-style op-mode commands. vyos@vyos:~$ renew certbot force - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /config/auth/letsencrypt/renewal/vyos.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Renewing an existing certificate for vyos.io - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all renewals succeeded: /config/auth/letsencrypt/live/vyos/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hook 'post-hook' ran with output: Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done.
2025-06-09T7374: add environment variable vyconf_bin_dirJohn Estabrook
2025-05-20opennhrp: T7462: Removed unused opennhrp files and configurationsaapostoliuk
Removed unused opennhrp files and configurations
2025-05-08frr: T7411: preserve FRR config on service restart if it existsDaniil Baturin
2025-04-23Merge pull request #4465 from MattKobayashi/T6253Christian Breunig
dhclient: T6253: Respect `no-default-route`
2025-04-23Merge pull request #4461 from c-po/slaac-removalViacheslav Hletenko
interface: T7375: cleanup SLAAC assigned address and default route after removing SLAAC CLI configuration
2025-04-22T6773: RFC-2136 support for Kea DHCP4 server (#4153)Alex Bukharov
2025-04-22sysctl: T7379: always disable IPv6 autoconf and accept_ra during startupChristian Breunig
2025-04-22dhclient: T6253: Respect `no-default-route`Matthew Kobayashi
2025-04-15Merge pull request #4412 from sarthurdev/kea_2.6Daniil Baturin
kea: T7281: Add ping-check, use built-in option for classless static routes
2025-04-15Merge pull request #4214 from dmbaturin/T6919-good-bye-fastnetmonDaniil Baturin
ids: T7241: remove Fastnetmon from the base system
2025-04-14netplug: T7360: DHCPv6 address is not cleared when interface goes oper-downChristian Breunig
When an interface goes down - e.g. cable unplugged - the DHCPv6 assigned IPv6 address is not removed from said interface. We should provide the same behavior as with IPv4. IPv6 address should be removed and dhcpv6 client restarted once the interface goes operational up again.
2025-04-14netplug: T7353: bugfix DHCP client not stopped when interface goes downChristian Breunig
The initial rewrite of vyos-netplug-dhcp-client by me tried to outsmart the DHCP client implementation by re-using vyos.ifconfig.Interface(). This added a regression where an interface loosing it's carrier no longer deconfigured it's IP address. This was a change in behavior form VyOS 1.3. In addition a bug is fixed as when a VLANs interface parent looses it's carrier we now also stop the DHCP client process. This script is now back to simply starting/stopping the DHCP client process.
2025-04-14ids: T7241: remove Fastnetmon from the base systemDaniil Baturin
It will eventually be moved to an addon