summaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)Author
2025-11-23T8031: use util file_compare for check unsaved_commitsJohn Estabrook
2025-11-23T8031: add file comparison utility for comparison modulo empty linesJohn Estabrook
2025-11-20T7988: adjust function name to distinguish compare from show configJohn Estabrook
2025-11-19Merge pull request #4856 from c-po/op-mode-install-cli-fixChristian Breunig
op-mode: T8000: fix environment when calling my_set
2025-11-18Merge pull request #4845 from vyos/T7556Daniil Baturin
T7556: VPP add IPFIX collector configuration
2025-11-18vyos.utils: T8000: fix environment for install_into_config()Christian Breunig
2025-11-14T7556: VPP add IPFIX collector configurationViacheslav Hletenko
Add VPP IPFIX configuration commands: ``` set vpp ipfix active-timeout '8' set vpp ipfix collector 192.0.2.2 port '2055' set vpp ipfix collector 192.0.2.2 source-address '192.0.2.1' set vpp ipfix flowprobe-record 'l2' set vpp ipfix flowprobe-record 'l3' set vpp ipfix flowprobe-record 'l4' set vpp ipfix inactive-timeout '32' set vpp ipfix interface eth0 set vpp ipfix interface eth1 direction 'both' set vpp ipfix interface eth1 flow-variant 'ipv4' ```
2025-11-14Merge pull request #4841 from alexandr-san4ez/T7255-currentViacheslav Hletenko
VRF: T7255: Impossible to delete protocols under VRF
2025-11-13Merge pull request #4835 from natali-rs1985/T7731Nataliia S.
T7731: Static ARP entries are missing after an interface status change
2025-11-12vrf: T7255: Impossible to delete protocols under VRFOleksandr Kuchmystyi
When deleting the 'protocols' node under a VRF, a `KeyError` was raised in `frrender.py` because the 'protocols' dictionary key was missing when attempting to update protocol states. This prevented configuration commits from completing successfully.
2025-11-12T7731: Static ARP entries are missing after an interface status changeNataliia Solomko
2025-11-06Merge pull request #4823 from l0crian1/fix-wlb-multi-intChristian Breunig
wlb: T7977: Fix weight calculation for multiple interfaces
2025-11-06Merge pull request #4814 from jestabro/exn-alertDaniil Baturin
T7915: minor fixes for consistent exception handling and error messages
2025-11-05Merge pull request #4833 from c-po/fix-veth-removalViacheslav Hletenko
veth: T7990: fix stale DHCP clients when removing virtual Ethernet pairs
2025-11-05T7910: add call show_sessionsJohn Estabrook
show_sessions returns a list of dicts of the internal session record structure for each live session. As this call is itself mediated by a session one can specify exclude_self=True, resp., exclude_other=True.
2025-11-05T7910: update auto-generated protobuf files for show_sessionsJohn Estabrook
2025-11-05T7910: switch keyword order pid/token for consistency and intuitionJohn Estabrook
pid is the more commonly passed argument, and this maintains consistency with configsession arg use.
2025-11-05T7910: add keyword extant, for use by teardown scriptJohn Estabrook
The standalone script teardown-config-session.py is called on CLI config-mode exit, to close the persistent vyconf config session. Instead of injecting the config-mode env var into the external script to indicate a non-ephemeral session, add keyword 'extant' to find existing session.
2025-11-05T7910: call enter_config_mode only on new sessionJohn Estabrook
2025-11-05T7910: op-mode init should always start a new sessionJohn Estabrook
2025-11-05T7910: use weakref.finalize for reliable session teardownJohn Estabrook
2025-11-05T7915: minor fixes for consistent exception handling and error messagesJohn Estabrook
The addition of alert exn to vyos1x-config allows an audit of all raised exceptions, providing fixes for consistent handling and error reporting.
2025-11-05T7969: expose boolean test value_existsJohn Estabrook
2025-11-04wlb: T7977: Updated smoketest to validate nft vmap weight bucketsl0crian1
2025-11-04Merge pull request #4828 from c-po/restart-container-vrfViacheslav Hletenko
container: T7305: fix VRF loss when restarting pods
2025-11-04veth: T7990: fix stale DHCP clients when removing virtual Ethernet pairsChristian Breunig
When removing a veth interface, the kernel automatically deletes its peer interface, since veth devices always exist in pairs. However, this automatic removal does not trigger the remove() helper in vyos.ifconfig.interfaces, which can leave associated DHCP(v6) clients running indefinitely. For example: ip link add veth0 type veth peer name veth1 ip link del dev veth1 Removing veth1 will also delete veth0 in the kernel, but the VyOS cleanup routines are never called for veth0. This patch ensures that peer removal correctly purges both interfaces and their associated state. This drops the workarounds in veth smoketest and falls back to the common interface smoketests from the inherited base class.
2025-11-04Merge pull request #4747 from natali-rs1985/T7789Nataliia S.
T7789: T7661: VPP prevent failing to load XDP in clouds (ena/gve drivers)
2025-11-03container: T7305: fix VRF loss when restarting podsChristian Breunig
Container networks are only started when there is at least one active consumer. If a network is created without any attached containers, it does not need to be assigned to a VRF yet. When the last container in a pod is stopped, its associated container network is removed. Upon container restart, the kernel recreates the network, but the VRF assignment may be lost in the process. This change ensures that all container networks are correctly reattached to their designated VRFs when a pod restarts.
2025-11-03vyos.ifconfig: T7305: set_vrf() should call get_vrf() helperChristian Breunig
2025-11-03Merge pull request #4808 from natali-rs1985/T7949Daniil Baturin
T7949: VPP add the ability to configure bond subinterfaces for NAT
2025-10-31wlb: T7977: Fix weight calculation for multiple interfacesl0crian1
- Fixed issue in T7977 - Added smoketest for 3 or more interfaces in rule - Added wait_for function to utils/misc.py
2025-10-31T7789: T7661: VPP prevent failing to set XDP driver on cloudsNataliia Solomko
Some cloud NICs (ena, gve) fail to load XDP if all RX queues are configured. To avoid this, we limit the number of queues to half of the maximum supported by the driver.
2025-10-30T7975: VPP: Fix API calls for sFlowNataliia Solomko
2025-10-29Merge pull request #4812 from c-po/pki-certbot-fixesChristian Breunig
pki: T7953: refactor internal dependency generation
2025-10-29Merge pull request #4810 from bl0way/T7896-frr-profileChristian Breunig
T7896: Add frr profile selection
2025-10-29frr: T7896: Configure frr profile with 'system frr profile' commandbl0way
Co-authored-by: Christian Breunig <christian@breunig.cc>
2025-10-28dhcp-server: T3936: Added support for DHCP Option 82 (#4665)cblackburn-igl
* dhcp-server: T3936: Added support for DHCP Option 82 This commit adds support in both the CLI and the underlying code for DHCP Option 82 to be used to filter/route DHCP address assignments. The primary use case for this is to support enterprise switches which can "tag" DHCP requests with physical real world informaiton such as which switch first saw the request and which port it originated from (known in this context as remote-id and circuit-id). Once client-classes have been defined they can be assigned to subnets or ranges so that only certain addresses get assigned to specific requests. There is also a corresponding documentation update which pairs with this code change. (cherry picked from commit 326b5e713cb363a2b9f69e2204c4ee2ccd9939bb) * Update src/conf_mode/service_dhcp-server.py Co-authored-by: Nataliia S. <81954790+natali-rs1985@users.noreply.github.com> * Update src/conf_mode/service_dhcp-server.py Co-authored-by: Nataliia S. <81954790+natali-rs1985@users.noreply.github.com> * Update interface-definitions/include/dhcp/dhcp-server-common-config.xml.i Co-authored-by: Nataliia S. <81954790+natali-rs1985@users.noreply.github.com> --------- Co-authored-by: Daniil Baturin <daniil@baturin.org> Co-authored-by: Nataliia S. <81954790+natali-rs1985@users.noreply.github.com>
2025-10-28Merge pull request #4796 from natali-rs1985/T7938Daniil Baturin
T7938: VPP: Rewrite sFlow implementation
2025-10-26vyos.defaults: T7953: globally define openconnect systemd service nameChristian Breunig
2025-10-23T7949: VPP add the ability to configure bond subinterfaces for NATNataliia Solomko
2025-10-22Merge pull request #4622 from MattKobayashi/T3680Viacheslav Hletenko
T3680: protocols: add dhclient hooks for dhcp-interface static routes
2025-10-21Merge pull request #4792 from sarthurdev/kea_configChristian Breunig
kea: T7925: Improve error handling, validate IPv6 PD prefix length
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-21T7938: VPP: Rewrite sFlow implementationNataliia Solomko
Execute commands for vpp sflow with API calls. Use values for polling interval and sampling rate from 'system sflow'. Add op-mode command
2025-10-21Merge pull request #4783 from hedrok/T5942-failover-dhcp-gatewayDaniil Baturin
T5942: Make failover support dhcp-interface
2025-10-21Merge pull request #4795 from natali-rs1985/T7930Daniil Baturin
T7930: VPP: Changing NAT44 settings resets `forwarding_enabled` to False
2025-10-20T7930: VPP: Changing NAT44 settings resets `forwarding_enabled` to FalseNataliia Solomko
Enable/disable NAT forwarding in vpp_nat.py script to prevent it's reset
2025-10-17configdict: T7927: refactor check_dhcp() with local VRF argumentChristian Breunig
While debugging and resolving the underlying VRF assignment issue in T7929, this code path was refactored for clarity. Previously, the check_dhcp() helper function relied on the parent scope’s vrf variable. Although this worked correctly, it was not clean or explicit. The function now takes and uses its own vrf argument, improving readability and maintainability.
2025-10-17frrender: T7927: de-nest DHCP and PPPoE interface section for VRFsChristian Breunig
This update refactors the code path to eliminate unnecessary nesting when processing interfaces using PPPoE or DHCP that are bound to a VRF. Previously, the configuration dictionary was only populated if a static route was defined under the corresponding VRF node. This behavior was incorrect, as interfaces tied to a VRF can receive dynamic routes - such as a default route via DHCP - without having any static routing configuration. A typical use case is a VRF dedicated to out-of-band management.
2025-10-17frrender: T7927: improve class descriptionChristian Breunig