From nobody Sun Sep 27 19:31:38 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4htF1R267nz6twFs for ; Sun, 27 Sep 2026 19:31:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4htF1R0Wkxz4DBV for ; Sun, 27 Sep 2026 19:31:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790537499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uNm51gKdoTIJ2zGAarDZV8U5hayUNHTBD74r1/ZfBxk=; b=ZKT8KoEiKCEMrIBt5W5t3nVKq96NMsGo0WjGpT+u6hUZ7aw6N33Aj/Jdr48n5GMaWWC3RN T+cYCpdDJhmPJeHEMrQk58yhkn0TQ8OFCrGLuEB2S8abB799Mlh26pP0Ba4UKSWSW1Fwr9 mXGdh55CRgCcVG5CWRI2JIi8UMyVao53oJHKmMrzUocnHfENrjMaF1OogHG+rhWVhwNwH9 TK5u9Q/NoPGqBylYp11Ln4aNUkiRJDNXNQkZfsxFHCRoeiw+Yof0brLaDSaaxfUiLHkyi2 e6P6XBrJbM2CRxxfq0yr7xRFrfYcozhphlCfBciwAnLbzpanUSAFZmUs7mRTFw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1790537499; b=bpqz0I5OkhCZNSqh55L6fySsuLeqduXl8rS+0Sk7nAYtjqW5X+qjbTnz5F41tdwY6enF3+ LbMlw2Z210TcANwmDrZrbu5OI8AxWa1p2/cWd8rCbMyiQo/7jpcmUhxoY9TfBXq7rL8e8G yPxPvl5TYBDo957BxUwYmnh9gtZNkysZcjN67KVCG3axWG77ElXTjYpoKf1CaQniXjAHsx IyfFUEzYa3a8axkeVqM0Blx4tUiYGLBZNxlw7iTdT59rGSci5Sa1ZwKrjJexfLMm/LUL9t wNRfV1WiN+theVVCePGuRS8UXg6waRExK4vWJ2wt1jZqtlyXdpXMt/2B+8RznQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790537499; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uNm51gKdoTIJ2zGAarDZV8U5hayUNHTBD74r1/ZfBxk=; b=aNi4IeB9B6myTru4iWVZxZEnXY4VbJbtK11l/iD/B4QrKk9WNhALS19iJ2wQrLGLCzmzIp e9PNkMjBRMQEZ7soSLZlHHUvn0RaCec9u/3OoatR7U0/8Mj+JlBcjoylVvj/Tpj22ta0ET GzDNCxNpIV9ndoQNT2pHSJSX7USO/mF1B1Xtq5DOoxvgn9Hu8HjseeM407beT+YslSOf2i gPmksy2aNLKblACyfInofVUda3O5JXllBPPGkpAHuMQ3MuwKYF/e+dKG5/CB/pzGppOoD7 6GwxYwa1tLJCs5YtnKIUJYRTdP1/BtZC2ODfftFDb2STcuC/WCaOISozT4onFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4htF1Q6hS6zvyl for ; Sun, 27 Sep 2026 19:31:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41ea0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 27 Sep 2026 19:31:38 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Li-Wen Hsu Subject: git: ef27f784697c - main - ifconfig(8): show parent device for USB Ethernet interfaces List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lwhsu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef27f784697c4f9d95a0d343b1001028714f4687 Auto-Submitted: auto-generated Date: Sun, 27 Sep 2026 19:31:38 +0000 Message-Id: <6ab96f1a.41ea0.6359a952@gitrepo.freebsd.org> The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/src/commit/?id=ef27f784697c4f9d95a0d343b1001028714f4687 commit ef27f784697c4f9d95a0d343b1001028714f4687 Author: Li-Wen Hsu AuthorDate: 2026-09-27 19:31:12 +0000 Commit: Li-Wen Hsu CommitDate: 2026-09-27 19:31:12 +0000 ifconfig(8): show parent device for USB Ethernet interfaces Report net.ue..%parent as "parent interface", consistent with wlan(4): # ifconfig ue0 ue0: flags=8843 metric 0 mtu 1500 ether 00:00:5e:00:53:2a inet 192.0.2.10/24 broadcast 192.0.2.255 parent interface: ure0 media: Ethernet autoselect (2500Base-T ) status: active Reviewed by: aokblast MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D59060 --- sbin/ifconfig/Makefile | 4 ++++ sbin/ifconfig/ifue.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/sbin/ifconfig/Makefile b/sbin/ifconfig/Makefile index fa3cc26a3023..b5824803c402 100644 --- a/sbin/ifconfig/Makefile +++ b/sbin/ifconfig/Makefile @@ -43,6 +43,10 @@ SRCS+= ifieee80211.c # SIOC[GS]IEEE80211 support LIBADD+= 80211 .endif +.if ${MK_USB} != "no" +SRCS+= ifue.c +.endif + SRCS+= carp.c # SIOC[GS]VH support SRCS+= ifgroup.c # ... .if ${MK_PF} != "no" diff --git a/sbin/ifconfig/ifue.c b/sbin/ifconfig/ifue.c new file mode 100644 index 000000000000..7908db71a2e4 --- /dev/null +++ b/sbin/ifconfig/ifue.c @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2026 The FreeBSD Foundation + * + * SPDX-License-Identifier: BSD-2-Clause + * + * This software was developed by Li-Wen Hsu + * under sponsorship from the FreeBSD Foundation. + */ + +#include +#include +#include + +#include + +#include +#include + +#include "ifconfig.h" + +#define UE_DRIVER_NAME "ue" + +static void +ue_status(if_ctx *ctx) +{ + char mibname[32]; /* "net.ue..%parent" */ + char parent[IFNAMSIZ]; + char *drivername; + size_t parentlen; + u_int unit; + char c; + + /* Use the orig name so it keeps working after interface renaming. */ + if (ifconfig_get_orig_name(lifh, ctx->ifname, &drivername) != 0) + return; + if (sscanf(drivername, UE_DRIVER_NAME "%u%c", &unit, &c) != 1) + goto out; + + if (snprintf(mibname, sizeof(mibname), + "net." UE_DRIVER_NAME ".%u.%%parent", unit) >= (int)sizeof(mibname)) + goto out; + + parentlen = sizeof(parent); + if (sysctlbyname(mibname, parent, &parentlen, NULL, 0) != 0) + goto out; + + printf("\tparent interface: %s\n", parent); +out: + free(drivername); +} + +static struct afswtch af_ue = { + .af_name = "af_ue", + .af_af = AF_UNSPEC, + .af_other_status = ue_status, +}; + +static __constructor void +ue_ctor(void) +{ + af_register(&af_ue); +}