From owner-freebsd-net@FreeBSD.ORG Tue Aug 14 19:53:45 2012 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 628AA106566B for ; Tue, 14 Aug 2012 19:53:45 +0000 (UTC) (envelope-from ndenev@gmail.com) Received: from mail-wg0-f42.google.com (mail-wg0-f42.google.com [74.125.82.42]) by mx1.freebsd.org (Postfix) with ESMTP id E18508FC08 for ; Tue, 14 Aug 2012 19:53:44 +0000 (UTC) Received: by wgbfm10 with SMTP id fm10so4211972wgb.1 for ; Tue, 14 Aug 2012 12:53:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=BHZdKv5OSqxfcWuSposjX5VaGme5H6Ex8nmfApx6Mxo=; b=RrxAwn3FNX5KJ0bHUnLxP6Ji3aAUt3Po7m4TUEuM9IceQ4NfOyLOUGehtqKDL0oXcI JU0n3h6HEnwufKCR7ml/NjTJdreecMqsuZHl+KALBJI9zyX+yzcKPgfJzrOC09NSNYpY BFiFfrx1Ghp520/dPeW94Zlo/88qssGcjJbK/k/YNdFO6vwKQ4xpqgI37RfSfawBz1sn dMt5ns9XVVAYUWk4IA2id2Bh6aF0os8AB/Weah6B/HVVy0kwubsYZdV0Dz2nxQDjvMRc HXPvLSTT1bMrDAuWRYeqsnQI/5LB9RckymnpquongnFAFZz7Hw5vn3pkPgvFSiHqP4SM bN5Q== Received: by 10.180.76.135 with SMTP id k7mr30580823wiw.7.1344974022790; Tue, 14 Aug 2012 12:53:42 -0700 (PDT) Received: from [10.0.0.86] ([93.152.184.10]) by mx.google.com with ESMTPS id cu1sm24167975wib.6.2012.08.14.12.53.40 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 14 Aug 2012 12:53:41 -0700 (PDT) Mime-Version: 1.0 (Mac OS X Mail 6.0 \(1485\)) Content-Type: text/plain; charset=us-ascii From: Nikolay Denev In-Reply-To: <20120813111722.GA79347@onelab2.iet.unipi.it> Date: Tue, 14 Aug 2012 22:53:38 +0300 Content-Transfer-Encoding: quoted-printable Message-Id: <0B0751C8-DD87-4891-820C-624BFAADB334@gmail.com> References: <20120813111722.GA79347@onelab2.iet.unipi.it> To: Luigi Rizzo X-Mailer: Apple Mail (2.1485) Cc: net@freebsd.org Subject: Re: ipfw meets netmap (6.5 Mpps in userspace) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Aug 2012 19:53:45 -0000 On Aug 13, 2012, at 2:17 PM, Luigi Rizzo wrote: > I just finished a netmap-enabled version of ipfw/dummynet, which > runs in userspace and is able to process over 6 million packets per > second (Mpps) with simple rulesets, and over 2.2 Mpps through > dummynet pipes (tested on an i7-3400 connected to VALE ports; > VALE is a software switch part of netmap). > You can find it at >=20 > http://info.iet.unipi.it/~luigi/dummynet/#8696 >=20 > It works on FreeBSD and Linux. >=20 > It even run on OSX, but there is no netmap support there; > any interest, Apple ? In any case, it should be simple to > adapt the network backend to talk to other devices. >=20 > To run this you might want to use the most recent version of netmap, > also recently updated so it works with recent kernels >=20 > http://info.iet.unipi.it/~luigi/netmap/ >=20 > (the code is already in FreeBSD HEAD). >=20 > On passing, I have also updated the dummynet distributions > for Linux and Windows, which should now compile for most > recent version of Linux, and for Windows 32 and 64 bit: >=20 > http://info.iet.unipi.it/~luigi/dummynet/ >=20 > cheers > luigi > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" Hi Luigi, I've tried copying netmap sources from HEAD to the latest RELENG_9 = branch, but running kipfw with two VALE interfaces produced immediate kernel panic = (transcribed by hand, possible typos): Fatal trap 12: page fault while in kernel mode cpuid =3D 1; apic id =3D 01 fault virtual address =3D 0x28 fault code =3D supervisor read data, page not = present instruction pointer =3D 0x20:0xffffffff808274da stack pointer =3D 0x28:0xffffff88df1a5530 frame pointer =3D 0x28:0xffffff88df1a5550 code segment =3D base 0x0, limit 0xfffff, type 0x1b =3D DPL 0, pres 1, long 1, def32 0, gran = 1 processor eflags =3D interrupt enabled, resume, IOPL =3D = 0 current process =3D 2349 (kipfw) [ thread pid 2349 tid 100612 ] Stopped at ifunit_ref+0x2a: db> bt Tracing pid 2349 tid 100612 td 0xfffffe0094fd1000 ifunit_ref() at ifunit_ref+0x2a ifioctl() at ifioctl+0x1cd netmap_ioctl() at netmap_ioctl+0x121 devfs_ioctl_f() at devfs_ioctl_f+0x7b kern_ioctl() at kern_ioctl+0x115 sys_ioctl() at sys_ioctl+0xfd amd64_syscall() at amd64_syscall+0x5ea Xfast_syscall() at Xfast_syscall+0xf7 --- syscall (54, FreeBSD ELF64, sys_ioctl), rip =3D 0x800b5eaec, rsp =3D = 0x7fffffffd 888, rbp =3D 0xc0206911 --- Anyways, many thanks for you great work on NETMAP and not the super cool = user-space IPFW! Cheers, Nikolay=