summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-26Merge pull request #5080 from natali-rs1985/T8416Christian Breunig
vpp: T8416: Prevent interfaces from being assigned to xconnect and bridge/bonding at the same time
2026-03-26Merge pull request #5069 from natali-rs1985/T8286Daniil Baturin
vpp: T8286: Uninitialized interfaces raise errors when added to VPP
2026-03-26vpp: T8286: Uninitialized interfaces raise errors when added to VPPNataliia Solomko
2026-03-26vpp: T8416: Prevent interfaces from being assigned to xconnect and ↵Nataliia Solomko
bridge/bonding at the same time
2026-03-26Merge pull request #5088 from alexandr-san4ez/T8432-currentViacheslav Hletenko
vpp: T8432: Fix AttributeError for enabling vpp interface
2026-03-26kea: T8408: Fixes to enable dhcp option 67Patrick Felt
- fix darker linter
2026-03-26vpp: T8432: Fix AttributeError for enabling vpp interfaceOleksandr Kuchmystyi
Fix AttributeError in `_is_device_allowed` by using iface parameter for `persist_config` lookup.
2026-03-26kea: T8408: Fixes to enable dhcp option 67Patrick Felt
- convert to the simpler kea4_options dict - add the smoketest
2026-03-25kea: T8408: Fixes to enable dhcp option 67Patrick Felt
- update dict literal style
2026-03-25Merge pull request #5078 from natali-rs1985/T8379Christian Breunig
T8379: PBR commit fail with traceback if non-existing VRF added
2026-03-25Merge pull request #5082 from sever-sever/T8410Christian Breunig
T8410: Fix typos and mistakes for operational and configuration commands
2026-03-25Merge pull request #5085 from alexandr-san4ez/T8422-currentChristian Breunig
vpp: T8422: Resolve inconsistent behavior with `allow-unsupported-nics` configuration option
2026-03-25vpp: T8422: Resolve inconsistent behavior with `allow-unsupported-nics` ↵Oleksandr Kuchmystyi
configuration option Prevents attachments of unsupported NICs when the allow-unsupported-nics option is removed.
2026-03-25Merge pull request #5087 from alexandr-san4ez/T8277-currentChristian Breunig
firewall: T8277: Resolve migration issue when using `port-group` with protocol `all`
2026-03-25Merge pull request #5084 from c-po/ipv6-pppoe-fixViacheslav Hletenko
T8405: fix pppoe peer template - remove superfluous +
2026-03-25firewall: T8277: Resolve migration issue when using `port-group` with ↵Oleksandr Kuchmystyi
protocol 'all' Updated the migration script to ensure that when migrating firewall rules, if a `port-group` exists, the protocol will be set to 'tcp_udp' only when its previous value is 'all'.
2026-03-25kea: T8408: Fixes to enable dhcp option 67Patrick Felt
- Kea overloads the meaning of the boot-file-name option. When used on its own, it represents the legacy bootp filename option. When option 67 is needed, boot-file-name must be included in an options block.
2026-03-24T8405: fix pppoe peer template - remove superfluous +Christian Breunig
Commit 5c800be95 ("T8405: fix noipv6 emitted when dhcpv6-options configured without ipv6 node") added a superfluous +, most likely due to a rebase or merge error.
2026-03-24Merge pull request #5071 from AlectoTheFirst/fix/pppoe-dhcpv6-noipv6Daniil Baturin
T8405: fix noipv6 emitted when dhcpv6-options configured without ipv6 node
2026-03-24T8410: Fix typos and mistakes for operational and configuration commandsViacheslav Hletenko
Fix typos and mistakes in the commands and comments No functional changes
2026-03-24Merge pull request #5039 from natali-rs1985/T8355Daniil Baturin
vpp: T8355: Set MTU for vpp interfaces
2026-03-24Merge pull request #4968 from natali-rs1985/T8188Daniil Baturin
T8188: Preserve static IPv4 addresses flushed by dhclient
2026-03-24Merge pull request #5077 from c-po/system-login-default-passwordDaniil Baturin
login: T8415: show Warning() if default password is used when adding user
2026-03-24Merge pull request #5079 from jestabro/adjust-perms-case-cloud-initDaniil Baturin
T8418: adjust permissions setting of config.boot for case of cloud-init
2026-03-24T8418: adjust permissions setting of config.boot for case of cloud-initJohn Estabrook
Group owner and write permission were set within a conditional block that cloud-init does not see. Move settings outside of unneeded conditional protection.
2026-03-24Merge pull request #5062 from alexk37/fix-dhcpv6-server-subnet-validationViacheslav Hletenko
T8399: dhcpv6-server: move connectivity/overlap checks inside subnet loop
2026-03-24Merge pull request #5070 from natali-rs1985/T8384Viacheslav Hletenko
validators: T8384: ipv6-eui64-prefix: unhandled exception on eui-64 address validation
2026-03-23vpp: T8355: Move rx-mode setup to base VPPInterface classNataliia Solomko
2026-03-23T8379: PBR commit fail with traceback if non-existing VRF addedNataliia Solomko
2026-03-23Merge pull request #5076 from c-po/dhcpv6-pd-interfaceChristian Breunig
dhcpv6: T8414: missing prefix-delegation interface constraint
2026-03-23T8355: Relax VXLAN MTU check: use Warning instead of ConfigErrorNataliia Solomko
2026-03-23vpp: T8355: Set MTU for vpp interfacesNataliia Solomko
2026-03-21T8405: fix noipv6 emitted when dhcpv6-options configured without ipv6 nodemetricsmancer
When a PPPoE interface has dhcpv6-options (e.g. prefix delegation) configured but no explicit ipv6 node, the Jinja template writes noipv6 into the PPP peer configuration. This prevents IPv6CP negotiation, causing the ISP to silently ignore all DHCPv6 traffic. Fix the peer template to also check for dhcpv6_options before emitting noipv6, and add dhcpv6-options and ipv6 to the list of config nodes that trigger a PPPoE session restart so the change takes effect without manual disconnect/reconnect.
2026-03-21Merge pull request #5073 from c-po/qos-redirect-fixDaniil Baturin
configverify: T8413: fix issue in duplex shaping (redirect to input interface)
2026-03-20login: T8415: show Warning() if default password is used when adding userChristian Breunig
When performing an image installation and the user chooses vyos as the default password, a warning is emitted. The combination vyos/vyos is used in brute force lists and have been seen multiple times in the wild. When adding the user via: set system login user vyos authentication plaintext-password vyos a warning should be shown!
2026-03-20dhcpv6: T8414: missing prefix-delegation interface constraintChristian Breunig
2026-03-20configverify: T8413: fix issue in duplex shaping (redirect to input interface)Christian Breunig
After commit 6eafdbf1a8 ("configdict: T8358: rename internal representation from traffic_policy to qos) we uncovered a bug/added a feature in supporting QoS and redirect on an interface. The code in VyOS stream 2026.02 is: if ('mirror' in config or 'redirect' in config) and dict_search('traffic_policy.in', config) is not None: and this got changed to: if 'qos' in config and ('mirror' in config or 'redirect' in config): in the commit mentioned above. When looking at the code in 2026.02 release $ git describe --tags 2026.02 $ git grep traffic_policy python/vyos/configdict.py: dict.update({'traffic_policy': {}}) python/vyos/configdict.py: dict['vif'][vif].update({'traffic_policy': {}}) python/vyos/configdict.py: dict['vif_s'][vif_s].update({'traffic_policy': {}}) python/vyos/configdict.py: dict['vif_s'][vif_s]['vif_c'][vif_c].update({'traffic_policy': {}}) python/vyos/configverify.py: if ('mirror' in config or 'redirect' in config) and dict_search('traffic_policy.in', config) is not None: python/vyos/ifconfig/interface.py: if not 'traffic_policy' in self.config: I never see traffic_policy.in set, so the check seems to have never worked in the past at all. During the QoS rewrite from 1.3 -> 1.4 CLI traffic-policy was renamed by me to qos but we kept that synthetic key in the Python code. That is the root cause. So it should have never worked (CLI wise) but during that bug it started to work as expected, and even the Python code stated in a comment: if 'qos' in config and ('mirror' in config or 'redirect' in config): # XXX: support combination of limiting and redirect/mirror - this is an # artificial limitation raise ConfigError('Can not use QoS together with mirror/redirect!') So we have enabled this feature for a long time by accident already.
2026-03-20validators: T8384: ipv6-eui64-prefix: unhandled exception on eui-64 address ↵Nataliia Solomko
validation
2026-03-20T8404: fix TypeError when ipv6 address node exists without autoconfmetricsmancer
dict_search('ipv6.address', config) returns None when the ipv6 address node is empty (e.g. after deleting autoconf), causing a TypeError on the 'in' membership test. Use dict_search('ipv6.address.autoconf', config) instead, which safely returns None for any missing path segment.
2026-03-19vyos-netlinkd: T8047: replace netplugdChristian Breunig
Implementing a daemon that listens for netlink messages in Python was discussed for many years. This is a proof-of-concept implementation how we can listen for netlink messages and process them in Python. Python 3.10 minimum is required due to the use of case statements which mimics C-style switch/case instructions. Add example: set interfaces ethernet eth1 vif 21 address dhcp set interfaces ethernet eth1 vif 21 address dhcpv6 commit If network cable is unplugged: vyos-netlinkd[12681]: RTM_NEWLINK -> eth3.10, state=DOWN, mac=00:50:56:b3:9d:8e vyos-netlinkd[12681]: Stopping dhclient@eth3.10.service... vyos-netlinkd[12681]: Stopping dhcp6c@eth3.10.service... If cable is plugged back in: vyos-netlinkd[12681]: RTM_NEWLINK -> eth3.10, state=DOWN, mac=00:50:56:b3:9d:8e vyos-netlinkd[12681]: RTM_NEWLINK -> eth3.10, state=UP, mac=00:50:56:b3:9d:8e vyos-netlinkd[12681]: Restarting dhclient@eth3.10.service... vyos-netlinkd[12681]: Restarting dhcp6c@eth3.10.service...
2026-03-19Merge pull request #5064 from natali-rs1985/T8352Christian Breunig
T8352: VPP add op-mode commands to show bonding interfaces
2026-03-19vyos.ifconfig: T8047: add optional get_config_path() delimiterChristian Breunig
If we would like to get the CLI config path as a dot delimited string (instead of whitespace) we can now request it. This is usefull when feeding in the result of get_config_path() into dict_search().
2026-03-19T8188: Preserve static IPv4 addresses flushed by dhclientNataliia Solomko
When dhclient renews/rebinds a lease, it calls "ip -4 addr flush dev <interface>". This removes ALL IPv4 addresses, including static addresses configured via VyOS (e.g., "set interfaces ethernet eth0 address 192.168.1.1/24"). The updated hook logic now intercepts the "ip -4 addr flush" command and replaces it with a selective flush that only removes addresses marked as "dynamic" by the kernel. DHCP-assigned addresses have the "dynamic" flag set automatically.
2026-03-19Merge pull request #5063 from c-po/tshark-removeChristian Breunig
op-mode: T8400: remove calls to tshark binary for PCAP files
2026-03-19Merge pull request #5065 from natali-rs1985/T8396Christian Breunig
T8396: VPP op-mode "show interfaces vpp" missing ipv6 address
2026-03-19Merge pull request #5066 from natali-rs1985/T8395Viacheslav Hletenko
T8395: VPP add op-mode command for 'show mode'
2026-03-19T8395: VPP add op-mode command for 'show mode'Nataliia Solomko
2026-03-18T8396: VPP op-mode "show interfaces vpp" missing ipv6 addressNataliia Solomko
2026-03-18T8352: VPP add op-mode commands to show bonding interfacesNataliia Solomko
2026-03-18Merge pull request #5053 from alexk37/fix-ipsec-ra-local-portDaniil Baturin
T8386: fix locat_ts rendering in remote_access.j2