From owner-freebsd-current@FreeBSD.ORG Thu Jun 2 22:15:42 2011 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A3321065672; Thu, 2 Jun 2011 22:15:42 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.59.238]) by mx1.freebsd.org (Postfix) with ESMTP id C8B778FC12; Thu, 2 Jun 2011 22:15:41 +0000 (UTC) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id E3C6F7300A; Fri, 3 Jun 2011 00:31:40 +0200 (CEST) Date: Fri, 3 Jun 2011 00:31:40 +0200 From: Luigi Rizzo To: net@freebsd.org Message-ID: <20110602223140.GA31285@onelab2.iet.unipi.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Cc: current@freebsd.org Subject: Introducing netmap: line-rate packet send/receive at 10Gbit/s X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2011 22:15:42 -0000 Hi, we have recently worked on a project, called netmap, which lets FreeBSD send/receive packets at line rate even at 10 Gbit/s with very low CPU overhead: one core at 1.33 GHz does 14.88 Mpps with a modified ixgbe driver, which gives plenty of CPU cycles to handle multiple interface and/or do useful work (packet forwarding, analysis, etc.) You can find full documentation and source code and even a picobsd image at http://info.iet.unipi.it/~luigi/netmap/ The system uses memory mapped packet buffers to reduce the cost of data movements, but this would not be enough to make it useful or novel. Netmap uses many other small but important tricks to make the system fast, safe and easy to use, and support transmission, reception, and communication with the host stack. You can see full details in documentation at the above link. Feedback welcome. cheers luigi -----------------------------------------+------------------------------- Prof. Luigi RIZZO, rizzo@iet.unipi.it . Dip. di Ing. dell'Informazione http://www.iet.unipi.it/~luigi/ . Universita` di Pisa TEL +39-050-2211611 . via Diotisalvi 2 Mobile +39-338-6809875 . 56122 PISA (Italy) -----------------------------------------+-------------------------------