summaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)Author
2026-03-10T8370: VPP cosmetic fix for verify buffers pathViacheslav Hletenko
2026-03-10vyos.ifconfig: T8358: clear qdiscs when deleting mirror CLI nodeChristian Breunig
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.
2026-03-09Merge pull request #5037 from c-po/compare-T8362Viacheslav Hletenko
op-mode: T8362: "compare" command lacks catch_broken_pipe decorator
2026-03-08op-mode: T8362: "compare" command lacks catch_broken_pipe decoratorChristian Breunig
When compare calculation is still in progress and it should be abourted by Ctrl+C, prevent a backtrace and catch the KeyboardInterrupt.
2026-03-07vyos.utils: T8358: remove duplicated imports for cmd() and loads()Christian Breunig
Multiple helper functions imported json.loads() or vyos.utils.process.cmd(), this has been unified in one place.
2026-03-07configdict: T8358: rename internal representation from traffic_policy to qosChristian Breunig
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.
2026-03-07T8186: netflow: disable IPv6 for protocol version5Kyrylo Yatsenko
2026-03-07Merge pull request #5031 from c-po/pylint-t8347John Estabrook
T8347: enable pylint for all files under python/* path
2026-03-05vyos.debug: T8347: fix UnboundLocalError in try/finally statementChristian Breunig
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.
2026-03-05remote: T8347: fix variable assignment for try/except blockChristian Breunig
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.
2026-03-05remote: T8347: avoid Python requests module dynamic alias for urllib3Christian Breunig
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.
2026-03-05configverify: T8347: fix use of undefined variable for CA certsChristian Breunig
2026-03-05template: T8347: for netifaces set "pylint: disable = no-name-in-module"Christian Breunig
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.
2026-03-05opmode: T8343: implement common verify_cli_exists() helperChristian Breunig
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.
2026-03-05Merge pull request #5027 from sarthurdev/T8326Christian Breunig
geoip: T8326: Resolve permission issue on database paths
2026-03-05Merge pull request #4967 from alexandr-san4ez/T8215-currentChristian Breunig
tech-support: T8215: Extend tech-support archive and report generation
2026-03-05geoip: T8326: Resolve permission issue on database pathsarthurdev
Restore required sudo on geoip op-mode Ensures group/permission set on geoip nftables config
2026-03-05vpp: T8342: Add verification of members for bond and bridge interfacesNataliia Solomko
2026-03-05Merge pull request #5011 from jestabro/copy-rename-requestsJohn Estabrook
T8313: T8074: add vyconf support for copy/rename
2026-03-04Merge pull request #5026 from natali-rs1985/T8339Christian Breunig
vpp: T8339: Cleanup vpp interfaces and kernel-interfaces after migration
2026-03-04Merge pull request #5006 from ritika0313/T7513-CGNAT-exclude-rule-vyos-1xViacheslav Hletenko
T7513: vyos-1x: CGNAT Exclude Rule CLI support
2026-03-04vpp: T8339: Cleanup vpp interfaces and kernel-interfaces after migrationNataliia Solomko
2026-03-04vpp: T8328: Migrate xconnect interface to 'interfaces vpp xconnect'Nataliia Solomko
2026-03-03vpp: T8327: Migrate bridge interface to 'interfaces vpp bridge'Nataliia Solomko
2026-03-03tech-support: T8215: Extend tech-support archive and report generationOleksandr Kuchmystyi
- 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
2026-03-02vpp: T8327: Remove support for GRE "point-to-multipoint" modeNataliia Solomko
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.
2026-03-02vpp: T8325: Migrate gre interface to 'interfaces vpp gre'Nataliia Solomko
2026-03-02vpp: T8324: Migrate loopback interface to 'interfaces vpp loopback'Nataliia Solomko
2026-03-02vpp: T8314: Migrate ipip interface to 'interfaces vpp ipip'Nataliia Solomko
2026-02-27vpp: T8296: Move vxlan interface from vpp section to 'interfaces vpp vxlan'Nataliia Solomko
2026-02-26T7513: vyos-1x: CGNAT Exclude Rule CLI supportRitika Chopra
2026-02-25vpp: T8283: Move bonding interface from vpp secction to 'interfaces vpp bonding'Nataliia Solomko
2026-02-25vpp: T8297: Fixed double enabling of VPPOleksandr Kuchmystyi
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.
2026-02-24T8313: add protobuf messages for copy/renameJohn Estabrook
2026-02-22igmp-proxy: T8295: provide native systemd unit to enable restart/backoffChristian Breunig
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.
2026-02-19vpp: T8261: Refactor resource settings into 'resource-allocation' sectionNataliia Solomko
2026-02-18vpp: T8274: Remove dpdk-options section for num-* parametersOleksandr Kuchmystyi
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`.
2026-02-17vpp: T8268: Unify CPU settings into a single 'cpu-cores' node under ↵Nataliia Solomko
'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.
2026-02-13vpp: T8254: Move 'nat44' and 'settings nat44' sections to 'nat nat44'Nataliia Solomko
2026-02-12T8232: add config_dict wrapperJohn Estabrook
2026-02-12T8232: add reference tree classJohn Estabrook
As a needed argument to the internal config_dict function, reify for caching under vyos-configd or other running process.
2026-02-12T8232: add default reference tree cache file locationJohn Estabrook
2026-02-12T8232: internal name change for consistency with ReferenceTree classJohn Estabrook
2026-02-11Merge pull request #4979 from natali-rs1985/T7811Christian Breunig
vpp: T7811: Add rebind_gve_driver function for correct gve device handling
2026-02-11vpp: T8252: Change ACL node 'macip' to 'mac'Nataliia Solomko
2026-02-10update-check: T7945: Improve reliability during early boot and error handlingOleksandr Kuchmystyi
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.
2026-02-10vpp: T7811: Add rebind_gve_driver function for correct gve device handlingNataliia Solomko
2026-02-05Merge pull request #4949 from sarthurdev/geoip_refactorDaniil Baturin
geoip: T7926: T8049: Refactor geoip code and add MaxMind support
2026-02-03Merge pull request #4919 from alexandr-san4ez/T7730-currentDaniil Baturin
interfaces: T7730: Add interrupt coalescing settings for Ethernet interfaces
2026-02-03Merge pull request #4965 from natali-rs1985/T8207Nataliia S.
vpp: T8207: Enable ip6-icmp-ra-punt feature on interfaces with DHCPv6 address configured