Page MenuHomeVyOS Platform

DHCP-server lease cannot be cleared
Closed, ResolvedPublicBUG

Description

DHCP-server lease cannot be cleared:

set interfaces ethernet eth2 address '100.64.2.1/24'
set service dhcp-server listen-interface 'eth2'
set service dhcp-server shared-network-name LANv42 authoritative
set service dhcp-server shared-network-name LANv42 subnet 100.64.2.0/24 range R1 option default-router '100.64.2.1'
set service dhcp-server shared-network-name LANv42 subnet 100.64.2.0/24 range R1 option name-server '1.1.1.1'
set service dhcp-server shared-network-name LANv42 subnet 100.64.2.0/24 range R1 start '100.64.2.10'
set service dhcp-server shared-network-name LANv42 subnet 100.64.2.0/24 range R1 stop '100.64.2.254'
set service dhcp-server shared-network-name LANv42 subnet 100.64.2.0/24 subnet-id '1'

check:

vyos@r14:~$ show dhcp server leases 
IP Address    MAC address        State    Lease start                Lease expiration           Remaining    Pool    Hostname    Origin
------------  -----------------  -------  -------------------------  -------------------------  -----------  ------  ----------  --------
100.64.2.10   52:54:00:96:17:74  active   2025-09-15 10:47:13+00:00  2025-09-16 10:47:13+00:00  23:57:02     LANv42  r15         local
100.64.2.11   52:54:00:09:0b:01  active   2025-09-15 10:47:28+00:00  2025-09-16 10:47:28+00:00  23:57:17     LANv42  r15         local
vyos@r14:~$ 
vyos@r14:~$ 
vyos@r14:~$ clear dhcp-server lease 100.64.2.10
Failed to clear lease for "100.64.2.10"
vyos@r14:~$ 
vyos@r14:~$ clear dhcp-server lease 100.64.2.11
Failed to clear lease for "100.64.2.11"
vyos@r14:~$ 
vyos@r14:~$ 
vyos@r14:~$ show dhcp server leases 
IP Address    MAC address        State    Lease start                Lease expiration           Remaining    Pool    Hostname    Origin
------------  -----------------  -------  -------------------------  -------------------------  -----------  ------  ----------  --------
100.64.2.10   52:54:00:96:17:74  active   2025-09-15 10:47:13+00:00  2025-09-16 10:47:13+00:00  23:56:52     LANv42  r15         local
100.64.2.11   52:54:00:09:0b:01  active   2025-09-15 10:47:28+00:00  2025-09-16 10:47:28+00:00  23:57:07     LANv42  r15         local
vyos@r14:~$

Checked on VyOS 2025.09.10-0018-rolling with manual changes in https://github.com/vyos/vyos-1x/pull/4689
So it doesn't resolve the clear release issue.

Details

Version
VyOS 2025.09.10-0018-rolling
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

factor2431 subscribed.
admin@vyos:~$ clear dhcp-server lease 192.168.31.100
usage: dhcp.py clear_dhcp_server_lease [-h] --family {inet,inet6} --vrf VRF --address ADDRESS
dhcp.py clear_dhcp_server_lease: error: the following arguments are required: --vrf

The problem is caused by inconsistent parameter ordering: in def kea_delete_lease(inet, ip_address, vrf_name=''): permalink the vrf_name is placed after ip_address, while in if not kea_delete_lease(inet, vrf, address): permalink the vrf appears before the address.

I will open a pull request to fix it.

Confirmed fixed in v2025.10.12-0019-rolling

Viacheslav moved this task from Need Triage to Completed on the VyOS Rolling board.
dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.