svn commit: r243414 - user/andre/tcp_workqueue/sys/net

Andre Oppermann andre at freebsd.org
Fri Nov 23 07:51:52 UTC 2012


On 23.11.2012 07:44, Gleb Smirnoff wrote:
> On Fri, Nov 23, 2012 at 12:18:39AM +0100, Andre Oppermann wrote:
> A> > On Thu, Nov 22, 2012 at 11:13 PM, Andre Oppermann <andre at freebsd.org <mailto:andre at freebsd.org>> wrote:
> A> >
> A> >         Hello Andre,
> A> >         you plan to introduce pfil(9) at layer2 as well?
> A> >
> A> >     We already have that in net/if_ethersubr.c for ethernet at least.
> A> >
> A> > Hmm have missed the addition of that one.
> A> > I would have liked that with that hook all the special cases(bridge/netgraph/carp/... to go away.
> A>
> A> Indeed.  Lets make it happen. :-)
>
> It is impossible to convert netgraph to be a pfil, since netgraph isn't
> just a function call. It doesn't return processed packet immediately.

That's why I added the pfil cookies.  You can re-inject a packet after a
particular hook after deferred processing.

> The carp(4) isn't a layer 2 protocol, but is IP protocol, so I
> don't understand how can it be converted to a pfil hook.

Obviously not everything can be a layer 2 pfil hook.  Where it can, we
should at least investigate it to limit the number of special cases in
the path.

A potential issue is the cpu pinning of the pfil rmlock.  We'll have to
see whether this is an immediate problem, and if yes, what we can do about
it.

-- 
Andre



More information about the svn-src-user mailing list