浏览代码

Revert "Reorder Linux TAP link sequence"

This reverts commit 9374e45449ffe5c377e4cb2a346129ec598eeea9.
Jonathon Fernyhough 4 年之前
父节点
当前提交
b8b1f64959
共有 1 个文件被更改,包括 6 次插入7 次删除
  1. 6 7
      osdep/LinuxEthernetTap.cpp

+ 6 - 7
osdep/LinuxEthernetTap.cpp

@@ -207,6 +207,12 @@ LinuxEthernetTap::LinuxEthernetTap(
 					printf("WARNING: ioctl() failed setting up Linux tap device (bring interface up)\n");
 					return;
 				}
+				ifr.ifr_flags |= IFF_UP;
+				if (ioctl(sock,SIOCSIFFLAGS,(void *)&ifr) < 0) {
+					::close(sock);
+					printf("WARNING: ioctl() failed setting up Linux tap device (bring interface up)\n");
+					return;
+				}
 
 				// Some kernel versions seem to require you to yield while the device comes up
 				// before they will accept MTU and MAC. For others it doesn't matter, but is
@@ -229,13 +235,6 @@ LinuxEthernetTap::LinuxEthernetTap(
 					return;
 				}
 
-				ifr.ifr_flags |= IFF_UP;
-				if (ioctl(sock,SIOCSIFFLAGS,(void *)&ifr) < 0) {
-					::close(sock);
-					printf("WARNING: ioctl() failed setting up Linux tap device (bring interface up)\n");
-					return;
-				}
-
 				fcntl(_fd,F_SETFL,O_NONBLOCK);
 
 				::close(sock);