mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-05-06 18:48:29 +00:00
more fun with linux ethernet taps
older kernels: must set MTU before IFF_UP. newer kernels: must set MTU *after* IFF_UP
This commit is contained in:
parent
ed74ed6ed2
commit
31c12aebb5
@ -246,6 +246,9 @@ LinuxEthernetTap::LinuxEthernetTap(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
usleep(100000);
|
||||||
|
|
||||||
|
if (isOldLinuxKernel()) {
|
||||||
ifr.ifr_ifru.ifru_mtu = (int)_mtu;
|
ifr.ifr_ifru.ifru_mtu = (int)_mtu;
|
||||||
if (ioctl(sock,SIOCSIFMTU,(void *)&ifr) < 0) {
|
if (ioctl(sock,SIOCSIFMTU,(void *)&ifr) < 0) {
|
||||||
::close(sock);
|
::close(sock);
|
||||||
@ -254,6 +257,8 @@ LinuxEthernetTap::LinuxEthernetTap(
|
|||||||
}
|
}
|
||||||
|
|
||||||
usleep(100000);
|
usleep(100000);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ifr.ifr_flags |= IFF_MULTICAST;
|
ifr.ifr_flags |= IFF_MULTICAST;
|
||||||
ifr.ifr_flags |= IFF_UP;
|
ifr.ifr_flags |= IFF_UP;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user