Subject: Changing packet input processing paths
To: None <tech-net@netbsd.org>
From: Darren Reed <darrenr@netbsd.org>
List: tech-net
Date: 08/27/2007 04:37:46
On another mailing list, someone started asking questions about
moving packets around so they could do IPv4 to IPv6 translation.

This got me thinking!

If IPFilter were to implement 4<>6 translation, what should
happen to the packets after they've been converted?

Should IPFilter just put them on the relevant packet queue
for v4/v6 (for inbound/outbound) and filter it a second time?
Or should it return the packet back with some special flag
so that the mainline where the pfhooks callout was made does
a longjump to the "other protocol"?
Or should the various input/output functions be split in half,
with the bottom half continuing on with a tail call that can
also be called from elsewhere?

Darren