[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [ANNOUNCE] xen ocaml tools
On Tue, Feb 17, 2009 at 12:01 AM, Vincent Hanquez <vincent.hanquez@xxxxxxxxxxxxx> wrote: > Patrick Colp wrote: >> >> I think you're thinking of my initial release last year. The version I >> released a few months ago also has an in-memory store and greatly improved >> transactions. It was motivated by the need to survive things like DoS >> attacks. >> > > Is that possible to find your version of xenstored in a tarball somewhere ? > attack.tar.gz seems to contains lots of things related to xenstored, but yet > seems to missing watches and permissions. >> >> I wrote a little attack program (in OCaml) which runs from any DomU and >> brought the original xenstored to its knees. With the attack going, it's >> impossible to bring a new domain up -- it just hangs forever attempting to >> bring it up. Basically, the attack just hammers xenstored with >> micro-transactions. With the original transaction system, which allows the >> first committing transaction in a generation to win, long transactions could >> never complete. I implemented transactions that would enable all concurrent >> but non-conflicting transactions to commit. This made my version of >> xenstored resilient to the attack. >> >> I played around with this with your version too, but found that, while it >> would not hang forever while attempting to load a domain, it would instead >> die after a few seconds with the following error: >> >> Error: (2, 'No such file or directory') >> > > i haven't really had time to look yet (i've been swamped with others > things), but will try to run your program. > but what is dying in the scenario you described ? ocaml xenstored or the > attack program ? >> >> I tried with with the eagain mode thing (random dropping of 1/3 of all >> transactions) both enabled and disabled, but it had the same effect (except >> that with the mode enabled, 1/3 of all transactions would fail regardless of >> if they should or not). >> >> I've been reading over your code and noticed that you seem to have a >> mini-implementation of libxc. I was wondering why you chose to do this over >> using the pre-existing libxenctrl? Does this make the final executable >> smaller? >> > > libxenctrl is using the GPL license, whereas we chose the LGPL license with > ocaml static exception everywhere. This part is interesting! I have some doubts here: for ex, now I want to reimplement some parts of libxenstore in BSD or LGPL. But I cannot avoid to include "/usr/include/{xs,xenctrl|.h", because they have some must-have data definition. But it seems all these headers are in GPL, so my code violates the copyright! Or not?? Thanks, Jun _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |