summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-22T7363: use legacy environment variable to indicate config modeJohn Estabrook
In the absence of Cstore, the env var remains as the sole indication of config mode for the legacy CLI, and its emulation here.
2025-05-22T7363: add check for config mode that is independent from CstoreJohn Estabrook
The environment variable _OFR_CONFIGURE is used by bash completion to setup the config mode environment. We check this setting to coordinate vyconf config mode and CLI config mode, independent of the legacy backend Cstore check.
2025-05-22T7450: fix dependency for use of PCRE2 instead of PCREJohn Estabrook
Despite the counterintuitive numbering, this is correct.
2025-05-21T7415: Fix tcp flags matchingl0crian1
Empty leaf nodes are cleaned, causing the tcp ack and syn flags to not match. These values are exempted from being cleaned.
2025-05-21Merge pull request #4521 from natali-rs1985/T7472Daniil Baturin
ipoe_server: T7472: Add validation for giaddr if dhcp-relay is defined
2025-05-21flowtable: T7350: Prevent interface deletion if referenced on flowtablesarthurdev
2025-05-21accel-ppp: T7471: Changed CoA port completion help to standard templateaapostoliuk
Changed CoA port completion help to standard template.
2025-05-21Merge pull request #4514 from natali-rs1985/T6997Daniil Baturin
ipoe_server: T6997: Do not require to create client ip pool when dhcp-relay is used
2025-05-21ipoe_server: T7472: Add validation for giaddr if dhcp-relay is definedNataliia Solomko
2025-05-21ipoe_server: T6997: Do not require to create client ip pool when dhcp-relay ↵Nataliia Solomko
is used
2025-05-21Merge pull request #4501 from c-po/boot-recovery-T1771Daniil Baturin
T1771: automatic reboot of system into previous image
2025-05-20Merge pull request #4520 from kumvijaya/currentChristian Breunig
T7445: added open prs conflict checker caller workflow
2025-05-20T7445: added open prs conflict checker aller workflowkumvijaya
2025-05-20Merge pull request #36 from jestabro/config-contextJohn Estabrook
T7363: update hash for vyconf aware initialization of Config
2025-05-20Merge pull request #4515 from aapostoliuk/T7463-currentViacheslav Hletenko
pppoe: T7463: Added restart if CoA is changed
2025-05-20pppoe: T7463: Added restart if CoA is changedaapostoliuk
Added a restart if CoA is changed Added a restart if the authentication mode is changed
2025-05-20Merge pull request #4498 from opswill/currentDaniil Baturin
prometheus: T7435: Ensure only configured exporters are started
2025-05-20Merge pull request #4519 from aapostoliuk/T7462-currentDaniil Baturin
opennhrp: T7462: Removed unused opennhrp files and configurations
2025-05-20Merge pull request #4499 from sever-sever/T7348Daniil Baturin
T7348: Add config CPU thread-count for accel-ppp services
2025-05-20Merge pull request #4511 from sever-sever/T7335Daniil Baturin
T7335: Fix typo for HAproxy help redirect-location path
2025-05-20T7363: update hash for vyconf aware initialization of ConfigJohn Estabrook
2025-05-20Merge pull request #4468 from sarthurdev/T5707Daniil Baturin
wireguard: T7387: Optimise wireguard peer handling
2025-05-20Merge pull request #4518 from dmbaturin/T7467-no-regex-wrappingChristian Breunig
xml: T7467: remove ^/$ wrapping from validation regexes
2025-05-20Merge pull request #4482 from talmakion/bugfix/T5069/permit-compound-regexDaniil Baturin
policy: T5069: large-community-list regex validator disallows whitespace
2025-05-20Merge pull request #4513 from natali-rs1985/T7287Daniil Baturin
openconnect: T7287: VPN Openconnect does not check dictionary key se…
2025-05-20xml: T7467: remove ^/$ wrapping from validation regexesDaniil Baturin
since the validation utility adds them implicitly
2025-05-20opennhrp: T7462: Removed unused opennhrp files and configurationsaapostoliuk
Removed unused opennhrp files and configurations
2025-05-20Merge pull request #4516 from dmbaturin/T7464-fix-snmp-community-regexChristian Breunig
snmp: T7464: fix the community string validation regex for compatibility with PCRE2
2025-05-20Merge pull request #4517 from dmbaturin/T7466-bonding-mode-regex-fixChristian Breunig
bonding: T7466: fix the 802.3ad regex
2025-05-20bonding: T7466: fix the 802.3ad regexDaniil Baturin
2025-05-20snmp: T7464: fix the community string validation regexDaniil Baturin
for compatibility with PCRE2
2025-05-19Merge pull request #4509 from sever-sever/T7458Daniil Baturin
T7458: Fix VPN IPsec unexpected passthrough logic bug
2025-05-19Merge pull request #4510 from sever-sever/T7414Daniil Baturin
T7414: Fix conntrack ignore rules for using several ports
2025-05-19openconnect: T7287: VPN Openconnect does not check dictionary key server ↵Nataliia Solomko
with authentication mode RADIUS
2025-05-17T1771: enable "reboot-on-upgrade-failure" for new VyOS installationsChristian Breunig
2025-05-17T1771: automatic reboot of system into previous imageChristian Breunig
If any part of the system boot fails, we set overall_status=1 in the vyos-router startup script. When an error during the image upgrade is detected, the system will automatically revert the default boot image to the previously used version, if the CLI option "system option reboot-on-upgrade-failure" is set. The user is informed via console messages: Booting failed, reverting to previous image Automatic reboot in 5 minutes Use "reboot cancel" to cancel The user has time to log in and run reboot cancel to remain in the faulty image for troubleshooting. Reboot timeout is defined by CLI: "system option reboot-on-upgrade-failure" Once the system boots into the previous image, the MOTD will display a persistent warning message - cleared during next reboot. WARNING: Image update to "VyOS 1.5.xxxx" failed Please check the logs: /usr/lib/live/mount/persistence/boot/NAME/rw/var/log Message is cleared on next reboot! Upgrade failure can be synthetically injected by booting with Kernel command line option: vyos-fail-migration
2025-05-17image: T1771: save previous image name to upgraded image persistent storageChristian Breunig
When performing an image upgrade we will create a file named /config/first_boot with JSON data inside the new images persistent storage. The content of the file will look like: {"previous_image": "1.5-stream-2025-Q3"} The previous image name can be easily queried using "jq -r '.previous_image'". This is the base work required for an adjusted version of the vyos-router init script to support an automatic rollback to a previous image if things go sideways.
2025-05-16T7414: Fix conntrack ignore rules for using several portsViacheslav Hletenko
If we use several port for the `conntrack ignore` there have to be used curly braces for nftables Incorrect format: dport 500,4500 Correct format: dport { 500, 4500 }
2025-05-16T7348: Add config CPU thread-count for accel-ppp servicesViacheslav Hletenko
Accel-ppp services should not use all CPU cores to process requests. At the moment accel-ppp services use all available CPU cores to process requests from the subscribers (establish/update session/etc). During mass connection of sessions, this can lead to the fact that it utilizes all CPU, and for other services like FRR, there is not enough CPU time to process their own stable work. services: - L2TP - SSTP - PPPoE - IPoE - PPtP Add this option configurable and use all cores if not set: ``` set service pppoe-server thread-count < all | half | x > ``` The defaultValue `all`
2025-05-16op-mode: T7459: eliminate direct use of sudo in op mode commandsDaniil Baturin
2025-05-16T7335: Fix typo for HAproxy help redirect-location pathViacheslav Hletenko
2025-05-16T7458: Fix VPN IPsec unexpected passthrough logic bugViacheslav Hletenko
VPN IPsec unexpected passthrough logic bug was introduced in this commit https://github.com/vyos/vyos-1x/commit/f480346bb8e934b1ce2e0fc3be23f7168273bba1 The correct behaviour of the `cidr_fit` was replaced with the incorrect `overlap` This way, the passthrough option is used every time when networks overlap. ``` >>> from ipaddress import ip_network >>> >>> a = ip_network('192.0.2.0/24') >>> b = ip_network('192.0.2.100/30') >>> >>> a.overlaps(b) True >>> >>> b.overlaps(a) True >>> ``` But there should be `subnet_of`: ``` >>> a.subnet_of(b) False >>> >>> b.subnet_of(a) True >>> ``` In configuration it looks like ``` set vpn ipsec site-to-site peer RIGHT tunnel 0 local prefix '192.0.2.0/24' set vpn ipsec site-to-site peer RIGHT tunnel 0 remote prefix '192.0.2.100/30' ``` The StrongSwan unexpected configuration: ``` RIGHT-tunnel-0-passthrough { local_ts = 192.0.2.0/24 remote_ts = 192.0.2.0/24 start_action = trap mode = pass } ``` So all outcoming traffic to the 192.0.2.0/24 pass through the main routing table instead of out SA Use `subnet_of` to fix this
2025-05-16Merge pull request #34 from jestabro/remove-printDaniil Baturin
validators: T7450: remove debug line from use PCRE2 commit
2025-05-15validators: T7450: remove debug lineJohn Estabrook
2025-05-15Merge pull request #4507 from jestabro/T7450-use-pcre2Christian Breunig
T7450: update commit hash for Use PCRE2 instead of PCRE
2025-05-14T7450: update commit hash for Use PCRE2 instead of PCREJohn Estabrook
2025-05-14Merge pull request #37 from jestabro/T7450-use-pcre2Christian Breunig
T7450: update commit hashes for Use PCRE2 instead of PCRE
2025-05-13T7450: update commit hashes for Use PCRE2 instead of PCREJohn Estabrook
2025-05-13Merge pull request #33 from dmbaturin/T7450-use-pcre2John Estabrook
validators: T7450: use PCRE2 instead of the outdated original PCRE
2025-05-13T7419: VPP ACL implementation (#31)Nataliia S.
CLI: ``` set vpp acl ip tag-name <tag-name> rule <nn> action <permit|deny|permit-reflect> set vpp acl ip tag-name <tag-name> rule <nn> source prefix <prefix> set vpp acl ip tag-name <tag-name> rule <nn> source port <port|range> set vpp acl ip tag-name <tag-name> rule <nn> destination prefix <prefix> set vpp acl ip tag-name <tag-name> rule <nn> destination port <port> set vpp acl ip tag-name <tag-name> rule <nn> protocol <protocol> set vpp acl ip tag-name <tag-name> rule <nn> tcp-flags <fin|syn|rst|psh|ack|urg|ecn|cwr> set vpp acl ip tag-name <tag-name> rule <nn> tcp-flags not <fin|syn|rst|psh|ack|urg|ecn|cwr> set vpp acl ip interface <interface_name> input acl-tag <n> tag-name <tag-name> set vpp acl ip interface <interface_name> output acl-tag <n> tag-name <tag-name> set vpp acl macip tag-name <tag-name> rule <nn> prefix <prefix> set vpp acl macip tag-name <tag-name> rule <nn> mac-address <mac> set vpp acl macip tag-name <tag-name> rule <nn> mac-mask <mac-mask> set vpp acl macip tag-name <tag-name> rule <nn> action <permit|deny> set vpp acl macip interface <interface_name> tag-name <tag-name> ``` OP mode ``` show vpp acl ip tag-name <tag_name> show vpp acl ip interface show vpp acl macip tag-name <tag_name> show vpp acl macip interface ```