Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Aug 2023 17:33:21 GMT
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 6f3947be2aff - main - ifconfig: fix 'ifconfig -l link'
Message-ID:  <202308251733.37PHXLco099429@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=6f3947be2aff9350514b5a414104d0afaeb53cdf

commit 6f3947be2aff9350514b5a414104d0afaeb53cdf
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2023-08-25 17:31:55 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2023-08-25 17:31:55 +0000

    ifconfig: fix 'ifconfig -l link'
    
    The rtnetlink(4) RTM_GETADDR does not list link level addresses, thus
    the correct match for interfaces that have a link level address should
    be based on what was returned by RTM_GETLINK.
    
    Reviewed by:            melifaro
    Differential Revision:  https://reviews.freebsd.org/D41586
---
 sbin/ifconfig/ifconfig_netlink.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/sbin/ifconfig/ifconfig_netlink.c b/sbin/ifconfig/ifconfig_netlink.c
index c3e8cd413409..a6f52ea2a7f0 100644
--- a/sbin/ifconfig/ifconfig_netlink.c
+++ b/sbin/ifconfig/ifconfig_netlink.c
@@ -299,7 +299,13 @@ match_iface(struct ifconfig_args *args, struct iface *iface)
 			.sdl_alen = NLA_DATA_LEN(link->ifla_address),
 		};
 		return (match_ether(&sdl));
-	}
+	} else if (args->afp->af_af == AF_LINK)
+		/*
+		 * The rtnetlink(4) RTM_GETADDR does not list link level
+		 * addresses, so latter cycle won't match anything.  Short
+		 * circuit on RTM_GETLINK has provided us an address.
+		 */
+		return (link->ifla_address != NULL);
 
 	for (struct ifa *ifa = iface->ifa; ifa != NULL; ifa = ifa->next) {
 		if (args->afp->af_af == ifa->addr.ifa_family)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308251733.37PHXLco099429>