[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MirageOS-devel] tuntap on linux
On Jun 6, 2015 4:56 PM, "Anil Madhavapeddy" <anil@xxxxxxxxxx> wrote:
>
> I'm just testing out tuntap.1.3 for release on Linux, and am having some trouble getting it to work. Just wanted to check if others are using it ok. I've done:
>
> Â Â $ sudo tunctl
> Â Â $ sudo ifconfig tap0 10.0.0.1 netmask 255.255.255.0 up
> Â Â $ sudo ./_build/test/nonblock_read.native tap0
> Â Â read: 0
> Â Â read: 0
> Â Â ...
>
> This results in a stream of 0 byte reads.
>
> If I change the Lwt_unix.of_unix_file_descr in mirage-net-unix to be blocking:true instead of blocking:false, then it works as expected on Linux, and all the tap networking is ok. Tracing through the Lwt code shows that blocking:false should work, but for some reason the tap device on Linux is always readable and so EWOULDBLOCK never happens.
>
> Anyone else having this problem on Linux, or is it just me? I don't often use tap networking there, so I don't want to apply the above workaround without understanding it.
I had what sounds like the same problem with tap devices and rump kernel.
I haven't yet filed a bug but I think there is one... 0 length reads should not happen. I am not sure if it changed in recent versions but I think it may have. Planning to investigate. If you do the first open with nonblock it seems to work but fcntl does not.
macvtap devices are fine, but the api for them is different.
Justin
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|