From 303fc1745093c2580293af335c1e1145268baf44 Mon Sep 17 00:00:00 2001 From: Antonio Cardace Date: Sun, 27 Oct 2019 14:31:09 +0100 Subject: [PATCH] nmcli: show IP interface name when doing 'nmcli connection show ' https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/218 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/322 --- clients/cli/connections.c | 11 +++++++++-- clients/cli/utils.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/clients/cli/connections.c b/clients/cli/connections.c index e6fa24ece1..3297d0af62 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -643,6 +643,7 @@ _metagen_con_active_general_get_fcn (NMC_META_GENERIC_INFO_GET_FCN_ARGS) case NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_UUID: return nm_active_connection_get_uuid (ac); case NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEVICES: + case NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_IP_IFACE: { GString *str = NULL; const GPtrArray *devices; @@ -651,10 +652,15 @@ _metagen_con_active_general_get_fcn (NMC_META_GENERIC_INFO_GET_FCN_ARGS) devices = nm_active_connection_get_devices (ac); if (devices) { for (i = 0; i < devices->len; i++) { - NMDevice *device = devices->pdata[i]; + NMDevice *device = g_ptr_array_index (devices, i); const char *iface; - iface = nm_device_get_iface (device); + if (info->info_type == NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEVICES) { + iface = nm_device_get_iface (device); + } else { + iface = nm_device_get_ip_iface (device); + } + if (!iface) continue; if (!s) { @@ -706,6 +712,7 @@ const NmcMetaGenericInfo *const metagen_con_active_general[_NMC_GENERIC_INFO_TYP _METAGEN_CON_ACTIVE_GENERAL (NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_NAME, "NAME"), _METAGEN_CON_ACTIVE_GENERAL (NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_UUID, "UUID"), _METAGEN_CON_ACTIVE_GENERAL (NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEVICES, "DEVICES"), + _METAGEN_CON_ACTIVE_GENERAL (NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_IP_IFACE, "IP-IFACE"), _METAGEN_CON_ACTIVE_GENERAL (NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_STATE, "STATE"), _METAGEN_CON_ACTIVE_GENERAL (NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEFAULT, "DEFAULT"), _METAGEN_CON_ACTIVE_GENERAL (NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEFAULT6, "DEFAULT6"), diff --git a/clients/cli/utils.h b/clients/cli/utils.h index a064133112..000091939e 100644 --- a/clients/cli/utils.h +++ b/clients/cli/utils.h @@ -130,6 +130,7 @@ typedef enum { NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_NAME = 0, NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_UUID, NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEVICES, + NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_IP_IFACE, NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_STATE, NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEFAULT, NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEFAULT6,