summaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)Author
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-24Merge pull request #5039 from natali-rs1985/T8355Daniil Baturin
vpp: T8355: Set MTU for vpp interfaces
2026-03-23vpp: T8355: Move rx-mode setup to base VPPInterface classNataliia Solomko
2026-03-23vpp: T8355: Set MTU for vpp interfacesNataliia Solomko
2026-03-20configverify: T8413: fix issue in duplex shaping (redirect to input interface)Christian Breunig
After commit 6eafdbf1a8 ("configdict: T8358: rename internal representation from traffic_policy to qos) we uncovered a bug/added a feature in supporting QoS and redirect on an interface. The code in VyOS stream 2026.02 is: if ('mirror' in config or 'redirect' in config) and dict_search('traffic_policy.in', config) is not None: and this got changed to: if 'qos' in config and ('mirror' in config or 'redirect' in config): in the commit mentioned above. When looking at the code in 2026.02 release $ git describe --tags 2026.02 $ git grep traffic_policy python/vyos/configdict.py: dict.update({'traffic_policy': {}}) python/vyos/configdict.py: dict['vif'][vif].update({'traffic_policy': {}}) python/vyos/configdict.py: dict['vif_s'][vif_s].update({'traffic_policy': {}}) python/vyos/configdict.py: dict['vif_s'][vif_s]['vif_c'][vif_c].update({'traffic_policy': {}}) python/vyos/configverify.py: if ('mirror' in config or 'redirect' in config) and dict_search('traffic_policy.in', config) is not None: python/vyos/ifconfig/interface.py: if not 'traffic_policy' in self.config: I never see traffic_policy.in set, so the check seems to have never worked in the past at all. During the QoS rewrite from 1.3 -> 1.4 CLI traffic-policy was renamed by me to qos but we kept that synthetic key in the Python code. That is the root cause. So it should have never worked (CLI wise) but during that bug it started to work as expected, and even the Python code stated in a comment: if 'qos' in config and ('mirror' in config or 'redirect' in config): # XXX: support combination of limiting and redirect/mirror - this is an # artificial limitation raise ConfigError('Can not use QoS together with mirror/redirect!') So we have enabled this feature for a long time by accident already.
2026-03-18T8396: VPP op-mode "show interfaces vpp" missing ipv6 addressNataliia Solomko
2026-03-18Merge pull request #5041 from alexandr-san4ez/T8315-currentDaniil Baturin
vpp: T8315: Add support for configuring unsupported NICs and update compatible list
2026-03-18Merge pull request #5047 from natali-rs1985/T8230Nataliia S.
vpp: T8230: Add support for PPPoE on bonding interfaces
2026-03-18vpp: T8315: Add support for configuring unsupported NICs and update ↵Oleksandr Kuchmystyi
compatible list Introduce `set vpp settings unsupported nics <pci-id>` and `set vpp settings unsupported drivers <driver>` to permit VPP activation on hardware not present in the validated NIC list. Update current compatible list.
2026-03-17vpp: T8230: Add support for PPPoE on bonding interfacesNataliia Solomko
2026-03-17Merge pull request #5054 from alexk37/fix-add-address-to-group-daddrViacheslav Hletenko
T8387: fix hardcoded saddr in add-address-to-group
2026-03-16Merge pull request #5049 from natali-rs1985/T8368Daniil Baturin
vpp: T8368: Features nat44 and cgnat should not use the same interfaces
2026-03-16T8388: fix set path priority callAlex Kudentsov
2026-03-16T8387: fix hardcoded saddr in add-address-to-groupAlex Kudentsov
2026-03-13vpp: T8368: Features nat44 and cgnat should not use the same interfacesNataliia Solomko
2026-03-12Merge pull request #5045 from sever-sever/T8351Daniil Baturin
T8351: VPP add GRE tunnel key configuration
2026-03-12Merge pull request #5028 from natali-rs1985/T8342Daniil Baturin
vpp: T8342: Add verification of members for bond and bridge interfaces
2026-03-12Merge pull request #5035 from hedrok/T8186-fix-netflow-v5Christian Breunig
T8186: netflow: disable IPv6 for netflow protocol version 5
2026-03-12Merge pull request #5021 from alexandr-san4ez/T8276-currentDaniil Baturin
vpp: T8276: Add verification for virtual interfaces in PPPoE server configuration
2026-03-12Merge pull request #5044 from sever-sever/T8357Christian Breunig
T8357: Allow prefix vpp for show interfaces
2026-03-12Merge pull request #5036 from c-po/bond-mirrorChristian Breunig
vyos.ifconfig: T8358: clear qdiscs when deleting mirror CLI node
2026-03-12Merge pull request #5038 from natali-rs1985/T8356Nataliia S.
vpp: T8356: Fix traceback when adding a VPP bridge without members
2026-03-12vpp: T8356: Fix traceback when adding a VPP bridge without members.Nataliia Solomko
2026-03-12vpp: T8276: Add verification for virtual interfaces in PPPoE server ↵Oleksandr Kuchmystyi
configuration - Implemented `verify_virtual_interface_exists` function to check for existing interfaces. - Enhanced error handling for non-existent virtual interfaces in VPP mapping. - Modified test cases to validate changes regarding PPPoE with subinterfaces.
2026-03-11T8351: VPP add GRE tunnel key configurationViacheslav Hletenko
2026-03-11T8357: Allow prefix vpp for show interfacesViacheslav Hletenko
Add prefix `vpp` for the op-mode output of `show interfaces`
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