summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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-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
2024-12-30frr: T6746: additional improvements after 10.2 upgrade (#4259)Christian Breunig
* smoketest: T6746: add substring search in getFRRconfig() Some daemons (e.g. bgpd) have several nested substrings/sections like router bgp 100 address-family ipv4 unicast .. exit-address-family exit We can now use getFRRconfig() with the substring option to extract only address-family ipv4 unicast .. exit-address-family Making config validation more granular * frrender: T6746: only re-render FRR config if config_dict did change * frrender: T6746: fix naming glitch isis/eigrp * frrender: T6746: add --stdout option when running with debug flags * smoketest: T6746: remove unneeded commit_guard time It was an invalid workarround as the underlaying issue seems to be a race condition in CStore. The commit process is not finished until all pending files from VYATTA_CHANGES_ONLY_DIR are copied to VYATTA_ACTIVE_CONFIGURATION_DIR. This is done inside libvyatta-cfg1 and the FUSE UnionFS part. On large non-interactive commits FUSE UnionFS might not replicate the real state in time, leading to errors when querying the working and effective configuration. TO BE DELETED AFTER SWITCH TO IN MEMORY CONFIG
2024-12-30T6983: treat vyos-domain-resolver as a real service (#4261)Christian Breunig
* op-mode: T6983: add "show log" and "monitor log" commands for vyos-domain-resolver * firewall: T6983: drop unused variable domain_resolver_usage_nat * T6983: introduce Python logging module in vyos-domain-resolver * T6983: treat vyos-domain-resolver as a real service
2024-12-29op_mode: T6956: Fix for "generate tech-support archive" if /config contains ↵Nataliia Solomko
directories
2024-12-28udev: T6985: Fix udev rule to also register ttyACM serial devicesGrant Slater
2024-12-26skel: T6979: disable iproute2 colors by defaultChristian Breunig
2024-12-23T6013: Remove trusted_user_ca_key when the configuration does not existTakeru Hayasaka
Co-authored-by: Simon <965089+sarthurdev@users.noreply.github.com>
2024-12-23T6013: Remove unused variables to make it lint-friendlyTakeru Hayasaka
2024-12-23T6013: Add support for configuring TrustedUserCAKeys in SSH service with ↵Takeru Hayasaka
local and remote CA keys
2024-12-23op-mode: T5992: fix Kea DHCP server lease outputNicolas Vandamme
2024-12-20Merge pull request #4242 from nvollmar/T6953Christian Breunig
T6953: merges node and frr exporter under prometheus section
2024-12-20T6953: simplify config handlingNicolas Vollmar
2024-12-19Merge pull request #4243 from c-po/frr-10Christian Breunig
frrender: T6746: runtime improvements
2024-12-19T6953: add migration for old configurationNicolas Vollmar
2024-12-19T6953: merges node and frr exporter under prometheus sectionNicolas Vollmar
2024-12-18frrender: T6746: move get_frrender_dict from vyos.configdict to this moduleChristian Breunig
Keep all FRRender stuff in one place.
2024-12-18Merge pull request #4233 from HollyGurza/T6934Christian Breunig
T6934: Add preshared key for zabbix-agent monitoring service
2024-12-18Merge pull request #4225 from natali-rs1985/T6767Christian Breunig
op_mode: T6767: Check latest image version in VRF context for "add system image latest vrf <name>"
2024-12-18Merge pull request #4223 from HollyGurza/T6874Christian Breunig
T6874: [QoS] Add class filter by ether
2024-12-18vyos-configd: T6746: render resulting FRR configuration only onceChristian Breunig
Previously the FRR configuration was rendered via Jinja2 on every call to get_frrendet_dict() - but it was used/applied only once. We save the CPU cycles and render the FRR configuration only once prior to applying it in FRR.
2024-12-18Merge branch 'frr-10' into currentChristian Breunig
* frr-10: op-mode: T6746: add "show log frr" and "monitor log frr" commands frrender: T6746: do not render candidate FRR config to running FRR config file path frrender: T6746: ensure there are no empty lines in the rendered FRR configuration bgp: T6746: remove debug code
2024-12-18T6874: [QoS] Add class filter by etherkhramshinr
Implement a command to configure QoS policy filters by ether properties. The supported match types include: - Destination: Specify the Ethernet destination address. - Protocol: Define the Ethernet protocol. - Source: Set the Ethernet source address. `set qos policy <type> <name> class <id> match <match-id> ether <destination|protocol|source> <val>`
2024-12-17bgp: T6746: remove debug codeChristian Breunig
2024-12-16T6950: Added if statement to check if the address key is definedGage Greenhouse
2024-12-16frr: T6746: do not use FRRender apply() method when vyos-configd is runningChristian Breunig
2024-12-16multicast: T6746: migrate CLI to to mimic unicast IPv4 routes syntaxChristian Breunig
Consolidate "multicast interface-route" and "multicast route" under common "mroute <x.x.x.x/y>" CLI node.
2024-12-16rpki: T6746: FRRender needs to calculate SSH key pathChristian Breunig
2024-12-16vrf: T6746: bugfix change of VNIChristian Breunig
VNI was always retrieved via effective configuration and not active configuration.
2024-12-16static: T6746: migrate BFD CLI nodesChristian Breunig
Migrate "set protocols static route <x.x.x.x/x> next-hop <y.y.y.y> bfd multi-hop source <z.z.z.z> profile <NAME>" to: "set protocols static route <x.x.x.x/x> next-hop <y.y.y.y> bfd profile bar" FRR supports only one source IP address per BFD multi-hop session. VyOS had CLI cupport for multiple source addresses which made no sense.
2024-12-16frr: T6746: handle "system ip" and "system ipv6" with FRRender classChristian Breunig
FRR 10.2 will use "[no] ip forwarding" and "[no] ipv6 forwarding" to enable or disable IP(v6) forwarding. We no longer rely on sysctl as this was overridden by FRR later on. Remove code path for sysctl setting and solely rely on FRR.
2024-12-16configd: T6746: handle FRR config reload as last step in commitChristian Breunig
2024-12-16frr: T6746: integrate FRRender class into vyos-configdChristian Breunig
When running under vyos-configd only a single apply() is done as last step in the commit algorithm. FRRender class address is provided via an attribute from vyos-configd process.
2024-12-16frr: T6746: add default entry for config debug fileChristian Breunig
A lot of services have dynamic debug capabilities which will be turned on by creating a file in /tmp. These scripts have the path hardcoded and sometimes accross multiple places (bad). This commit introduces vyos.defaults.frr_debug_enable to get the path for the debug file from a single location.
2024-12-16multicast: T6746: flatten CLI by merging "multicast route" to "mroute" CLI ↵Christian Breunig
tagNode This will save an entire level for the configuration and there is no need for a parent "multicast" node, as it will only have "route" as tagNode below. Move set protocols static multicast route <x.x.x.x/y> to: * set protocols static mroute <x.x.x.x/y>
2024-12-16frr: T6747: migrate protocols to unified FRRender classChristian Breunig
With FRR 10.0 daemons started to be migrated to integrated FRR mgmtd and a northbound interface. This led to some drawbacks in the current state how changes to FRR are handled. The current implementation will use frr-reload.py and specifies excatly WHICH daemon needs a config update and will only replace this part inside FRR. With FRR10 and mgmtd when a partial configuration is sent to mgmtd, it will remove configuration parts from other daemons like bgpd or ospfd which have not yet been migrated to mgmtd. It's not possible to call frr-reload.py with daemon mgmtd - it will error out. This commit will also change the CLI for static routes: CLI command "set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop source 1.1.1.1" will be split into: * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd source-address 1.1.1.1 * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop To make the XML blocks reusable, and comply with the FRR CLI - this was actually a wrong implementation from the beginning as you can not have multiple BFD source addresses. CLI command "set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd multi-hop source 1.1.1.1 profile bar" is changed to: * set protocols static route 10.0.0.0/8 next-hop 1.2.3.4 bfd profile bar CLI commands "set protocols static multicast interface-route" is moved to: * set protocols static multicast route <x.x.x.x/x> interface To have an identical look and feel with regular static routes.
2024-12-16pim6: T6747: adjust template to new "router pim6" FRR CLIChristian Breunig
2024-12-16pim: T6747: adjust template to new "router pim" FRR CLIChristian Breunig