| Age | Commit message (Collapse) | Author |
|
|
|
When removing the mirror CLI node to stop mirroring or redirecting traffic
to another interface, the egress configuration was not cleared. This caused
traffic to continue being sent out the SPAN port even after the node was
removed.
Fix by properly clearing all tc(8) qdiscs.
Update smoketests to verify nothing remains after mirror deletion.
|
|
op-mode: T8362: "compare" command lacks catch_broken_pipe decorator
|
|
When compare calculation is still in progress and it should be abourted
by Ctrl+C, prevent a backtrace and catch the KeyboardInterrupt.
|
|
Multiple helper functions imported json.loads() or vyos.utils.process.cmd(),
this has been unified in one place.
|
|
Commit 0bf386cee9b0 ('qos: T4284: rename "traffic-policy" node to "qos policy"')
already renamed the CLI for QoS. The internal data representation kept the old
name which is now corrected.
|
|
|
|
T8347: enable pylint for all files under python/* path
|
|
Pylint warns about mask being used before assignment because mask is created
inside the try block. While os.umask() itself is highly unlikely to fail,
Python can raise asynchronous exceptions like KeyboardInterrupt or MemoryError
at any given moment. If one of those exceptions occurs precisely after the try:
statement but before "mask = os.umask(0o111)" completes, Python calls
finally with "os.umask(mask)" causing UnboundLocalError.
|
|
Pylint is pointing out that because sftp.put(location, path) is located inside
a finally block, it is guaranteed to execute regardless of whether the try
block succeeds or fails.
If an exception other than an IOError is raised inside the try block,
"except IOError" block gets skipped, Python then jumps straight to the finally
block. When it executes the finally block, it attempts to read the variable
path, but path was never assigned!
This triggers UnboundLocalError, local variable 'path' referenced before
assignment.
|
|
This happens because requests.packages.urllib3 is essentially a dynamic alias
that requests creates at runtime. Because it's dynamically generated, pylint's
static analysis cannot find it, which triggers the import error.
Avoid dynamic import by importing PoolManager directly from urllib3.
|
|
|
|
As the python netifaces module is written in C - we can not inspect any import
line as the linter does not see it. Disable the warnings here.
|
|
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.
|
|
geoip: T8326: Resolve permission issue on database paths
|
|
tech-support: T8215: Extend tech-support archive and report generation
|
|
Restore required sudo on geoip op-mode
Ensures group/permission set on geoip nftables config
|
|
|
|
T8313: T8074: add vyconf support for copy/rename
|
|
vpp: T8339: Cleanup vpp interfaces and kernel-interfaces after migration
|
|
T7513: vyos-1x: CGNAT Exclude Rule CLI support
|
|
|
|
|
|
|
|
- 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
|
|
Disabled "point-to-multipoint" mode for GRE interfaces, along with related "mode" node.
This mode relies on the 'teib' feature, which is not implemented yet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When trying to configure the VPP interface using `set vpp settings interface eth0`
and `commit`, user first see a success. Upon repeating the configuration after
deleting and re-adding it, the commit fails with an error:
- `FileExistsError: Cannot open locked storage: /run/vpp/vpp_conf.json`
This indicates that another process is using the file or a previous operation did not
release the lock, preventing new changes from being written.
The commit adds context manager support and safe close to `JSONStorage`
and refactor VPP config handling.
|
|
|
|
The igmpproxy service was started via a SysV init script, causing
systemd-sysv-generator to create a transient unit without restart policies.
When igmpproxy failed on first start, systemd did not retry, leading to
intermittent service availability.
This change replaces the auto‑generated unit with a native systemd service file
that defines proper restart settings.
|
|
|
|
Remove `dpdk-options` under `set vpp settings interface <ethN>`
and move its child options to the interface level:
- `num-rx-desc`
- `num-rx-queues`
- `num-tx-desc`
- `num-tx-queues`
Also remove `set vpp settings interface <ethN> dpdk-options promisc`.
|
|
'resource-allocation'
Replace legacy VPP CPU settings (main-core, skip-cores, workers, corelist-workers) with a single resource-allocation cpu-cores option.
CPU assignment is now handled automatically: two cores are reserved for the system, the VPP main thread is placed on the first available core, and the remaining allocated cores are used as workers.
This simplifies configuration and ensures consistent CPU allocation.
|
|
|
|
|
|
As a needed argument to the internal config_dict function, reify for
caching under vyos-configd or other running process.
|
|
|
|
|
|
vpp: T7811: Add rebind_gve_driver function for correct gve device handling
|
|
|
|
During early boot not all resources are ready for HTTP request, so
`vyos.version.get_remote_version` may fail once and the update check is then
delayed for 12 hours, leaving the router unaware of updates.
Fix by adding retries/backoff and improved error handling so transient startup
network failures don't suppress update checks for the next interval.
|
|
|
|
geoip: T7926: T8049: Refactor geoip code and add MaxMind support
|
|
interfaces: T7730: Add interrupt coalescing settings for Ethernet interfaces
|
|
vpp: T8207: Enable ip6-icmp-ra-punt feature on interfaces with DHCPv6 address configured
|