From e0a3291235230352148d5d30e51b341bfd9ad458 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Thu, 26 Jan 2023 10:26:12 -0800 Subject: [PATCH] Fix setMtu() on Linux. Add error checking (#1860) * Fix setMtu() on Linux. Add error checking * Slightly tweak ioctl MTU error message --- osdep/LinuxEthernetTap.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/osdep/LinuxEthernetTap.cpp b/osdep/LinuxEthernetTap.cpp index 1192ffa90..8995b102b 100644 --- a/osdep/LinuxEthernetTap.cpp +++ b/osdep/LinuxEthernetTap.cpp @@ -553,8 +553,11 @@ void LinuxEthernetTap::setMtu(unsigned int mtu) if (sock > 0) { struct ifreq ifr; memset(&ifr,0,sizeof(ifr)); + strcpy(ifr.ifr_name,_dev.c_str()); ifr.ifr_ifru.ifru_mtu = (int)mtu; - ioctl(sock,SIOCSIFMTU,(void *)&ifr); + if (ioctl(sock,SIOCSIFMTU,(void *)&ifr) < 0) { + printf("WARNING: ioctl() failed updating existing Linux tap device (set MTU)\n"); + } close(sock); } }