From owner-freebsd-stable@FreeBSD.ORG Fri Sep 12 06:06:29 2003 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CF97116A4BF; Fri, 12 Sep 2003 06:06:29 -0700 (PDT) Received: from xaqua.tel.fer.hr (xaqua.tel.fer.hr [161.53.19.25]) by mx1.FreeBSD.org (Postfix) with ESMTP id A1CA143FD7; Fri, 12 Sep 2003 06:06:28 -0700 (PDT) (envelope-from zec@tel.fer.hr) Received: by xaqua.tel.fer.hr (Postfix, from userid 20006) id B6C109B647; Fri, 12 Sep 2003 15:06:26 +0200 (CEST) Received: from marko-tp (unknown [161.53.19.46]) by xaqua.tel.fer.hr (Postfix) with ESMTP id 532419B645; Fri, 12 Sep 2003 15:06:25 +0200 (CEST) From: Marko Zec To: net@freebsd.org, stable@freebsd.org Date: Fri, 12 Sep 2003 15:05:15 +0200 User-Agent: KMail/1.5 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200309121505.15651.zec@tel.fer.hr> X-Spam-Status: No, hits=-6.1 required=5.0 tests=BAYES_01,RCVD_IN_OSIRUSOFT_COM,USER_AGENT version=2.50 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp) X-Sanitizer: Advosys mail filter Subject: New snapshot: network stack cloning / virtualization patches X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Sep 2003 13:06:30 -0000 Network stack cloning patches allow for multiple fully independent network stacks to simultaneously coexistst in a single FreeBSD kernel. Combined with jail-style separation between user processes and with proportional-share extensions to the standard BSD CPU scheduler, the patched kernel can efficiently provide isolated and controllable pseudo virtual machine environments. The patches preserve the userland to kernel API/ABI, so all existing applications can run on the patched kernel without any need for modifications / recompiling. The latest snapshot of the patches (against 4.8-RELEASE) can be found at http://www.tel.fer.hr/zec/vimage/ What's new: Internal restructuring - struct vimage is now separated in resource-specific containers for network stack (vnet), jail-style process group (vprocg), and CPU scheduling (vcpu). This should allow for more modular resource virtualization in the future, however the necessary management API has yet to be implemented; Kernel message buffers - each vimage / vprocg now has a private kernel message buffer instance, thus allowing for (virtualized) printf() and log() messages from within the kernel to be routed to the appropriate msgbuf. The /dev/log interface has been hacked to support for multiple syslogd instances to access it simultaneously, while each receiving only the messages from the appropriate msgbuf instance; Several important bugfixes in TCP code virtualization. Cheers, Marko