|
|
|
|
@ -117,8 +117,9 @@ static int tun_set_ip(const char *ifname, const char *ip_addr) {
|
|
|
|
|
addr->sin_addr = ip; |
|
|
|
|
if (if_ioctl(ifname, SIOCSIFADDR, &ifr) < 0) return -1; |
|
|
|
|
|
|
|
|
|
// Set netmask
|
|
|
|
|
addr = (struct sockaddr_in *)&ifr.ifr_netmask; |
|
|
|
|
// Set netmask (FreeBSD uses ifr_addr for netmask too)
|
|
|
|
|
memset(&ifr, 0, sizeof(ifr)); |
|
|
|
|
addr = (struct sockaddr_in *)&ifr.ifr_addr; |
|
|
|
|
addr->sin_family = AF_INET; |
|
|
|
|
addr->sin_addr = netmask; |
|
|
|
|
if (if_ioctl(ifname, SIOCSIFNETMASK, &ifr) < 0) return -1; |
|
|
|
|
|