summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-01-28installer: T7034: fail the upgrade if image flavors do not match (#4297)Daniil Baturin
2025-01-27haproxy: T7081: Support HTTP compression (#4314)Alex W
2025-01-27Use common class for none ethernet interfaces stateViacheslav Hletenko
2025-01-27Bonding: Use common class for the interface stateViacheslav Hletenko
2025-01-27Merge pull request #1 from vyos/sever-sever-lcpViacheslav Hletenko
LCP: enable by default route-no-paths
2025-01-27LCP: enable by default route-no-pathsViacheslav Hletenko
2025-01-26T6998: Remove vestigial helper and reformatIndrajit Raychaudhuri
2025-01-26T6998: dhcpy.py - fix datetime to be timezone awaremetron2
2025-01-25wireguard: T7087: Fix vyos-domain-resolver failing if no wireguard ↵Alex W
interfaces defined
2025-01-24GRE: Fix verify options for GRE type teb and multipointViacheslav Hletenko
- Only tunnel-type 'teb' (L2 Transparent Ethernet Bridge) is allowed to brdige with other itnerfaces. - Only one multipoint GRE tunnel is allowed from the same source address. Do this check from the main vpp file as it has the full vpp config dictionary.
2025-01-24Merge pull request #4200 from sskaje/T4930-1Daniil Baturin
T4930: Allow WireGuard peers via DNS hostname
2025-01-24Merge pull request #4216 from HollyGurza/T6641Daniil Baturin
T6641: Add vyos-network-event-logger Service
2025-01-24GRE: Add ability to configure multipoint modeViacheslav Hletenko
Add ability to configure multipoint mode. Remote IP address in this case has to be 0.0.0.0 Only one tunnel with the same source IP is allowed in the point-to-multipoint mode set vpp interfaces gre gre0 mode 'point-to-multipoint' set vpp interfaces gre gre0 remote '0.0.0.0' set vpp interfaces gre gre0 source-address '192.0.2.1'
2025-01-24GRE: Add tunnel-type erspan, l3 and tebViacheslav Hletenko
Add tunnel type - erspan - l3 - teb (Transparent Ethernet Bridge) By default L3 GRE interfaces cannot be bridged to a bridge interface. Add the ability to change tunnel type. set vpp interfaces gre gre2 tunnel-type 'teb'
2025-01-23ntp: T6911: fix migration script to not allow empty "service ntp" CLI nodeChristian Breunig
With T3008 we moved from ntpd to chrony. This came with a restructuring of the CLI (mainly moving ntp out of system to services). In addition the definition of a server was made mandatory. The bug itself manifests at a more crucial point - config migration vyos-router[1265]: Migration script error: /opt/vyatta/etc/config-migrate/migrate/ntp/1-to-2: [Errno 1] failed to run command: ['/opt/vyatta/etc/config-migrate/migrate/ntp/1-to-2', '/opt/vyatta/etc/config/config.boot'] vyos-router[1265]: returned: - op: copy old_path: ['system', 'ntp'] new_path: ['service', 'ntp'] vyos-router[1265]: - op: delete path: ['system', 'ntp'] The fix is that we will no longer migrate an empty ntp CLI node from the old syntax to the new.
2025-01-21bonding: set interface state up after addingViacheslav Hletenko
By default VPP creates interface via API with the 'down' state. Add methods to set interface state UP/DOWN. It probably should reuse the common Class in the future. We do not have classes for interface (vpp) state settings.
2025-01-21T6895: Merge the hsflowd-based sFlow and uacctd-based sFlow (#4310)Nataliia S.
2025-01-21T6641: Add vyos-network-event-logger Servicekhramshinr
The service parses and logs network events for improved monitoring and diagnostics. Supported event types include: - `RTM_NEWROUTE`, `RTM_DELROUTE` - `RTM_NEWLINK`, `RTM_DELLINK` - `RTM_NEWADDR`, `RTM_DELADDR` - `RTM_NEWNEIGH`, `RTM_DELNEIGH`, `RTM_GETNEIGH` - `RTM_NEWRULE`, `RTM_DELRULE` Added operational mode commands for filtered log retrieval: - `show log network-event <event-type> <interface>`: Retrieve logs filtered by event type and interface. - `show interfaces <type> <name> event-log <event-type>`: Display interface-specific logs filtered by event type.
2025-01-20Merge pull request #4307 from indrajitr/kea-refactorChristian Breunig
dhcp: T7052: Refactor kea dhcp op-mode functions to vyos.kea
2025-01-19Merge pull request #4308 from indrajitr/kea-ctrl-agent-overrideChristian Breunig
dhcp: T5840: Merge systemd service overrides for kea-ctrl-agent
2025-01-19wireguard: T4930: fix dict key (-/_) when working with config dictChristian Breunig
Retrieving the config dict sets key_mangling(), thus we need to look for host_name instead of host-name.
2025-01-19wireguard: T4930: add mnemonic for WIREGUARD_REKEY_AFTER_TIMEChristian Breunig
WireGuard performs a handshake every WIREGUARD_REKEY_AFTER_TIME if data is being transmitted between the peers. If no data is transmitted, the handshake will not be initiated unless new data begins to flow. Each handshake generates a new session key, and the key is rotated at least every 120 seconds or upon data transmission after a prolonged silence.
2025-01-19wireguard: T4930: use common error message patternChristian Breunig
2025-01-19wireguard: T4930: allow peers via FQDNsskaje
* set interfaces wireguard wgXX peer YY hostname <fqdn>
2025-01-17nhrp: T2326: Fixed network-id migrationaapostoliuk
Fixed network-id migration. Every tunnel should have its own nhrp network-id.
2025-01-16ruff: T6583: Reformat to comply with code styleIndrajit Raychaudhuri
2025-01-16dhcp: T7052: Rename and simplify functions for consistencyIndrajit Raychaudhuri
2025-01-16dhcp: T7052: Refactor kea dhcp op-mode functions to vyos.keaIndrajit Raychaudhuri
Relocate the kea dhcp op-mode functions to kea helper functions in vyos.kea. This allows the functions to be reused by other scripts, not just op-mode wrappers. This moves the source of truth for the op-mode commands to the actual running kea instance, rather than VyOS config path. Also, apply some minor code cleanup and make some of the mappings consistent across the functions.
2025-01-16ruff: T6583: Reformat to comply with code styleIndrajit Raychaudhuri
2025-01-16dhcp: T5840: Merge systemd service overrides for kea-ctrl-agentIndrajit Raychaudhuri
Default systemd service for kea-ctrl-agent expects `/etc/kea/kea-api-password` which is not used in VyOS. The systemd unit override to remove the condition does not need to be in a separate (templated and dynamic) override file and can be merged into the existing static override file.
2025-01-15bonding: fix remove LCP kernel-interfacesViacheslav Hletenko
2025-01-15warning: introduce a delay between add() and kernel_add()Viacheslav Hletenko
Introduce a delay to address instability in the VPP API, which may fail to create the LCP or establish a connection. This should be reviewed and resolved in future releases. This fixes confgurations with included kernel-itnerface (LCP) And all smoketests Example: set interfaces ethernet eth1 address '192.0.2.1/30' set vpp settings interface eth1 driver 'dpdk' set vpp interfaces vxlan vxlan10 remote '192.0.2.2' set vpp interfaces vxlan vxlan10 source-address '192.0.2.1' set vpp interfaces vxlan vxlan10 vni '10' set vpp interfaces vxlan vxlan10 kernel-interface 'vpptap10' Without this delay we get: vyos@r14# commit [ vpp interfaces vxlan vxlan10 ] Traceback (most recent call last): File "/usr/libexec/vyos/services/vyos-configd", line 139, in run_script script.apply(c) File "/usr/libexec/vyos//conf_mode/vpp_interfaces_vxlan.py", line 174, in apply i.kernel_add() File "/usr/lib/python3/dist-packages/vyos/vpp/interface/vxlan.py", line 85, in kernel_add self.vpp.lcp_pair_add(self.ifname, self.kernel_interface) File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 79, in check_retval_wrapper return_value = decorated_func(cls, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 58, in api_safe_wrapper return decorated_func(cls, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vyos/vpp/control_vpp.py", line 188, in lcp_pair_add return self.__vpp_api_client.api.lcp_itf_pair_add_del_v2(**api_call_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 129, in __call__ return self._func(**kwargs) ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 564, in f return self._call_vpp(i, msg, multipart, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vpp_papi/vpp_papi.py", line 853, in _call_vpp raise VPPIOError(2, "VPP API client: read failed") vpp_papi.vpp_papi.VPPIOError: [Errno 2] VPP API client: read failed
2025-01-13Merge pull request #4301 from sarthurdev/T7041Christian Breunig
kea: T7041: Check lease hostname string is not empty
2025-01-13Merge pull request #4217 from aapostoliuk/T2326-circinusChristian Breunig
nhrp: T2326: NHRP migration to FRR
2025-01-12kea: T7041: Check lease hostname string is not emptysarthurdev
2025-01-11Remove recursive_defaults from the get_config argViacheslav Hletenko
Do not use 'recursive_defaults' as argument of the funciton get_config() It cause vyos-1x/src/tests/test_configd_inspect.py signature checks fail AssertionError: 2 != 1 : 'vpp_interfaces_bonding.py': 'get_config' incorrect signature
2025-01-10T7042: drop use of inspect module in favor of ast for source analysisJohn Estabrook
This avoids importing the config mode script as a module, with requisite dependencies, which may be inconvenient.
2025-01-09nhrp: T2326: NHRP migration to FRRaapostoliuk
NHRP migration to FRR
2025-01-08op-mode: T5992: show dhcpv6 leases with (mostly) the same fields and orderNicolas Vandamme
2025-01-08op-mode: T5992: show dhcpv6 leases with (mostly) the same fields and orderNicolas Vandamme
2025-01-07Add vyos-vpp CLI and python3 modulesViacheslav Hletenko
2025-01-07vrf: T7024: instance name "up" and "down" are reserved and should not be usedChristian Breunig
2025-01-07T6998: dhcp: fix depracted utcfromtimestamp usageErkki Eilonen
Deprecated as per https://docs.python.org/3/library/datetime.html#datetime.datetime.utcfromtimestamp Fixes: TypeError: can't subtract offset-naive and offset-aware datetimes Co-authored-by: Erkki Eilonen <erkki@bearmetal.eu>
2025-01-06configd: T6747: use one long-lived instance of FRRender (#4274)Christian Breunig
* smoketest: T6747: call wait after commit() only for FRR related tests Commit 702a60a8de28 ("smoketest: T6746: wait after commit() until frr-reload is no longer running") added a guard timeout for every commit executed via CLI smoketests. This commit changes the bahavior to only add the guard timeout for FRR related testscases. This improves the overall smoketest time. * configd: T6747: use one long-lived instance of FRRender Previously there was one FRRender() instance per config session. This resulted in re-rendering the FRR configuration every time a new config session was created. Example: vyos@vyos:~$ configure vyos@vyos# set interfaces dummy dum0 description foo vyos@vyos# commit vyos@vyos# exit vyos@vyos:~$ configure vyos@vyos# set interfaces dummy dum0 description bar vyos@vyos# commit vyos@vyos# exit In the past this caused a re-render of the FRR configuration as the delta check added in commit ec80c75d6776 ("frrender: T6746: only re-render FRR config if config_dict did change") evaluated to false, as it operated on a new instance of the FRRender class. With this change there is no FRR re-render, as there is nothing to update in FRR.
2025-01-06T6841: firewall: migrate existing VRF in zone based firewallChristian Breunig
VRF support was introduced in VyOS 1.4.0. If a VRF is added as an interface in the zone based firewall, it will be migrated to the new syntax. OLD: set firewall zone FOO interface RED set firewall zone FOO interface eth0 NEW: set firewall zone FOO member vrf RED set firewall zone FOO member interface eth0
2025-01-06T6841: firewall: Fixed issues in ZBF when using VRFsaapostoliuk
Improve config parsing for ZBF when using VRFs and interfaces attached to VRFs
2025-01-06T6841: firewall: improve config parsing for ZBF when using VRFs and ↵Nicolas Fort
interfaces attached to VRFs
2025-01-02T6994: Add textfile collector config optionNicolas Vollmar
2024-12-31T6949: adds blackbox exporter (#4255)Nicolas Vollmar
* T6949: adds blackbox exporter * T6949: adds basic config generation * T6949: extract shared module config options * T6949: switch to ipv4/6 literals * T6949: moves config file to /run * T6949: adds dns query name option * T6949: adds dns query type values * T6949: adds blackbox exporter to debian/control
2024-12-31T6896: OpenVPN change CRL revoke without restart (#4245)Roman Khramshin
Do not restart service when changed only CRL. Service still restart when cert revoke first time