X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fd_tuntap.c;h=ddcd431a300da20c90cb39e3cfa1d11b51426e05;hb=96ee6572dfeba0a49a56db13854d6006b5c33c4d;hp=b7f515898447230c9ebcc5b72bdcd32e9b9bbf76;hpb=d9889cbb1a7729edb91a3f36b29b7630b1ee0ef1;p=vsys-scripts.git diff --git a/fd_tuntap.c b/fd_tuntap.c index b7f5158..ddcd431 100644 --- a/fd_tuntap.c +++ b/fd_tuntap.c @@ -45,7 +45,7 @@ int send_vif_fd(int sock_fd, int vif_fd, char *vif_name) msg.msg_flags = 0; /* Send the interface name as the iov */ - vec.iov_base = &vif_name; + vec.iov_base = vif_name; vec.iov_len = strlen(vif_name)+1; while ((retval = sendmsg(sock_fd, &msg, 0)) == -1 && errno == EINTR); @@ -105,10 +105,11 @@ int main(int argc, char *argv[]) } /* Open tun device */ - if( (tap_fd = open("/dev/stdtun", O_RDWR)) < 0 ) { + if( (tap_fd = open("/dev/net/tun", O_RDWR)) < 0 ) { system("modprobe tun"); - if( (tap_fd = open("/dev/stdtun", O_RDWR)) < 0 ) { - perror("ERROR: tun_alloc():open(/dev/stdtun)"); + system("ln -sf /dev/net/tun /dev/stdtun"); + if( (tap_fd = open("/dev/net/tun", O_RDWR)) < 0 ) { + perror("ERROR: tun_alloc():open(/dev/net/tun)"); exit(-1); } }