]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
tap: Use numbered tap/tun devices on all *BSD OS's
authorBrad Smith <brad@comstyle.com>
Sun, 4 Aug 2013 02:20:41 +0000 (22:20 -0400)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Fri, 27 Sep 2013 01:53:51 +0000 (20:53 -0500)
The following patch simplifies the *BSD tap/tun code and makes use of numbered
tap/tun interfaces on all *BSD OS's. NetBSD has a patch in their pkgsrc tree
to make use of this feature and DragonFly also supports this as well.

Signed-off-by: Brad Smith <brad@comstyle.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit aa4f082f7526d39dac8e2ca64d192d858014ee10)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
net/tap-bsd.c

index f61d5809634e240c996cc3b8d25cf30629103b9a..90f8a02276016d12734413ca3ce2ea73f64102d4 100644 (file)
@@ -44,8 +44,6 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
     struct stat s;
 #endif
 
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
-    defined(__OpenBSD__) || defined(__APPLE__)
     /* if no ifname is given, always start the search from tap0/tun0. */
     int i;
     char dname[100];
@@ -76,15 +74,6 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
                    dname, strerror(errno));
         return -1;
     }
-#else
-    TFR(fd = open("/dev/tap", O_RDWR));
-    if (fd < 0) {
-        fprintf(stderr,
-            "warning: could not open /dev/tap: no virtual network emulation: %s\n",
-            strerror(errno));
-        return -1;
-    }
-#endif
 
 #ifdef TAPGIFNAME
     if (ioctl(fd, TAPGIFNAME, (void *)&ifr) < 0) {