diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 3100a2e04e2..a7cccbc690c 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -678,6 +678,7 @@ static int dump_addresses( int ifindex) { _cleanup_free_ struct local_address *local = NULL; + _cleanup_free_ char *dhcp4_address = NULL; int r, n, i; assert(rtnl); @@ -687,6 +688,8 @@ static int dump_addresses( if (n < 0) return n; + (void) sd_network_link_get_dhcp4_address(ifindex, &dhcp4_address); + for (i = 0; i < n; i++) { _cleanup_free_ char *pretty = NULL; @@ -700,6 +703,15 @@ static int dump_addresses( if (r < 0) return r; + if (dhcp4_address && streq(pretty, dhcp4_address)) { + _cleanup_free_ char *p = NULL; + + p = pretty; + pretty = strjoin(pretty , " (DHCP4)"); + if (!pretty) + return log_oom(); + } + if (ifindex <= 0) { char name[IF_NAMESIZE+1];