From 3d0c8750c5a76fc2f5c7f816c95bfa0238e2f581 Mon Sep 17 00:00:00 2001 From: Susant Sahani Date: Fri, 19 Jun 2020 00:01:21 +0900 Subject: [PATCH] networkctl: display DHCPv4 server address --- src/network/networkctl.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 6d2bb110b4d..8049912f437 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1+ */ +#include #include #include #include @@ -958,12 +959,18 @@ static int dump_addresses( return r; if (local[i].family == AF_INET && in4_addr_equal(&local[i].address.in, &dhcp4_address)) { - _cleanup_free_ char *p = NULL; + struct in_addr server_address; + char *p, s[INET_ADDRSTRLEN]; - p = pretty; - pretty = strjoin(pretty , " (DHCP4)"); - if (!pretty) + r = sd_dhcp_lease_get_server_identifier(lease, &server_address); + if (r >= 0 && inet_ntop(AF_INET, &server_address, s, sizeof(s))) + p = strjoin(pretty, " (DHCP4 via ", s, ")"); + else + p = strjoin(pretty, " (DHCP4)"); + if (!p) return log_oom(); + + free_and_replace(pretty, p); } r = strv_extendf(&buf, "%s%s%s", -- 2.47.3