From owner-freebsd-stable Wed Oct 16 14:21:38 2002 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 3E11C37B401; Wed, 16 Oct 2002 14:21:37 -0700 (PDT) Received: from inje.iskon.hr (inje.iskon.hr [213.191.128.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id A14BC43E6A; Wed, 16 Oct 2002 14:21:35 -0700 (PDT) (envelope-from zec@tel.fer.hr) Received: from tel.fer.hr (zg04-123.dialin.iskon.hr [213.191.137.124]) by mail.iskon.hr (8.11.4/8.11.4/Iskon 8.11.3-1) with ESMTP id g9GLL2x02073; Wed, 16 Oct 2002 23:21:03 +0200 (MEST) Message-ID: <3DADD864.15757E4E@tel.fer.hr> Date: Wed, 16 Oct 2002 23:21:40 +0200 From: Marko Zec X-Mailer: Mozilla 4.78 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: freebsd-net@freebsd.org, freebsd-stable@freebsd.org Subject: RFC: BSD network stack virtualization Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi all, on http://www.tel.fer.hr/zec/BSD/vimage/ you can find the patches against 4.7-RELEASE kernel sources, which provide the functionality of maintaining multiple independent network stack images within a single operating system kernel. No userland patches are necessary, except an additional virtual image management utility. Within a patched kernel, every process and network interface belongs to an unique virtual image, which provides the independent: - set of network interfaces and userland processes; - interface addresses and routing tables; - TCP, UDP, raw protocol control blocks; - network traffic counters / statistics; - set of net.inet tunable sysctl variables; - ipfw and dummynet instance; - system load and CPU usage accounting and scheduling From the userland perspective, all the virtualization modifications within the kernel have been designed to preserve the complete API/ABI compatibility, so absolutely all existing userland binaries should be able to run unmodified on the virtualized kernel. There are many possible applications of having multiple independent instances of the network stack within a single kernel, just to mention VPN provisioning, virtual hosting, and network simulation... I'd be glad to hear your comments on the code and suggestions for the further development. Have fun! Marko To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message