From nobody Sun Nov 19 19:27:01 2023 X-Original-To: freebsd-net@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 4SYLHX2mKhz51DL8 for ; Sun, 19 Nov 2023 19:27:04 +0000 (UTC) (envelope-from mike@karels.net) Received: from mail2.karels.net (mail2.karels.net [3.19.118.201]) (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 (2048 bits) client-digest SHA256) (Client CN "freebsd", Issuer "freebsd" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SYLHW67PSz4Wrm; Sun, 19 Nov 2023 19:27:03 +0000 (UTC) (envelope-from mike@karels.net) Authentication-Results: mx1.freebsd.org; none Received: from mail2.karels.net (localhost [IPv6:0:0:0:0:0:0:0:1]) by mail2.karels.net (8.17.1/8.17.1) with ESMTP id 3AJJR2KB065780; Sun, 19 Nov 2023 13:27:02 -0600 (CST) (envelope-from mike@karels.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=karels.net; s=mail2; t=1700422022; bh=5dTESxXLu2MkqrAtfCOPSQycz/k6CEc/jEIHJufe9io=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=sgj9p8DcrZrvpRo4dKxRK1YSYtf1Hs09uaYYM44kGykTXGd3PCMKTxNBPep4iIKKY ObUBodrZ0gfB08cl4cn/SMZrOJ/4+sNAgLDA3qT0mtA5PorS0SO0JyNpi8Rzrs3AD4 cPQFfGetFql91XA380cZhF2lgZHahoGwq1nyIi8tjXocI68cJtpod7mjcwJeX4MRhT 3BkB70vw5NPgaPbUTiyLeT/K21Ht1eAKGd9C9feSTmrMnqTqvBsuXe6FFf0Cl3Lopq m70KNW4DJOd6CSgGVMx+OfmRUfb0ptLpwvLY7NWladjR/benHKHl715dXqJluiWyOl kuo1XUNg7nzxw== Received: from [10.0.2.130] ([73.62.165.147]) by mail2.karels.net with ESMTPSA id m/N4HoZhWmXyAAEAs/W3XQ (envelope-from ); Sun, 19 Nov 2023 13:27:02 -0600 From: Mike Karels To: =?utf-8?q?Mina_Gali=C4=87?= Cc: kevans@FreeBSD.org, freebsd-net@freebsd.org Subject: Re: How to tell if a network interface was renamed (and from what) Date: Sun, 19 Nov 2023 13:27:01 -0600 X-Mailer: MailMate (1.14r5964) Message-ID: <1115052A-D72C-4389-979F-5795B1F615BC@karels.net> In-Reply-To: References: <9eef5488-e8da-4edd-bc00-baeb5aaf4a23@FreeBSD.org> <99D24919-A5DF-4A8B-882F-9D724AAD494F@karels.net> List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16509, ipnet:3.16.0.0/14, country:US] X-Rspamd-Queue-Id: 4SYLHW67PSz4Wrm On 19 Nov 2023, at 13:13, Mina Gali=C4=87 wrote: > Hi Mike, > >> The kernel has a driver name for each interface, which looks like it >> doesn't change currently in most cases. There is a kernel accessor >> function, but I don't think it is exported to user space now. It could= >> be, though. Would this be sufficient for your purposes? There is also >> a unit number, which could also be exported. > > As mentioned in my initial post, I'm happy to drop to C where alternati= ves are infeasible, slow, or otherwise cumbersome, or just plain don't ex= ist. > > Here's the code we use to determine boottime: https://github.com/canoni= cal/cloud-init/blob/5496745b394f9b7b9eaf57fd619330d484ce2da8/cloudinit/ut= il.py#L2073-L2105 If I would design it right now, I'd add code to ifconfig to exercise the new feature, and do something like this: # ifconfig my-interfacename drivername igb # Unit could be done similarly if needed, or ifconfig could have an operand that caused both driver and unit to be printed, maybe as two words (hopefully no spaces in driver names!). Mike > > Mina