summaryrefslogtreecommitdiff
path: root/data/templates
AgeCommit message (Collapse)Author
2025-09-15Merge pull request #4714 from c-po/dhcpv6-incorrect-sla-lenDaniil Baturin
T7682: incorrect sla-len in DHCPv6 client prefix delegation (DHCPv6-PD)
2025-09-14route-map: T1124: Allow matching RPKI OVS extended community (#4699)l0crian1
- Added 'rpki-extcommunity' match condition - Added test to test_policy.py smoketest for rpki-extcommunity match
2025-09-13firewall: T7475: Remove redundant if statement in jinja templatel0crian1
2025-09-13T7682: incorrect sla-len in DHCPv6 client prefix delegation (DHCPv6-PD)Christian Breunig
The current template has an overly optimistic logic for sla-len calculation, relying on an assumption that a server always provides a prefix with the exact length requested by the client. This is incorrect. According to RFC8415 and RFC7084, the prefix length in a request is only a hint for the server, which may decide to provide a different prefix size. The big issue here is that wide-dhcpv6-client uses the sla-len value from the configuration regardless of the received prefix size. This seems to be the known issue. The good news is that we have already inherited a patch from Debian to mitigate the issue [1]. It accomplishes exactly what we are doing in the configuration template, but with the advantage of using the actual prefix length from the received prefix, rather than the one configured in the configuration file. If we simply remove sla-len from the template, everything appears to function normally. Before - server sending /56 set interfaces ethernet eth1 address 'dhcpv6' set interfaces ethernet eth1 dhcpv6-options pd 1 interface eth2 address '1' set interfaces ethernet eth1 dhcpv6-options pd 1 interface eth2 sla-id '0' set interfaces ethernet eth1 dhcpv6-options pd 1 length '60' Resulted in: vyos@vyos# run show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address MAC VRF MTU S/L Description ----------- ------------------- ----------------- ------- ----- ----- ------------- eth1 fc00:0:0:1::200/128 0c:67:94:67:00:01 default 1500 u/u eth2 fc00:0:2:ff00::1/60 0c:67:94:67:00:02 default 1500 u/u Whereas IPv6 PD should always use a /64 prefix on the interface we assign a dynamic DHCPv6 prefix to. After the fix: vyos@vyos:~$ show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address MAC VRF MTU S/L Description ----------- ------------------- ----------------- ------- ----- ----- ------------- eth1 fc00:0:0:1::200/128 0c:67:94:67:00:01 default 1500 u/u eth2 fc00:0:2:ff00::1/64 0c:67:94:67:00:02 default 1500 u/u If a DHCPv6 server (e.g. VyOS itself) even provides multiple PD prefixes, the right one is choosen. Assume the following server configuration: set service dhcpv6-server shared-network-name dhcpv6-1 subnet fc00:0:0:1::/64 address-range start fc00:0:0:1::100 stop 'fc00:0:0:1::200' set service dhcpv6-server shared-network-name dhcpv6-1 subnet fc00:0:0:1::/64 lease-time default '120' set service dhcpv6-server shared-network-name dhcpv6-1 subnet fc00:0:0:1::/64 prefix-delegation start fc00:0:2:: prefix-length '56' set service dhcpv6-server shared-network-name dhcpv6-1 subnet fc00:0:0:1::/64 prefix-delegation start fc00:0:2:: stop 'fc00:0:2:ff00::' set service dhcpv6-server shared-network-name dhcpv6-1 subnet fc00:0:0:1::/64 prefix-delegation start fc00:0:3:: prefix-length '60' set service dhcpv6-server shared-network-name dhcpv6-1 subnet fc00:0:0:1::/64 prefix-delegation start fc00:0:3:: stop 'fc00:0:3:ff00::' If a /56 is requested ("dhcpv6-options pd 1 length 56") - we will get a per interface /64 from the original /56 prefix-delegation from the DHCPv6 server. If the user suddently requests a /60 ("dhcpv6-options pd 1 length 60") the delegated prefix will be from the above fc00:0:3:: pool. 1: https://salsa.debian.org/debian/wide-dhcpv6/-/blob/debian/20080615-23/debian/patches/0021-Make-sla-len-config-optional.patch
2025-09-11Merge pull request #4710 from ryanzuwala/ryanzuwala/T7700John Estabrook
conntrack: T7700: Prevent empty policy generation
2025-09-11Merge pull request #4704 from hedrok/T7297-fix-ospf-redistribute-tableJohn Estabrook
ospf: T7297: fix redistribute-table
2025-09-10conntrack: T7700: Prevent empty policy generationRyan Zuwala
Only print policy in nftables-ct.conf if protocol config is defined
2025-09-10wlb: T114: Add firewall group support for WAN load balancersarthurdev
2025-09-09bgp: T7760: deprecate per bgp vrf instance system-as nodeChristian Breunig
Originating from the bug in T7665. To avoid potential issues down the line - and given that there's no compelling technical reason to retain the system-as CLI node under per-VRF BGP configuration, which cannot be achieved through alternative means - the maintainers have collectively decided to deprecate the following command: set vrf name <name> protocols bgp system-as <asn> Starting with VyOS 1.4.4, this CLI command will be considered deprecated. While it will still be accepted, it will no longer have any operational effect. A deprecation warning will be displayed at commit time, indicating that the BGP ASN from the global BGP configuration is now used instead. A migration script will handle the transition and perform the following actions: * Ensure a global BGP configuration exists; if not, initialize one. * Iterate over all configured VRFs to determine whether a BGP instance exists * For any insance, update the configuration to use the global system-as and apply the local-as ASN no-prepend replace-as option on all affected neighbors to preserve existing behavior. * If a neighbor is already configured with a local-as directive, that neighbor will be excluded from the migration process, as it already follows a custom configuration. * Add allowas-in per neighbor option. Required to not deny prefix received updates due to as-path contains our own global ASN.
2025-09-09Merge pull request #4682 from aapostoliuk/T7722-currentJohn Estabrook
isis: T7722: Added interface fast-reroute configuration commands
2025-09-08Monitoring: T7794: Fixed blackbox_exporter, frr_exporter, node_exporter IPv6 ↵Elliot Baldwin Woodman
listen-address invalid format
2025-09-05Firewall: T7475: Disable conntrack per firewall chainl0crian1
- Added command to disable conntrack per firewall chain - Added test_disable_conntrack_per_chain function to smoketest
2025-09-05ospf: T7297: fix redistribute-tableKyrylo Yatsenko
Requires FRR to support `redistribute table-direct` for ospf
2025-08-28isis: T7722: Added interface fast-reroute configuration commandsaapostoliuk
Added interface fast-reroute configuration commands
2025-08-26Merge pull request #4676 from sever-sever/T7743Daniil Baturin
T7743: PPPoE-server add option for VPP control plane
2025-08-26Merge pull request #4628 from ryanzuwala/ryanzuwala/T7482Daniil Baturin
conntrack: T7482: Fix custom timeouts
2025-08-23T7743: PPPoE-server add option for VPP control planeViacheslav
Enable PPPoE control-plane integration with VPP, add configurable option: - set service pppoe-server interface eth1 vpp-cp ``` interface=eth1,vpp-cp=true ```
2025-08-19Merge pull request #4508 from davi2367/vrf-dhcpDaniil Baturin
kea: T6211: add VRF support for KEA dhcp server
2025-08-15kea: T6211: add VRF support for KEA dhcp serverDavid Vølker
2025-08-13haproxy: T7715: Add rule matching on subdomainssarthurdev
2025-08-12Merge pull request #4637 from alexandr-san4ez/T7562-currentDaniil Baturin
ipsec: T7562: Add support for `disable-uniqreqids` option in IPsec configs
2025-08-12ipsec: T7562: Add support for `disable-uniqreqids` option in IPsec configsOleksandr Kuchmystyi
This commit makes `set vpn ipsec disable-uniqreqids` work with the modern StrongSwan backend by setting `unique=never` in swanctl.conf for connections. This restores legacy behavior about multiple connections with the same identity.
2025-08-07T7697: Merge remote-tracking branch 'vpp/current' into vyos-1xViacheslav
2025-08-02conntrack: T7482: Fix custom timeoutsRyan Zuwala
Fix custom conntrack timeout rules and add smoketests
2025-07-31VPP: T7175: Add sFlow conf mode CLI and startup template (#32)KyleM
* VPP: T7175 Added conf mode CLI for VPP sflow plugin and updated VPP template to include plugin. * VPP: T7175: Conf mode CLI and startup template. * T7175: VPP fix sFlow verify use vpp enstead of enable_vpp * T7175: VPP add sFlow smoketest * T7175: VPP remove unused config_changed variable --------- Co-authored-by: Viacheslav <v.gletenko@vyos.io>
2025-07-28isis: T7639: add SRv6 locator supportfett0
2025-07-28Merge pull request #4624 from alexandr-san4ez/T7581-currentViacheslav Hletenko
ipsec: T7581: Fix unsupported 'all' protocol in site-to-site tunnels after upgrade to 1.4.x
2025-07-28ipsec: T7581: Fix unsupported 'all' protocol in site-to-site tunnels after ↵Oleksandr Kuchmystyi
upgrade to 1.4.x Upgrading from VyOS 1.3.8 (strongSwan 5.7.2) to 1.4.x (strongSwan 5.9.11) caused the IPsec service to fail if the configuration contained: ``` set vpn ipsec site-to-site peer <peer> tunnel <id> protocol 'all' ``` In 1.3.8, 'all' was supported in the CLI for protocol and converted internally to '%any' in ipsec.conf traffic selectors, allowing the tunnel to match all protocols. However, in 1.4.x and strongSwan 5.9.11+, the '[all/]' syntax is no longer supported, and use of 'protocol all' produces an invalid traffic selector (e.g., 'x.x.x.0/24[all/]'), causing the strongSwan service to fail on reload. This fix ensures that 'protocol all' is converted to just the subnet notation (e.g., 'x.x.x.0/24') in the generated traffic selector, restoring previous behavior and allowing seamless service startup after upgrade.
2025-07-24T7175: Added VPP optionKyle McClammy
2025-07-22Merge pull request #4601 from aapostoliuk/T7504-currentDaniil Baturin
ipsec: T7504: Added IKEv2 retransmission options
2025-07-18ipsec: T7504: Added IKEv2 retransmission optionsaapostoliuk
Added IKEv2 retransmission options (base, tries, timeout).
2025-07-13Merge pull request #4586 from nobidev/features/add-support-proxy-for-haproxyViacheslav Hletenko
T7595: Support PROXY protocol for haproxy
2025-07-13T7595: Support PROXY protocol for haproxyNobi
2025-07-02wan-load-balancing: T7584: Default SNAT behaviour fixed to effect load ↵Abhishek Safui
balanced packets only Matched the out iface name in wan load balancer default SNAT rule so that SNAT is performed to load balanced packets only
2025-06-30firewall: T7452: update rule generation for Zone-based firewallDavid Vølker
2025-06-27vrf: T7544: Ensure correct quoting for VRF ifnames in nftablesAndrew Topp
* For VRF create/delete: * Simple dquoting, as before, was parsed away by the shell * Just escaping the double quotes could cause issues with the shell mangling VRF names (however unlikely) * Wrapping original quotes in shell-escaped single quotes is a quick & easy way to guard against both improper shell parsing and string names being taken as nft keywords. * Firewall configuration: * Firewall "interface name" rules support VRF ifnames and used them unquoted, fixed for nft_rule template tags (parse_rule) * Went through and quoted all iif/oifname usage by zones and interface groups. VRF ifnames weren't available for all cases, but there is no harm in completeness. * For this, also created a simple quoted_join template filter to replace any use of |join(',') * PBR calls nft but doesn't mind the "vni" name - table IDs used instead I may have missed some niche nft use-cases that would be exposed to this problem.
2025-06-20T7531: Add FRR no bgp ipv6-auto-ra optionfactor2431
2025-06-19Merge pull request #4558 from natali-rs1985/T6951Daniil Baturin
firewall: T6951: Add a configuration command for ethertypes that bridge firewalls should always accept
2025-06-17firewall: T6951: Add a configuration command for ethertypes that bridge ↵Nataliia Solomko
firewalls should always accept
2025-06-17container: T7473: fix show/monitor container log failed when log-driver is ↵opswill
journald
2025-06-12Merge pull request #4497 from yzguy/T7432Daniil Baturin
T7432: RPKI VRF Support
2025-06-10Merge pull request #4536 from ig0rb/fix/T7510-ospf-nssa-translation-errorDaniil Baturin
T7510: ospfd.frr.j2 ospf nssa translation error - fix template
2025-06-09Merge pull request #4548 from c-po/T7202-conntrackDaniil Baturin
conntrack: T7208: nf_conntrack_buckets defaults and behavior
2025-06-09Merge pull request #4544 from opswill/firewall-featureViacheslav Hletenko
T7523: firewall: Accepting invalid traffic for pppoe discovery and wol
2025-06-08T7510: ospfd.frr.j2 ospf nssa translation error - fix templateig0rb
2025-06-07conntrack: T7208: nf_conntrack_buckets defaults and behaviorChristian Breunig
Previously, we used a lower limit of 1 and a default value of 32768 for the nf_conntrack_buckets (conntrack hash-size) sysctl option. However, the Linux kernel enforces an internal minimum of 1024. A configuration migrator will now adjust the lower limit to 1024 if necessary. The former default value of 32768 was passed as a kernel module option, which only took effect after the second system reboot. This was due to the option being rendered but not applied during the first boot. This behavior has been changed so that the value is now configurable at runtime and takes effect immediately. Additionally, since VyOS 1.4 increased the hardware requirements to 4GB of RAM, we now align the default value of nf_conntrack_buckets with the kernel's default for systems with more than 1GB of RAM to 65536 entries. Previously, we only supported half that amount.
2025-06-05T7524: Fix binary path for gwlbtunViacheslav Hletenko
Fix the gwlbtun binary path ``` r14 (gwlbtun)[8378]: aws-gwlbtun.service: Failed to locate executable /usr/bin/gwlbtun: No such file or directory ``` path ``` vyos@r14# sudo whereis gwlbtun gwlbtun: /usr/sbin/gwlbtun ```
2025-06-05T7523: firewall: Accepting invalid traffic for pppoe discovery and wolopswill
2025-06-01T7512: firewall: Modify accepting invalid traffic for VLAN aware bridgeIndrajit Raychaudhuri
Allow accepting invalid packets for ethernet types `8021q` and `8021ad` in addition to ARP and UDP types so that stateful bridge firewall works for VLAN-aware bridges in addition to regular bridges.
2025-05-29Merge pull request #4266 from takehaya/T6013-trusted-ca-keysChristian Breunig
T6013: Add support for AuthorizedPrincipalsFile to trusted_user_ca_key