From owner-freebsd-net@FreeBSD.ORG Mon Nov 10 20:29:15 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9F48E87E for ; Mon, 10 Nov 2014 20:29:15 +0000 (UTC) Received: from mail-wg0-x22d.google.com (mail-wg0-x22d.google.com [IPv6:2a00:1450:400c:c00::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 222037B0 for ; Mon, 10 Nov 2014 20:29:15 +0000 (UTC) Received: by mail-wg0-f45.google.com with SMTP id x12so10031291wgg.18 for ; Mon, 10 Nov 2014 12:29:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=aW1ntwD85KgwgIxZUaJnWJZ/asMF4SGB4v53qlBXHaY=; b=M6Y/C1xttaN8wYKqFk8ko4yRIRMWMipgtMuYi5ZUECQn4pBpdiwdDYezzNJpnNS/0n lEYnjdzyA0ge0dgSLBCzsba9YBdW+5W62qgvMhah7tSUuybwGnkxBmCIl24FqLBmNUPS YiXmVNA2rZwrNpuKRyarytQycSo2tPOEXzTY8kiSCeNQEsb3p9imk9FnD1qWOn0I4sV6 Yo9OY7eQ79DAcCAjaDpKmpxLPUPXxji6Zvb9plyjLpFT2YGEZ3ph7XAxas8YEj6XzDvf GX6AbpYAaMbp/TuzxWrjFf2HYEybmFsP0AQ0EkfwVks7KIjs+0BnI7fc2ILxkARTuesW uT7g== MIME-Version: 1.0 X-Received: by 10.180.104.232 with SMTP id gh8mr1105135wib.78.1415651352932; Mon, 10 Nov 2014 12:29:12 -0800 (PST) Received: by 10.217.92.7 with HTTP; Mon, 10 Nov 2014 12:29:12 -0800 (PST) In-Reply-To: References: <9C799778-79DC-4D5F-BA5C-EA94A573ED10@freebsdbrasil.com.br> Date: Mon, 10 Nov 2014 18:29:12 -0200 Message-ID: Subject: Re: netmap-ipfw on em0 em1 From: Evandro Nunes To: Luigi Rizzo Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: Patrick Tracanelli , "freebsd-net@freebsd.org" , Mahnaz Talebi X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Nov 2014 20:29:15 -0000 On Mon, Nov 10, 2014 at 12:09 PM, Evandro Nunes wrote: > On Sun, Nov 9, 2014 at 9:23 PM, Luigi Rizzo wrote: > >> >> >> On Sun, Nov 9, 2014 at 1:17 PM, Evandro Nunes >> wrote: >> >>> professor luigi >>> >>> where can I find the code for netmap-fwd you mentioned on usenix paper? >>> >>> >> =E2=80=8Bthat has been renamed to bridge.c >> >> cheers >> luigi >> > > so it does not actually forwards ip packets, does bridging in fact > other than OVS and click is there something to forward l3 packets? > > dear professor luigi, i have some numbers, I am filtering 773Kpps with kipfw using 60% of CPU and system using the rest, this system is a 8core at 2.4Ghz, but only one core is in use in this next round of tests, my NIC is now an avoton with igb(4) driver, currently with 4 queues per NIC (total 8 queues for kipfw bridge) i have read in your papers we should expect something similar to 1.48Mpps how can I benefit from the other CPUs which are completely idle? I tried CPU Affinity (cpuset) kipfw but system CPU usage follows userland kipfw so I could not set one CPU to userland while other for system can you please enlighten? > > >> =E2=80=8B >> >> >>> >>> ** >>> https://www.usenix.org/system/files/conference/atc12/atc12-final186.pdf >>> >>> On Sun, Nov 9, 2014 at 5:31 PM, Evandro Nunes >>> wrote: >>> >>>> hello again patrick >>>> >>>> On Sun, Nov 9, 2014 at 12:54 AM, Patrick Tracanelli < >>>> eksffa@freebsdbrasil.com.br> wrote: >>>> >>>>> > (Machine-A)<-->Machine-B<--->(MachineC) >>>>> > >>>>> > Machine-A: >>>>> > em0 172.16.251.3/24 >>>>> > >>>>> > Machine-B: >>>>> > em1: 172.16.251.1/24 >>>>> > em2: 172.16.252.1/24 >>>>> > 10.0-STABLE w/ latest netmap-ipfw and netmap code from google code >>>>> > repository >>>>> > >>>>> > Machine-C: >>>>> > em0 172.16.252.3/24 >>>>> >>>>> Now, your scenario is a typical routing topology. kipfw has no packet >>>>> forwarding capabilities whats why when you start it, you are out of >>>>> forwarding capabilities and therefore, out of communication between m= achine >>>>> A and C because they just need it in your topology. >>>>> >>>>> So for your testing purposes read again what Mahaza said: >>>>> >>>>> >> ipfw works as a bridge and copy >>>>> >> incoming packets to em0 to em1 if they pass defined rules (and vic= e >>>>> versa, >>>>> >> from em1 to em0). >>>>> >>>>> Got it? kipfw will work as a BRIDGE and COPY between the NIC ports. >>>>> >>>>> Therefore on your topology do a simple change: >>>>> >>>>> Machine-C: >>>>> ifconfig em0 172.16.251.4/24 >>>>> >>>>> So machine C will be in the same network of machine A. >>>>> >>>>> WITHOUT kipfw you will be OUT of communication. If you want to have >>>>> communication without kipfw please configure if_bridge(4) properly. >>>>> >>>>> Now WHEN you ./kipfw netmap:em1 netmap:em2 you will BRIDGE em1 and em= 2 >>>>> ports and therefore you will HAVE communication between the NICS. >>>>> >>>>> And you are done, just as a miracle! Thanks to Luigi. >>>>> >>>> >>>> YES IT WORKED YES >>>> thank you VERY MUCH for the kind help and for making it clear all the >>>> stuff I missed reading, yes I assume I should have read more or at lea= st >>>> understood >>>> now I can see how the things works and it does work >>>> >>>> THANK YOU again very much >>>> >>>> >>>> >>>>> Now its time to have some fun: >>>>> >>>>> ipfw/ipfw add pipe 1 all from 172.16.251.0/24 to 172.16.251.0/24 >>>>> ipfw/ipfw pipe 1 config bw >>>>> 128Kbit/s delay 300 >>>>> >>>>> and now ping machine-A and machine-C and see dummynet working as >>>>> expected... >>>>> >>>>> I believe you can keep on with your testings now!!! :-) >>>>> >>>> >>>> yes it worked as well >>>> >>>> now let me ask you all, other than click, does netmap offers something >>>> that can do packet forwarding? simple packet forwarding like the scena= rio I >>>> was trying before? I know this is not kipfw and not bridge but is ther= e >>>> something? >>>> >>>> thank you >>>> >>>> >>>> >>>>> BTW Luigi, I see netmap was commited to GENERIC on -CURRENT. I believ= e >>>>> it may be a good idea to add netmap-ipfw to the base system now, to b= oth >>>>> promote more testing and also to be a good companion to netmap on GEN= ERIC. >>>>> I dont mean a new ipfw-netmap binary under /sbin/ but just the code o= n >>>>> /usr/src/tools/tools. >>>>> >>>> >>>> yes and some handbook or a better README that at least mentions the >>>> correct syntax for the tools >>>> I think adrian chadd mentioned something about that in an earlier >>>> message >>>> >>>> >>>>> >>>>> I've been using netmap-ipfw for a while and sure it lacks more >>>>> flexbility like the ability to kipfw several ports, etc. But as it is= right >>>>> now, it's very stable and reliable for a preliminary code. Thats why = I >>>>> believe it should be on the base system. Thank you very much for the >>>>> incredible technology. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> >> >> >> -- >> -----------------------------------------+------------------------------= - >> 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) >> -----------------------------------------+------------------------------= - >> > >