From 0d12ca7b6f02b04bc6dae2f7573116c79db20041 Mon Sep 17 00:00:00 2001 From: Jaco Kroon Date: Wed, 24 Aug 2022 22:36:46 +0200 Subject: [PATCH] net-pre-up: permit interface name changing. This allows the net-pre-up script to use external tools to rename interfaces, for example: newname="${IFNAME}-${PEERNAME:0:$(( 15 - ${#IFNAME} ))}" ip li set dev "${IFNAME}" name "${newname}" Signed-off-by: Jaco Kroon --- pppd/main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pppd/main.c b/pppd/main.c index ed1ae6810..2a10f0ee3 100644 --- a/pppd/main.c +++ b/pppd/main.c @@ -784,7 +784,13 @@ set_ifup(const char* name) const char** t; if (!up_protos) { + char iftmpname[IFNAMSIZ]; + int ifindex = if_nametoindex(ifname); run_net_script(PPP_PATH_NET_PREUP, 1); + if (if_indextoname(ifindex, iftmpname) && strcmp(iftmpname, ifname)) { + info("Detected interface name change from %s to %s.", ifname, iftmpname); + strcpy(ifname, iftmpname); + } if (!netif_set_state(1)) return 0; }