Răsfoiți Sursa

Check for /dev/tun as well as /dev/net/tun since some Linux devices put it there.

Adam Ierymenko 9 ani în urmă
părinte
comite
7526ed705c
1 a modificat fișierele cu 5 adăugiri și 2 ștergeri
  1. 5 2
      osdep/LinuxEthernetTap.cpp

+ 5 - 2
osdep/LinuxEthernetTap.cpp

@@ -83,8 +83,11 @@ LinuxEthernetTap::LinuxEthernetTap(
 		throw std::runtime_error("max tap MTU is 2800");
 
 	_fd = ::open("/dev/net/tun",O_RDWR);
-	if (_fd <= 0)
-		throw std::runtime_error(std::string("could not open TUN/TAP device: ") + strerror(errno));
+	if (_fd <= 0) {
+		_fd = ::open("/dev/tun",O_RDWR);
+		if (_fd <= 0)
+			throw std::runtime_error(std::string("could not open TUN/TAP device: ") + strerror(errno));
+	}
 
 	struct ifreq ifr;
 	memset(&ifr,0,sizeof(ifr));