[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[altq:1746] Re: BSD's diverging?
Nicolas Christin wrote:
> I have a design question... In OpenBSD 3.x, a pseudo-device pf(4)
> (packet filter) appeared. From the cvsweb interface of OpenBSD-current,
> Kenjiro went through a great deal of modifications to use pf(4) in
> altq. The problem is, pf(4) seems to be OpenBSD-specific. AFAIK,
> FreeBSD-current, and NetBSD-current do not use it. (To add some
> confusion, in NetBSD and FreeBSD, there's something called pfil(9) which
> also stands for packet filter, but it is not a pseudo device at all,
> merely a system command to put hooks in place for per-packet processing,
> and if I'm not wrong it relies on the Berkeley packet filter, bpf(4).)
> My question is as follows: given that the BSDs seem to be somewhat
> diverging (I haven't seen any mention of a future port of pf(4)
> to FreeBSD, I don't know about NetBSD) will altq end up having two
> separate development trees? What about the KAME tree?
pf/altq in OpenBSD-current is an attempt to separate packet schedulers
from classifiers. I have been thinking about this since the early days
of the altq development. A nice thing about pf/altq is that pf just
tags an queue id to the mbuf and altq simply uses the queue id to
select an queue.
I'm hoping that a similar method can be applied to FreeBSD and NetBSD.
FreeBSD has ipfw and NetBSD has pfil as a native packet filter so that
they can use their own packet filter as a classifier for altq.
Or, it could be easier to port pf to FreeBSD and NetBSD considering
the amount of work to design different config parsers and interfaces
Anyway, I'm going to maintain 2 versions of altq but the core
scheduler part is the same and the 2 versions could converge in the
Another way to look at pf/altq is that it is a version for network
operators rather than for researchers. pf/altq is a stripped-down
version and has limited functionality. The OpenBSD people are very
helpful to make altq/pf ready for non-research people.