Subject: Re: Try again, itojun, patches need more work.
To: None <avalon@caligula.anu.edu.au>
From: Kenjiro Cho <kjc@csl.sony.co.jp>
List: tech-net
Date: 06/30/2003 13:41:54
I'm a bit behind.  I haven't had much time to work on pf/ALTQ in
kame/netbsd since itojun started working on pf's tagging a few days
ago.
pf's ALTQ in the kame/netbsd tree is not even working at the moment.
So, I'll discuss technical details when the code becomes ready for
review.

Here are some responses to general issues.

itojun and I have a consensus that using mbuf tagging is a way to go
in order to replace the classifier in ipsec and ALTQ by a more
complete external packet filter.
The external packet filter we started with happens to be pf since
itojun was inspired by pf's tagging which, in turn, is a byproduct of
pf/altq integration.

But we cover different technical areas so that we had slightly
different steps in mind.  itojun is more concerned about maintaining
the KAME code on different platforms (KAME, netbsd, and openbsd).
And I think everyone understands that itojun is trying to do it for
common good, although people have different opinions on how the steps
should be.  After all, merging the code to NetBSD is not the goal
itself but a step for further evolution.

Regarding the API, ALTQ needs 2 independent APIs.  One for making use
of an external packet filter as a classifer, and the other for
configuring queues.
The classifier part is fairly straightforward, and can be shared with
other tag-user programs.

The queue setup part is specific to ALTQ and much more complex than
the classifer part.  I originally thought not so many people would be
interested in this part but apparently there are some.
However, the current code is not so badly hard-coded into pf.
Probably, Darren got that impression because the code uses the "pf"
prefix for some structure and function names.  It was just to
distinguish the newly introduced code fragments from the original
ones.  The current ALTQ kernel code in OpenBSD is fairly independent
of pf but I'm aware of a few issues to get resolved to make the API
cleaner.

As I said earlier,  the ALTQ setup part should be discussed separately
from the tagging mechanism as a generic classifer, and I'll post the
update when the code becomes ready.

-Kenjiro