X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fd_tuntap.c;h=ddcd431a300da20c90cb39e3cfa1d11b51426e05;hb=bf6948cbaf9fd4e1bf94ced5c3dafa9e9d9a6dd0;hp=668a9c510d75fc70363bd54236199a4ef20869ad;hpb=064ce390a1a08f947f5fc9f21b1814c153950268;p=vsys-scripts.git diff --git a/fd_tuntap.c b/fd_tuntap.c index 668a9c5..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); } } @@ -129,7 +130,7 @@ int main(int argc, char *argv[]) /* Send tap_fd to slice */ - //send_vif_fd(control_channel_fd, tap_fd, if_name); + send_vif_fd(control_channel_fd, tap_fd, if_name); return 0; }