Subject: kern/4593: pfil list processing code.
To: None <>
From: None <darrenr@NetBSD.ORG>
List: netbsd-bugs
Date: 11/28/1997 14:16:46
>Number:         4593
>Category:       kern
>Synopsis:       pfil list processing only useful for one list entry
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Nov 28 06:20:01 1997
>Originator:     Darren Reed
>Release:        NetBSD-current
System: NetBSD netbsd1 1.3A NetBSD 1.3A (HOMEWORLD) #5: Fri Nov 21 15:18:53 PST 1997 thorpej@netbsd1:/local/NetBSD/src/sys/arch/i386/compile/HOMEWORLD i386


The NetBSD pfil.c code constructs a list of "hooks" to call, however, this
list is processed in the same order for input and output.

For one list member, this is not a problem.  If I have two, however, it
means going they are used (for example) A then B in one direction and A then
B in the other.  Whilst seemingly harmless, this prohibits the construction
of "rings", so if A was the NAT function, in one direction a packet is seen
by B NAT'd and in the other non-NAT'd.