summaryrefslogtreecommitdiff
path: root/interface-definitions
AgeCommit message (Collapse)Author
13 daysdhcp-server: T9093: allow option interface-mtu up to 16000Brad Kollmyer
DHCP option 26 (Interface MTU, RFC 2132) is a 16-bit unsigned value and Kea accepts the full range, but the CLI validator capped it at 9000 - below the 9216 used on common jumbo fabrics and below VyOS's own interface MTU maximum of 16000. Relax the constraint to 576-16000 and exercise a jumbo value (9216) in the smoketest. Co-authored-by: Christian Breunig <christian@breunig.cc>
13 daysMerge pull request #5335 from natali-rs1985/T8367Daniil Baturin
vpp: T8367: Fix identical default MAC on bridged loopback interfaces
13 daysMerge pull request #5327 from BradKollmyer/T9076-remote-group-intervalDaniil Baturin
firewall: T9076: add per-remote-group update interval
2026-07-20Merge pull request #5324 from tjjh89017/frr-exporter-collectorsViacheslav Hletenko
T9073: frr-exporter: add CLI support for optional collectors and collector options
2026-07-20vpp: T8367: Fix identical default MAC on bridged loopback interfacesNataliia Solomko
VPP assigns loopback interfaces a default MAC address derived only from the interface instance number (de:ad:00:00:00:<instance>), with no host-specific entropy. Two independent VPP nodes configuring the same loopback instance (e.g. as a bridge BVI over VXLAN) therefore end up with an identical MAC address. When that MAC arrives from a peer over the shared L2 segment, VPP's L2 learning logic rejects it as a `mac move violation` - it's statically pinned to the local BVI and cannot legitimately appear on another port. This silently drops ARP traffic between the loopbacks while ordinary bridged client traffic (unique MACs) is unaffected, breaking loopback-to-loopback connectivity. Add a mac-address option to the VPP loopback interface, and fall back to a deterministic, host-unique MAC (derived from host UUID/hostname, same scheme already used for container interfaces) whenever none is configured, so the collision can no longer occur by default. Also fix a related bug found while reproducing the above: a loopback is fully deleted and recreated in VPP on every apply, receiving a new `sw_if_index` each time. The loopback conf_mode script never registered the bridge it's a BVI member of as a dependent, so the bridge kept its L2 membership bound to the stale, deleted index instead of reattaching the current one. Register the bridge dependency and reuse the existing `verify_vpp_remove_bridge_interface()` check to block deleting a loopback still in use as a BVI.
2026-07-16Merge pull request #5139 from sever-sever/T8529Christian Breunig
T8529: Add configuration CLI to enable OpenSSL FIPS
2026-07-16Merge pull request #5332 from BradKollmyer/T9084-rdnss-lifetime-zeroJohn Estabrook
router-advert: T9084: allow name-server-lifetime 0 in CLI validator
2026-07-16T9084: Merge ranges into one for lifetime validatorViacheslav Hletenko
Co-authored-by: Alexandr K. <alexandrk95@gmail.com>
2026-07-16T9073: frr-exporter: add CLI support for optional collectors and collector ↵Date Huang
options frr_exporter v1.5.0 enables the bgp, ospf, bfd and route collectors by default, while bgpl2vpn, pim and vrrp must be enabled explicitly. Expose bgpl2vpn (CLI: bgp-l2-vpn) and pim under "service monitoring prometheus frr-exporter collector", following the same CLI style as the node-exporter collectors node. The vrrp collector is not exposed since VyOS implements VRRP with keepalived and FRR's vrrpd is never started. Also expose the collector options available in v1.5.0: - collector bgp accept-filtered-prefixes - collector bgp advertised-prefixes - collector bgp peer-description <json|plain-text> - collector bgp peer-group - collector bgp peer-hostname - collector bgp peer-type - collector ospf-instance <id> - collector detailed-routes The bgp.* options are shared by the bgp, bgp6 and bgpl2vpn collectors upstream. The bgp6 collector remains unconditionally enabled, hence existing configurations render the same ExecStart and no migration is required. Includes code generated by Claude Code
2026-07-14router-advert: T9084: allow name-server-lifetime 0 in CLI validatorBrad Kollmyer
valueHelp already documented 0 ("Name-servers should no longer be used") and conf-mode only enforces MaxRtrAdvInterval when lifetime > 0, but the XML constraint only allowed 1-7200. Match the default-lifetime pattern (--range 0-0 --range ...) and smoke-test AdvRDNSSLifetime 0.
2026-07-10firewall: T9076: add per-remote-group update intervalBrad Kollmyer
Add 'set firewall group remote-group <name> interval <value>' to control how often each remote group list is re-downloaded, independent of the global resolver-interval that also drives domain-group/FQDN resolution. The value accepts plain seconds or time-unit suffixes s/m/h/d/w (e.g. 4h), range 60 seconds to 4 weeks, enforced at commit time after conversion. When unset, the group keeps following 'firewall global-options resolver-interval', so existing configurations are unaffected. vyos-domain-resolver now tracks a last-update timestamp per remote group and sleeps until the next due update instead of a fixed resolver-interval tick, honoring per-group intervals both shorter and longer than the global one. A group is only stamped as updated after a successful download; failed downloads fall back to the cached list and are retried at the resolver cadence rather than after the full group interval. human_to_seconds() now treats a plain number as seconds instead of returning 0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03T8529: Add configuration CLI to enable OpenSSL FIPSViacheslav Hletenko
Add the new configuration CLI to enable OpenSSL FIPS-140 (Federal Information Processing Standard) cryptographic modules
2026-06-29bgp: T6573: add missing newline in afi-route-server-client.xml.iChristian Breunig
This is needed for debugging the concatenated XML include blocks, otherwise two XML comments will show up on one line due to the missing newline which is annoying.
2026-06-29bgp: T6573: add input/output queue limit CLI commandsChristian Breunig
Add input-queue-limit and output-queue-limit CLI nodes to expose global FRR "bgp input-queue-limit" and "bgp output-queue-limit" commands via our CLI. Parameters control the maximum number of queued messages for all BGP peers during message parsing. FRR default is 10000 which we honor. Note that this is a global option and can only be set for the global/default BGP instance.
2026-06-26Merge pull request #5297 from alexandr-san4ez/T8865-rollingChristian Breunig
bgp: T8865: Reject `vni` sub-block in VRF l2vpn-evpn when `advertise-all-vni` is globally active
2026-06-26Merge pull request #5282 from sarthurdev/T8987Christian Breunig
geoip: T8987: Support updates via source-address/vrf
2026-06-26bgp: T8865: Reject `vni` sub-block in VRF l2vpn-evpn when ↵Oleksandr Kuchmystyi
`advertise-all-vni` is globally active When `advertise-all-vni` is configured in the global/default BGP instance, VyOS generated a `vni <id>` sub-block under each VRF BGP `address-family l2vpn evpn` context. This conflicts with advertise-all-vni: FRR already owns all kernel VNIs and returns `% Failed to create VNI` when frr-reload.py attempts to apply the VRF-level vni sub-block. FRR then performs an early exit from config processing, silently dropping the entire l2vpn evpn address-family for all subsequent VRF BGP instances.
2026-06-25Merge pull request #5284 from vyos/T8097-strongswan-esnChristian Breunig
T8097: strongswan: add CLI for ESN
2026-06-25geoip: T8987: Support updates via source-address/vrfsarthurdev
2026-06-25bgp: T9013: Add BMP source-interface supportNataliia Solomko
2026-06-25Merge pull request #5155 from sarthurdev/geoipViacheslav Hletenko
geoip: T5746: Add GeoIP ASN support
2026-06-23Merge pull request #5267 from vyos/T8099-strongswan-6.0John Estabrook
T8099: strongswan: 6.0.6 + Post quantum options
2026-06-23Merge pull request #5226 from indrajitr/haproxy-websocketViacheslav Hletenko
haproxy: T8931: Improve WebSocket support for HAProxy
2026-06-22T8099: strongswan: Post quantum optionsKyrylo Yatsenko
Add options for mlkem*
2026-06-22pseudo-ethernet: T8540: Add anycast-gateway support for EVPNOleksandr Kuchmystyi
Introduce 'anycast-gateway' leafNode for pseudo-ethernet interfaces. When set, a local FDB entry is installed on the parent bridge to prevent the shared anycast MAC from leaking over the VXLAN overlay.
2026-06-20T8097: strongswan: add CLI for ESNKyrylo Yatsenko
Add CLI commands: set vpn ipsec ike-group MyIKEGroup proposal 1 esn ESN-VALUE set vpn ipsec esp-group MyESPGroup proposal 1 esn ESN-VALUE Where ESN-VALUE can be one of: * required: only establish connection using ESN * optional: try using ESN, but if not available, accept non-ESN * disabled (default): don't use ESN StrongSwan 6.0.6 doesn't allow connections between proposal with '-noesn' and without '-esn'/'-noesn'. To make it work as expected, use two proposals for 'optional' and 'disabled': * required: PROPOSAL-esn * optional: PROPOSAL-esn-noesn,PROPOSAL * disabled: PROPOSAL-noesn,PROPOSAL
2026-06-19haproxy: T8931: Add option http-server-close in backend sectionsIndrajit Raychaudhuri
2026-06-19haproxy: T8931: Add timeout.tunnel in default and backend sectionsIndrajit Raychaudhuri
2026-06-18T8881: dns: expose PowerDNS recursor cache tuning options (#5209)mrpops2ko
Add refresh-on-ttl-perc, nothing-below-nxdomain, and minimum-ttl-override under service dns forwarding with recursor template and smoketest coverage. Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-06-17Merge pull request #5231 from natali-rs1985/T8223Viacheslav Hletenko
bgp: T8223: Prevent `advertise-all-vni` in multiple BGP VRF instances simultaneously
2026-06-16T8923: normalize "can not" to "cannot"Christian Breunig
Replace two-word "can not" / "Can not" with "cannot" across comments, ConfigError messages, CLI help text, and op-mode output. Standard SNMP MIB files under mibs/ are left unchanged.
2026-06-09salt: T8973: remove featureChristian Breunig
As salt has been marked deprecated via T8056 and is thus deprecated in VyOS 1.5 and VyOS 1.4 it is time to remove it from the rolling release.
2026-06-09bgp: T8223: Prevent `advertise-all-vni` in multiple BGP VRF instances ↵Nataliia Solomko
simultaneously FRR only allows one BGP instance to hold `advertise-all-vni` at a time (FRR issue #9405). When a default BGP instance is present it is always started before named VRF instances, so if a named VRF holds the flag FRR silently rejects it on every boot (regardless of default EVPN config), causing the running config to diverge from what is stored in VyOS. Enforce the following policy in verify(): - Default BGP instance may always hold `advertise-all-vni`. - A named VRF may hold it only when no default BGP instance exists. - Only one BGP instance (default or named VRF) may hold it at a time. The default BGP verify path additionally scans dependent VRFs so that adding or modifying the default BGP instance while a named VRF already holds the flag is caught even when the VRF node is not part of the current commit.
2026-06-04Merge pull request #5195 from natali-rs1985/T8492Christian Breunig
T8492: CRL generated by VyOS PKI lacks X.509 extensions required for strongSwan validation
2026-06-04geoip: T5746: Add GeoIP ASN supportsarthurdev
2026-05-27ipsec: T8912: Fix log level not respected in system journalOleksandr Kuchmystyi
When setting 'vpn ipsec logging log-level 0', DPD informational messages (log level 1) were still appearing in the system journal. The root cause is that charon-systemd reads both `charon-systemd.conf` and `charon-logging.conf` and applies the higher of the two log levels to the journal. The VyOS only managed `charon-systemd.conf`, leaving `charon-logging.conf` at its default level of 1, which silently overrode the user-configured level. Fix this by rendering `charon-logging.conf` on every commit with syslog backend set to -1 (silent), making `charon-systemd.conf` the sole authoritative source for journal log verbosity. This also eliminates duplicate log entries in the journal that occurred when both backends were active and writing to the same destination.
2026-05-26Merge pull request #5197 from alexandr-san4ez/T7555-currentViacheslav Hletenko
ipsec: T7555: Implement `ikev2-reauth` for site-to-site peers
2026-05-26Merge pull request #5119 from AppMana/T8480Christian Breunig
wan: T8480: add suppress_prefixlength ip rules for internal routing
2026-05-25Merge pull request #5215 from alexk37/T8910-ipoe-idle-timeoutChristian Breunig
T8910: ipoe-server: expose accel-ppp idle-timeout option
2026-05-22Merge pull request #5214 from giga1699/T7654Christian Breunig
openconnect: T7654: OpenConnect Script Execution
2026-05-22T8910: ipoe-server: expose accel-ppp idle-timeout optionAlex Kudentsov
Add a CLI knob to terminate idle IPoE sessions after a configurable timeout: set service ipoe-server idle-timeout <0-86400> Today there is no way to age out stale IPoE sessions: clients that go silent (powered off, link down) leave a session record on the router indefinitely. accel-ppp natively supports idle-timeout in its [ipoe] section but VyOS did not expose it. The option is added as a shared accel-ppp include so it can be reused by other accel-ppp services in follow-up PRs.
2026-05-22Merge pull request #5198 from indrajitr/T8862-dhcpv6-reservation-multiViacheslav Hletenko
dhcpv6: T8862: Allow multiple addresses and prefixes for reservations
2026-05-21openconnect: T7654: OpenConnect Script ExecutionGiga Murphy
2026-05-21ntp: T8601: add local stratum optionanderbak
2026-05-21T8822: Add BFD strict mode for BGPViacheslav Hletenko
2026-05-20ipsec: T7555: Implement `ikev2-reauth` for site-to-site peersOleksandr Kuchmystyi
IKEv2 reauthentication was configurable via CLI but never translated into `swanctl.conf`. Add `reauth_time` to the peer connection template, driven by the `ikev2-reauth` flag on the ike-group and the per-peer override (yes/no/inherit).
2026-05-19high-availability: T7059: Allow disabling persistent connections for ↵Nataliia S.
virtual-server (#5205)
2026-05-16dhcpv6: T8862: Allow multiple addresses and prefixes for reservationsIndrajit Raychaudhuri
Add support for allowing DHCPv6 to assign reservations for multiple addresses and prefixes to a single client simultaneously.
2026-05-14dhcpv6: T8849: Add time-zone support for Kea DHCPv6 (#5190)Indrajit Raychaudhuri
* dhcpv6: T8849: Add time-zone support for Kea DHCPv6 Add DHCPv6 option support for time zone (RFC4833 options 41 and 42). This includes both the POSIX-style TZ string (`new-posix-timezone`) and the IANA time zone name (`new-tzdb-timezone`). * dhcpv6: T8849: Refactor per code-review suggestion * dhcpv6: T8849: Reformat for compliance
2026-05-13T8492: CRL generated by VyOS PKI lacks X.509 extensions required for ↵Nataliia Solomko
strongSwan validation Previously generated CRLs were missing the Authority Key Identifier and CRL Number extensions required by strongSwan for certificate revocation validation. Without these extensions, strongSwan silently ignores the CRL, allowing revoked certificates to authenticate successfully. The migration regenerates existing CRLs for all CAs that have a private key available. CAs with passphrase-protected keys are skipped with a warning, as the passphrase cannot be provided non-interactively