summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremax <emax@FreeBSD.org>2008-09-08 22:43:55 +0000
committeremax <emax@FreeBSD.org>2008-09-08 22:43:55 +0000
commit60554f1baf5cf6ff86059657ae583bb36a5d17f4 (patch)
treed7e054b16f4e725d46a55154d2717ec3f9df8f82
parent785199575944f5ec9d198c04eae287e7ca190bf4 (diff)
downloadFreeBSD-src-60554f1baf5cf6ff86059657ae583bb36a5d17f4.zip
FreeBSD-src-60554f1baf5cf6ff86059657ae583bb36a5d17f4.tar.gz
Add new TAPGIFNAME tap(4) character device ioctl. This is a
convenient shortcut to obtain network interface name using file descriptor for character device. Obtained from: NetBSD MFC after: 1 week
-rw-r--r--sys/net/if_tap.c6
-rw-r--r--sys/net/if_tap.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c
index 84b8d70..0e0b25c 100644
--- a/sys/net/if_tap.c
+++ b/sys/net/if_tap.c
@@ -745,6 +745,12 @@ tapioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td
*(int *)data = tapdebug;
break;
+ case TAPGIFNAME: {
+ struct ifreq *ifr = (struct ifreq *) data;
+
+ strlcpy(ifr->ifr_name, ifp->if_xname, IFNAMSIZ);
+ } break;
+
case FIONBIO:
break;
diff --git a/sys/net/if_tap.h b/sys/net/if_tap.h
index 0086285..91feb2f 100644
--- a/sys/net/if_tap.h
+++ b/sys/net/if_tap.h
@@ -55,6 +55,7 @@ struct tapinfo {
#define TAPGDEBUG _IOR('t', 89, int)
#define TAPSIFINFO _IOW('t', 91, struct tapinfo)
#define TAPGIFINFO _IOR('t', 92, struct tapinfo)
+#define TAPGIFNAME _IOR('t', 93, struct ifreq)
/* VMware ioctl's */
#define VMIO_SIOCSIFFLAGS _IOWINT('V', 0)
OpenPOWER on IntegriCloud