netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Evgeniy Polyakov <zbr@ioremap.net>
To: Harald Welte <laforge@gnumonks.org>
Cc: Luca Deri <deri@ntop.org>, Brent Cook <bcook@bpointsys.com>,
	Brad Doctor <brad.doctor@gmail.com>,
	netdev@vger.kernel.org
Subject: Re: PF_RING: Include in main line kernel?
Date: Sun, 18 Oct 2009 18:50:00 +0400	[thread overview]
Message-ID: <20091018145000.GA16925@ioremap.net> (raw)
In-Reply-To: <20091018125014.GH27747@prithivi.gnumonks.org>

On Sun, Oct 18, 2009 at 02:50:14PM +0200, Harald Welte (laforge@gnumonks.org) wrote:
> > contrary to other socket types, PF_RING allows
> > - packets to be filtered using both BPF and ACL-like filters
> > - parsing information is returned as metadata with the packet (i.e.
> > you don't have to parse the packet again as it happens with BPF)
> > - ACL-like filters allows you to specify advanced features such as
> > port ranges or packet payload match
> 
> So it seems there is some added features over the existing functionality, plus
> probably increased performance mainly to hooking earlier in the packet receive
> flow.
> 
> What would normally be done is to try to make incremental changes
> to the existing code and extend their features/performacne, rather than
> adding something relatively similar alternative.

PF_PACKET as is can not be made faster - it requires a packet copy, so
virtually this is an end of the game, while mapped packet socket is
quite different and does not require that expensive copy. And while
currently difference between both goes down, it still exists and may
hummer some use cases.

PF_RING uses another ring structure and I saw comparisons of both (many
years ago though), where pf_ring was faster. Unfortunately there is no
way to easily adopt its mapping into pf_packet ring without breaking
compatibility, but I wonder whether performance different between both
still exists and can it be a main factor for the preference. If
difference is not visible, than I believe the only way for PF_RING is to
extend existing packet sockets with its other features.

-- 
	Evgeniy Polyakov

  reply	other threads:[~2009-10-18 14:49 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-14 14:33 PF_RING: Include in main line kernel? Brad Doctor
2009-10-14 16:01 ` Stephen Hemminger
2009-10-14 17:02   ` Brad Doctor
2009-10-14 19:33     ` Stephen Hemminger
2009-10-14 20:17       ` Luca Deri
2009-10-14 20:27         ` David Miller
2009-10-15  0:25           ` Eric Dumazet
2009-10-14 20:36         ` Evgeniy Polyakov
2009-10-14 21:27           ` Ben Greear
2009-10-14 21:34             ` Luca Deri
2009-10-14 21:49             ` David Miller
2009-10-14 23:29               ` Ben Greear
2009-10-15  7:02               ` Evgeniy Polyakov
2009-10-15  7:22                 ` David Miller
2009-10-15 16:33                 ` Ben Greear
2009-10-18 12:45                   ` Harald Welte
2009-10-18 12:43               ` Harald Welte
2009-10-18 14:18                 ` Evgeniy Polyakov
2009-10-14 16:46 ` Jarek Poplawski
2009-10-14 17:02   ` Brad Doctor
2009-10-14 17:18     ` Jarek Poplawski
2009-10-18 12:47   ` [OT] ntop / GPL (was Re: PF_RING: Include in main line kernel?) Harald Welte
2009-10-19  5:55     ` Jarek Poplawski
2009-10-19  7:12       ` Jarek Poplawski
2009-10-14 18:19 ` PF_RING: Include in main line kernel? Brent Cook
2009-10-14 19:54   ` Luca Deri
2009-10-14 20:15     ` David Miller
2009-10-14 20:26       ` Luca Deri
2009-10-14 20:29         ` David Miller
2009-10-14 20:34           ` Luca Deri
2009-10-14 20:50             ` Mark Smith
2009-10-18 12:56             ` Harald Welte
2009-10-18 12:50     ` Harald Welte
2009-10-18 14:50       ` Evgeniy Polyakov [this message]
2009-10-15  7:35 ` Rémi Denis-Courmont
2009-10-18 12:38 ` Harald Welte
2009-10-18 17:37   ` Luca Deri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091018145000.GA16925@ioremap.net \
    --to=zbr@ioremap.net \
    --cc=bcook@bpointsys.com \
    --cc=brad.doctor@gmail.com \
    --cc=deri@ntop.org \
    --cc=laforge@gnumonks.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).