summaryrefslogtreecommitdiff
path: root/interface-definitions
AgeCommit message (Collapse)Author
2026-09-29openvpn: T9364: default the MTU to 1420 when DCO is enabledAntonio Quartulli
The ovpn Kernel module does no MSS clamping, so with a 1500 bytes MTU full sized packets get fragmented on the underlay. Add an "mtu" node, rendered as "tun-mtu". With "offload dco" it defaults to 1420, unless a raw tun-mtu/link-mtu/udp-mtu option is present. Reject "mtu" together with such an option, below 100, and below 1280 when IPv6 runs inside the tunnel.
2026-09-29Merge pull request #5496 from vyos/T9338-l3vpn-multi-domain-switchingChristian Breunig
T9338: add bgp mpls l3vpn-multi-domain-switching
2026-09-28ntp: T8882: add per-server poll interval, presend and extension field optionsScott Laird
Poll intervals were left entirely to the NTP daemon's built-in defaults, so an operator could not widen or narrow the polling range for an individual server, warm up authenticated associations before a poll, or ask a peer for the higher resolution timestamps it may be able to provide. Each configured server and pool now accepts a minimum and maximum poll exponent, defaulting to the values the daemon already used, plus an optional presend exponent and a switch for the F323 extension field. Existing configurations render the same associations as before. Co-authored-by: Christian Breunig <christian@vyos.io>
2026-09-28Merge pull request #5389 from ruben-herold/T9175-security-poll-suffixDaniil Baturin
dns: T9175: make PowerDNS security status poll opt-in
2026-09-25Merge pull request #5453 from m-songer/T9274-add-telegraf-configNataliia S.
T9274: Add more telegraf configuration
2026-09-24Merge pull request #5484 from haakonnore/feat/T9319-vxlan-gbpChristian Breunig
vxlan: T9319: add VXLAN-GBP support
2026-09-24T9274: Add more telegraf configuration- #5453MichaelSonger
Added the ability to make several agent values configurable instead of hardcoded.
2026-09-24T9338: add bgp mpls l3vpn-multi-domain-switchingT9338-l3vpn-multi-domain-switchingKyrylo Yatsenko
Add command set protocols bgp interface <interface> mpls l3vpn-multi-domain-switching that exposes FRR's `mpls bgp l3vpn-multi-domain-switching` under interface node.
2026-09-22vxlan: T9319: add VXLAN-GBP supportHaakon Nore
Expose the Group Policy extension as a valueless gbp CLI node and pass it to iproute2 when creating VXLAN links. Recreate links when GBP changes and reject configurations combining GBP with GPE. Reject conflicting GBP settings on a shared UDP port, accounting for address families and underlay VRF socket bindings. Warn that external mode carries GBP in tunnel metadata instead of the packet mark. Add smoketest coverage for GBP creation, removal and re-enabling, retained interface settings, rejection without changing the running tunnel, shared ports, separate address families, and external mode.
2026-09-16ipsec: T8952: Allow per-peer strongSwan `unique` override for site-to-site peersOleksandr Kuchmystyi
VyOS does not expose the strongSwan `connections.<conn>.unique` parameter for site-to-site peers. The swanctl default is `unique = no`, which only replaces existing SAs if the new one carries `INITIAL_CONTACT`. With `dpd_action = restart`, charon initiates new IKE_SAs without `INITIAL_CONTACT`, so duplicates accumulate on every DPD timeout. Previously the strongSwan `unique` connection policy could only be driven by the global "disable-uniqreqids" option, which set it to "never" for every connection. Site-to-site peers had no way to opt into stricter enforcement on their own.
2026-09-13openvpn: T8264: mention the offload in the raw option helpAntonio Quartulli
Not every option that turns the offload off can be recognised, so say so where the option is entered.
2026-09-13openvpn: T8264: migrate away DCO the Kernel module cannot serveAntonio Quartulli
"offload dco" was accepted next to tap, static keys, compression, CBC ciphers and raw options OpenVPN refuses to offload, because 2.6 ignored the module altogether. Those combinations now fail verify(), which would break config load on upgrade, so drop the request instead. The migration has to mirror verify_dco() exactly: anything it keeps that verify() turns away leaves a router unable to commit its own configuration.
2026-09-11Merge pull request #5440 from sever-sever/T9260-seChristian Breunig
monitoring: T9260: relay local frr_exporter metrics via Telegraf
2026-09-11Merge pull request #5372 from ruben-herold/T9157-fib-type-matchRuben Herold
firewall: T9157: add fib-type match for destination/source
2026-09-11monitoring: T9260: relay local frr_exporter metrics via TelegrafViacheslav Hletenko
FRR routing state was only available through the Prometheus frr-exporter, a pull target. Operators who push everything else out via Telegraf had to run an external Prometheus server and open inbound access to the router just to scrape routing state. Add a dedicated "service monitoring telegraf frr-metrics" node. When set, Telegraf uses inputs.prometheus to scrape the already-running local frr-exporter and re-emits the metrics through whatever Telegraf outputs are already configured (InfluxDB, ADX, Loki, Splunk, etc.).
2026-09-07T9279: VPP exted num-rx and tx ring descriptiors to 32768Viacheslav Hletenko
Some NICs allow to configure more ring descriptors that we allow in our CLI, extend it to 32768 ``` sudo vppctl show hardware-interfaces detail eth2 Mellanox ConnectX-4/5/6 Family carrier up full duplex max-frame-size 1522 promisc flags: admin-up promisc maybe-multiseg tx-offload intel-phdr-cksum rx-ip4-cksum Devargs: rx: queues 6 (max 1024), desc 16384 (min 0 max 32768 align 1) tx: queues 6 (max 1024), desc 8192 (min 0 max 32768 align 1) ```
2026-09-02Merge pull request #5438 from sever-sever/T9273John Estabrook
T9273: Add Telegraf global_tags option configurable
2026-09-02Merge pull request #5381 from omnom62/T8989-rest-api-bearerJohn Estabrook
http-api: T8989: add REST Bearer token authentication
2026-09-02T9273: Add Telegraf global_tags option configurableViacheslav Hletenko
Adds Telegraf global_tags support - static tags stamped onto every metric. ``` set service monitoring telegraf global-tag <tag-name> value <tag-value> ``` Rendered as a [global_tags] block in telegraf.conf, applied ahead of all outputs.
2026-09-01http-api: T8989: address OIDC review commentsomnom62
- Use OpenID Connect discovery (/.well-known/openid-configuration) to resolve JWKS URI when jwks-url is not explicitly configured - Add optional audience validation via new oidc audience config node - Require exp claim in OIDC tokens - Reject jwks-url without issuer at commit time
2026-09-01http-api: T8989: add OAuth2/OIDC authentication for REST APIomnom62
Add support for validating OIDC Bearer tokens issued by external identity providers (Keycloak, Azure AD, Okta, Vault, etc.) against the configured JWKS endpoint. Configuration: set service https api rest authentication oidc issuer <url> set service https api rest authentication oidc jwks-url <url> If jwks-url is not set, it is derived from the issuer URL using the standard OpenID Connect discovery path. Auth priority: mTLS -> VyOS JWT -> OIDC -> API key
2026-09-01dns: T9175: rename security-poll-suffix option to security-status-poll-domainRuben Herold
Per dmbaturin's review: the value is a full FQDN, not a suffix, and the help text should clarify that the poll checks for known vulnerabilities in the running PowerDNS recursor version.
2026-09-01dns: T9175: make PowerDNS security status poll opt-inRuben Herold
The PowerDNS recursor periodically polls secpoll.powerdns.com to check for known security issues, but VyOS ships a patched/backported package that is never updated in-place, so the check result is meaningless and only produces log noise. Add a new `service dns forwarding options security-poll-suffix` option, disabled by default. Users who still want the check (e.g. against PowerDNS' own poll domain, or a custom one) can opt back in.
2026-09-01Merge pull request #5409 from cqjjjzr/T8045-dont-queryViacheslav Hletenko
dns: T8045: expose PowerDNS dont-query list as recursion-exclude-address
2026-08-29Merge pull request #5426 from sarthurdev/T9129Christian Breunig
podman: T9129: Use systemd quadlet for containers and networks
2026-08-28podman: T9129: Add `stop-timeout` and use low value for smoketestssarthurdev
This drastically reduces the wait time from podman killing containers during smoketest
2026-08-28Merge pull request #5408 from cqjjjzr/T9166-ipv6-haViacheslav Hletenko
ha: T9166: add IPv6 support for HA peer links
2026-08-27Merge pull request #5423 from indrajitr/container-cgroupnsJohn Estabrook
T9240: container: Allow sharing host's cgroup namespace with container
2026-08-26http-api: T8989: add mTLS client certificate authenticationomnom62
Add support for mutual TLS (mTLS) authentication to the VyOS REST API. When configured, nginx requests a client certificate and verifies it against the configured CA chain. FastAPI reads the X-Client-Verify header set by nginx and bypasses API key/token authentication when the client certificate is valid. Configuration: set service https certificates ca-certificate <name> set service https certificates verify-client <optional|required> Note: requires TLSv1.2 due to nginx 1.22 TLSv1.3 post-handshake authentication limitations. TLSv1.3 support pending nginx upgrade.
2026-08-26http-api: T8989: add REST Bearer token authenticationomnom62
Add JWT Bearer token support to the REST API, as an additional authentication method alongside the existing form-field key and X-API-Key header. - New POST /token endpoint mints a JWT for a valid API key - auth_required() accepts Authorization: Bearer <token> alongside existing key/X-API-Key auth - New config nodes: service https api rest authentication {expiration, secret-length} (defaults: 3600s / 32 bytes) - REST tokens use an independent signing secret from GraphQL's, since GraphQL may not be enabled on all deployments and the two subsystems have different expiry requirements - nginx location regex updated to allow /token - service_https.py default-value merge generalized to also apply to the rest node, not just graphql, so REST authentication defaults populate correctly on commit
2026-08-26dns: T8045: expose PowerDNS dont-query list as recursion-exclude-addresschariri
The `+=` append syntax is used for appending. To remove from the defaults, users can use negation.
2026-08-26dhcp: T9166: add IPv6 support for HA peer linkschariri
Accept IPv6 source and remote addresses for Kea high availability and bracket IPv6 endpoints in generated peer URLs.
2026-08-26conntrack-sync: T9166: add IPv6 support for HA peer linkschariri
Accept IPv6 peer, listen, and multicast addresses. Render the selected address family and validate it against the synchronization interface and listen addresses.
2026-08-23firewall: T9242: Add mac-address-mask supportl0crian1
- Add mac-address-mask support to firewall rules - Add smoketest for mac-address-mask
2026-08-22T9240: container: Allow sharing host's cgroup namespace with containerIndrajit Raychaudhuri
2026-08-20T8868: Change help message for reserved memoryViacheslav Hletenko
Co-authored-by: Daniil Baturin <daniil@baturin.org>
2026-08-20kdump: T8868: Implement kernel crash dump supportOleksandr Kuchmystyi
Add new CLI subtree 'system option kdump' with memory reservation and local dump path configuration. Also add 'show system kdump' and 'show system kdump dumps' operation mode commands to get status of the configuration and list of dumps. Extend 'show tech-support report' and 'generate tech-support archive' with kdump service status, active config files and the recently kernel dump file.
2026-08-19container: T9229: add sys-rawio capabilityopswill
2026-08-19Merge pull request #5373 from ServerForge/rollingChristian Breunig
interfaces: T9158: add option to enable/disable rx offload
2026-08-17xml: T9179: reject VRF names in interface-name constraintChristian Breunig
Tab completion for source-interface and other interface leafNodes already excludes VRF names, but the shared interface-name constraint accepted them anyway: an existing VRF is a real net device, so it passed the file-path existence check even though it failed the interface-name regex. Replace the file-path validator with a new interface-exists validator that requires the value to both exist under /sys/class/net and not be a VRF. The regex-match fallback is unchanged, so dynamic interfaces (e.g. pppoe) referenced before they exist still validate correctly.
2026-08-14Merge pull request #5371 from ruben-herold/T9159-ntp-source-addressDaniil Baturin
ntp: T9159: add source-address option for client requests
2026-08-14Merge pull request #5123 from indrajitr/ddclient-v4Daniil Baturin
ddclient: T6981: Upgrade ddclient to v4.0.0
2026-08-12T8598: Accel-PPP: Add upgrade-safe migration support for calling-sid peer ↵Ritika Chopra
IID secret enforcement across PPPoE, L2TP, PPTP, and SSTP (BP 2188) (cherry picked from commit c9314daa78418751edaab9b4da8c2e33fb1a64ed)
2026-08-12T8598: CLI support to configure a secret which will be used along with ↵Ritika Chopra
calling-station-id, to generate Peer Interface Identifier (IID) (BP 2188) (cherry picked from commit 5354959b60c97df699ad14ef561ab9aa92b37922)
2026-08-11interfaces: T9158: add rx offload optionKyle McClammy
Add support for receive checksum offload on ethernet interfaces.
2026-08-11Merge pull request #5365 from l0crian1/last-usedJohn Estabrook
firewall: T8221: Add last-used option to firewall rules
2026-08-10container: T9184: add chown capabilityNicolas Vollmar
2026-08-05ntp: T9159: add source-interface option for client requestsRuben Herold
Complements source-address (bindacqaddress) with a device-based bind (chrony's bindacqdevice) for outgoing NTP client requests. Addresses feedback on T9159 that a source IP alone cannot unambiguously select the egress path in multi-VRF setups with overlapping address ranges. Both options bind different socket properties and can be combined. If "vrf" is set, source-interface must belong to that VRF, mirroring the existing check for "interface".
2026-08-04T9163: Fix typos in the completion help for the service conntrack-syncsever-sever-patch-T9163Viacheslav Hletenko
Cosmetic bug
2026-08-04T8221: Moved last-used inclued to common-rule filesl0crian1