From mboxrd@z Thu Jan 1 00:00:00 1970 From: Antti Kantee Subject: Re: Upstream QEMU based stubdom and rump kernel Date: Thu, 19 Mar 2015 09:35:44 +0000 Message-ID: <550A9870.5080602@iki.fi> References: <20150317142907.GD27314@zion.uk.xensource.com> <20150318112014.GC17247@nodbug.moloch.sk> <4558D0C0-8058-4052-994C-6138406CEB35@recoil.org> <5509DEB5.8060906@iki.fi> <21C9D78E-641F-46B7-9820-0C6426B533A1@recoil.org> <5509F72B.8010304@iki.fi> <20150319084843.GC18697@nodbug.moloch.sk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20150319084843.GC18697@nodbug.moloch.sk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Anil Madhavapeddy , Wei Liu , rumpkernel-users@freelists.org, xen-devel@lists.xen.org, Stefano Stabellini , David Scott , Anthony PERARD , Ian Jackson , Ian Campbell , Thomas Gazagnaire , Richard Mortier List-Id: xen-devel@lists.xenproject.org On 19/03/15 08:48, Martin Lucina wrote: > By "faking out" Anil means a shim to get existing applications > which currently use PF_UNIX (and possibly PF_INET, though that will be > harder to fake) to use the hypervisor bus to talk to another colocated > unikernel instead. > > The motivations for this are: > > - Taking the TCP stack out of the picture entirely for intra-unikernel > comms (eg. PHP unikernel <-> MySQL unikernel). Both of those could be > thus be linked without the PF_INET component. > - This means that you do not need to set up and manage a TCP network in > your infrastructure for intra-unikernel comms, which is a huge advantage > from an operations point of view. > - It also means that unikernels which should not be talking TCP to > anywhere, ever, can't do that. Aah, ic, you want to do what rumpnet_sockin does, except use the hypervisor bus instead of an external sockets-like networking facility like sockin does. rumpnet_sockin was indeed originally developed so that you wouldn't need to include the full TCP/IP stack in a rump kernel, which is nice for scenarios where you want to do networking without configuring anything for each guest instance; running the kernel NFS client in userspace and using the host's network was the original use case. Yea, that'll just work on the rump kernel side for PF_INET/PF_INET6 (though you might have to do a bit more handling in your "fake" driver). Not sure what doing the same for PF_UNIX would entail, if anything special, but only one way to find out. - antti