summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Vandamme <n.vandamme@firis-system.lu>2025-09-01 17:22:35 +0200
committerNicolas Vandamme <n.vandamme@firis-system.lu>2025-09-01 17:22:35 +0200
commit57b66fe60218bbaa2550350239fa71b0030213cb (patch)
tree6e97481c634cd4b916b259e1ba6c394e89b792bf
parentb1b4545cb7984cd3cdf42554ab2b28acd1ecb6cb (diff)
downloadvyos-1x-57b66fe60218bbaa2550350239fa71b0030213cb.tar.gz
vyos-1x-57b66fe60218bbaa2550350239fa71b0030213cb.zip
op-mode: T5992: show dhcpv6 leases with (mostly) the same fields as dhcp leases
-rw-r--r--python/vyos/kea.py2
-rwxr-xr-xsrc/op_mode/dhcp.py7
2 files changed, 6 insertions, 3 deletions
diff --git a/python/vyos/kea.py b/python/vyos/kea.py
index a47371e88..d3cf671ec 100644
--- a/python/vyos/kea.py
+++ b/python/vyos/kea.py
@@ -624,9 +624,9 @@ def kea_get_server_leases(config, inet, vrf_name, pools=[], state=[], origin=Non
data_lease['origin'] = 'local' # TODO: Determine remote in HA
# remove trailing dot in 'hostname' to ensure consistency for `vyos-hostsd-client`
data_lease['hostname'] = lease.get('hostname', '').rstrip('.') or '-'
+ data_lease['mac'] = lease['hw-address']
if inet == '4':
- data_lease['mac'] = lease['hw-address']
data_lease['start'] = lease['start_time'].timestamp()
if inet == '6':
diff --git a/src/op_mode/dhcp.py b/src/op_mode/dhcp.py
index 4d6d092e6..f4bb9a090 100755
--- a/src/op_mode/dhcp.py
+++ b/src/op_mode/dhcp.py
@@ -134,6 +134,7 @@ def _get_formatted_server_leases(raw_data, family='inet'):
if family == 'inet6':
for lease in raw_data:
ipaddr = lease.get('ip')
+ hw_addr = lease.get('mac')
state = lease.get('state')
start = datetime.fromtimestamp(
lease.get('last_communication'), timezone.utc
@@ -148,17 +149,19 @@ def _get_formatted_server_leases(raw_data, family='inet'):
pool = lease.get('pool')
host_identifier = lease.get('duid')
data_entries.append(
- [ipaddr, state, start, end, remain, lease_type, pool, host_identifier]
+ [ipaddr, hw_addr, state, start, end, remain, pool, hostname, lease_type, host_identifier]
)
headers = [
'IPv6 address',
+ 'MAC address',
'State',
'Last communication',
'Lease expiration',
'Remaining',
- 'Type',
'Pool',
+ 'Hostname',
+ 'Type',
'DUID',
]