From owner-freebsd-net@FreeBSD.ORG Thu Jul 24 17:22:33 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5B104C12 for ; Thu, 24 Jul 2014 17:22:33 +0000 (UTC) Received: from mail-lb0-x22e.google.com (mail-lb0-x22e.google.com [IPv6:2a00:1450:4010:c04::22e]) (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 C34B02753 for ; Thu, 24 Jul 2014 17:22:32 +0000 (UTC) Received: by mail-lb0-f174.google.com with SMTP id c11so2488645lbj.5 for ; Thu, 24 Jul 2014 10:22:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=clockworksquid.com; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=4VUWXB6784D73KiWlfny/MN6JyUrGXJm55PudRjPtQc=; b=lQOO4rmk0SwUP76qrIMtD8FvIRC4K4j9nMPU/YMjN6ljLDoWw8VdBXDau1qjSdrVPm YjXrjTc6Lt1AtoJNAn4v8I0tgFF6oEROrSudOWPsBpm84zRxbSpW+VAiVWn7C2S+lIvu XBgVcx5yg07D8Pg+tUzup8c/fEysHfCKgfBaU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-type; bh=4VUWXB6784D73KiWlfny/MN6JyUrGXJm55PudRjPtQc=; b=LFoqmvp+LEEJf+Or2+ZKTBFKL05jtFAFEOKDvYPnYhXivgFIixSWK54HrzmkDM4L7K pf23kYpPaSWKV1yNR6lKcUKbURQIi9MzFWdAgrNXiBNtj0XEMVAiKjrRKAqpk+8TnbZo nR4JrBUwryAsY+O5UtC+/9D+b5mpaaSGalzTMLyD2YZDz0B6oTSSnwxe6d/0Lx9Xu3vF aJgQcjT53OXKvXjAUtwofxq0XKRJMz5S/jiH9q5QNJY82F2kHkLChcuKbAd7VHAeE0EM UODttA/GAbPJ1vzAIa3/g6jeMjiwdj0ZRrTND+9HCoM0f+WmDzQ1OvvbYivnjpZRc7xX Q/tQ== X-Gm-Message-State: ALoCoQnRKrtsCXFqHBrKtPtmz7XqdPGcIzXXgvH5z9gyRcwx0kG1XPiHkkmZrywF1tDpWT8oMDsN X-Received: by 10.112.16.199 with SMTP id i7mr10947697lbd.5.1406222550570; Thu, 24 Jul 2014 10:22:30 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.152.229.225 with HTTP; Thu, 24 Jul 2014 10:22:10 -0700 (PDT) In-Reply-To: References: <53CE80DD.9090109@gmail.com> <20140722174117.GC43962@funkthat.com> <53CEAF40.7030406@gmail.com> From: Juli Mallett Date: Thu, 24 Jul 2014 10:22:10 -0700 X-Google-Sender-Auth: ajajZbuxv9ypVizlFbPJ01jedgs Message-ID: Subject: Re: fastforward/routing: a 3 million packet-per-second system? To: Carlos Ferreira Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18 Cc: FreeBSD Net , John Jasen X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jul 2014 17:22:33 -0000 On Tue, Jul 22, 2014 at 12:23 PM, Carlos Ferreira wrote: > I think the results presented at the paper are regarding one port sending > or receiving at 14.88Mpps. Using several ports at the same time will surely > give much lower results. But then again, if one wants 8, 16, 24 or even > more ports at 10Gb/s, then it should look for FPGA implementations. This is incorrect and misleading speculation, assuming your hardware is not set up badly in some way. With netmap it is quite easy to have additional threads handling other ports, so long as you have enough real cores to run those threads on (ideally pinned, and with nothing else running.) If you've got the RAM and the CPU, 8 ports of 10GbE with netmap on FreeBSD is not at all infeasible. The question is always how much work you need to be able to do per-packet and whether you're able to do that work in an efficient way that fits with the model. So something with a slightly-specific or at least sneaky architecture is very important here, so that you can just swap buffers rather than having to do a gratuitous copy. And a very careful design even just for parsing the packets, let alone the process of doing the routing. Using several ports at the same time on a single CPU absolutely gives lower results, but someone with 8 10GbE ports can hopefully pretty well handle providing 16 cores to get the job done and still have a meaningful control plane. The idea that netmap or similar solutions would be bottlenecked otherwise is wrong, unless there's something wrong with your hardware (not so uncommon as one might like.) (For cache performance, etc., you really don't want to use hyperthreads for something as timing-sensitive and data-hungry as this kind of packet processing; your results may vary.) Juli. On 22 July 2014 19:36, John Jasen wrote: > > > > > On 07/22/2014 01:41 PM, John-Mark Gurney wrote: > > > John Jasen wrote this message on Tue, Jul 22, 2014 at 11:18 -0400: > > >> Feedback and/or tips and tricks more than welcome. > > > You should look at netmap if you really want high PPS routing... > > > > Originally, I assumed an interface supporting netmap was required, but > > the manpage disabuses me of this. Besides, I think the Chelsio cards got > > netmap recently. > > > > I presume either the use of bridge in tools/netmap, or vale-ctl in the > > same location would start providing me sufficient clue on this? > > Unfortunately, both seem to be pretty short on verbosity ... More clue > > is always welcome! > > > > > > _______________________________________________ > > 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" > > > > > > -- > > Carlos Miguel Ferreira > Researcher at Telecommunications Institute > Aveiro - Portugal > Work E-mail - cmf@av.it.pt > Skype & GTalk -> carlosmf.pt@gmail.com > LinkedIn -> http://www.linkedin.com/in/carlosmferreira > _______________________________________________ > 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" >