| Age | Commit message (Collapse) | Author |
|
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
|
|
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")
|
|
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.
|
|
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.
|
|
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.
|
|
serial: T8211: fix symlink collisions for multi-port USB serial adapters
|
|
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
|
|
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.
|
|
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.
|
|
vyos-netlinkd: T8047: replacement of netplugd
|
|
Fix typos and mistakes
No functional changes
|
|
Fix typos and mistakes in the commands and comments
No functional changes
|
|
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...
|
|
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.
|
|
Co-authored-by: Christian Breunig <christian@breunig.cc>
|
|
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.
|
|
|
|
PrivateTmp needs to be disabled, otherwise we can not load the current
VyOS configuration to reconfigure the service automatically when certbot
runs.
|
|
T3680: protocols: add dhclient hooks for dhcp-interface static routes
|
|
frr: T7664: properly set log configuration during daemon startup
|
|
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
|
|
|
|
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
|
|
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.
|
|
pki: T7908: certbot.timer must call CLI script to update certificates
|
|
|
|
CRON is not used for certbot as pki starts the certbot timer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kea: T6211: add VRF support for KEA dhcp server
|
|
|
|
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
|
|
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.
|
|
|
|
Removed unused opennhrp files and configurations
|
|
|
|
dhclient: T6253: Respect `no-default-route`
|
|
interface: T7375: cleanup SLAAC assigned address and default route after removing SLAAC CLI configuration
|
|
|
|
|
|
|
|
kea: T7281: Add ping-check, use built-in option for classless static routes
|
|
ids: T7241: remove Fastnetmon from the base system
|
|
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.
|
|
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.
|
|
It will eventually be moved to an addon
|