[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070228195611.24cf19ee@deepthought>
Date: Wed, 28 Feb 2007 19:56:11 -0800
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: Ben Greear <greearb@...delatech.com>
Cc: David Miller <davem@...emloft.net>, bridge@...ux-foundation.org,
netdev@...r.kernel.org
Subject: Re: [PATCH] bridge: avoid ptype_all packet handling
On Wed, 28 Feb 2007 17:28:09 -0800
Ben Greear <greearb@...delatech.com> wrote:
> Stephen Hemminger wrote:
> > I was measuring bridging/routing performance and noticed this.
> >
> > The current code runs the "all packet" type handlers before calling
> > the bridge hook. If an application (like some DHCP clients) is
> > using AF_PACKET, this means that each received packet gets run
> > through the Berkeley Packet Filter code in sk_run_filter (slow).
> >
> > By moving the bridging hook to run first, the packets flowing
> > through the bridge get filtered out there. This results in a 14%
> > improvement in performance, but it does mean that some snooping
> > applications would miss packets if being used on a bridge. The
> > correct way to see all packets on a bridge is to set the bridge
> > pseudo-device to promiscuous mode.
>
> Seems it would be better to fix these clients to be more selective as
> to where they bind.
The problem is any use of BPF is a lose, if it has to be done to all
traffic.
> This breaks the case where you want to see packets on a particular
> interface, not just the entire bridge, right?
It might be possible to use promisc counter to handle this.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists