[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Current state of the UNIX backend



On 27 May 2013, at 12:45, "Vincent B." <vb@xxxxxxxxx> wrote:

> On 27/05/2013 12:30, Vincent B. wrote:
>> On 26/05/2013 10:51, Anil Madhavapeddy wrote:
>>> So a much easier way to debug this sort of issue is to build a unit
>>> test that expresses the desired behaviour first.  I put a small packet
>>> dumper for tuntap in:
>>> 
>>> https://github.com/avsm/ocaml-tuntap/blob/master/test/nonblock_read.ml
>>> 
>>> You can build this without any other dependencies by:
>>> 
>>> $ make
>>> $ ocamlbuild _build/test/nonblock_read.native
>>> $ sudo ./_build/test/nonblock_read.native
>> 
>> The second command does not work for me, I’m going to try anyway.
>> Note that in your test you always use opentun instead of opentap,
>> normally this would create a level3 interface instead of a lever2 one.
> 
> The command was
> $ ocamlbuild test/nonblock_read.native
> 
> of course. Apart from that,
> 
>>> and if you ping the new interface, you should see hexdump packets on
>>> the console.  I do see these on both MacOS X and Linux successfully.
>>> If Mort does too, I'll be convinced it actually works :-)
> 
> I don't see anything in the console, strangely.

Are you actually generating traffic?  MacOS X sees multicast traffic
by default, but Linux probably doesn't.  Make sure you ping it, and
tcpdump the tap to ensure that there is traffic on there that it should
be seeing at the application, but isn't for some reason.

The ktrace/dtruss/strace should also reveal the exact return from
read calls, which is important.

-anil





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.