Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 11/11/2000 02:52:40
Module Name:	syssrc
Committed By:	thorpej
Date:		Sat Nov 11 00:52:40 UTC 2000

Modified Files:
	syssrc/sys/net: pfil.c pfil.h
	syssrc/sys/netinet: fil.c ip_fil.c ip_fil.h ip_input.c ip_output.c
	syssrc/sys/netinet6: ip6_input.c ip6_output.c ip6protosw.h
	syssrc/sys/sys: protosw.h

Log Message:
Restructure the PFIL_HOOKS mechanism a bit:
- All packets are passed to PFIL_HOOKS as they come off the wire, i.e.
  fields in protocol headers in network order, etc.
- Allow for multiple hooks to be registered, using a "key" and a "dlt".
  The "dlt" is a BPF data link type, indicating what type of header is
  present.
- INET and INET6 register with key == AF_INET or AF_INET6, and
  dlt == DLT_RAW.
- PFIL_HOOKS now take an argument for the filter hook, and mbuf **,
  an ifnet *, and a direction (PFIL_IN or PFIL_OUT), thus making them
  less IP (really, IP Filter) centric.

Maintain compatibility with IP Filter by adding wrapper functions for
IP Filter.


To generate a diff of this commit:
cvs rdiff -r1.15 -r1.16 syssrc/sys/net/pfil.c
cvs rdiff -r1.13 -r1.14 syssrc/sys/net/pfil.h
cvs rdiff -r1.40 -r1.41 syssrc/sys/netinet/fil.c
cvs rdiff -r1.59 -r1.60 syssrc/sys/netinet/ip_fil.c
cvs rdiff -r1.37 -r1.38 syssrc/sys/netinet/ip_fil.h
cvs rdiff -r1.120 -r1.121 syssrc/sys/netinet/ip_input.c
cvs rdiff -r1.77 -r1.78 syssrc/sys/netinet/ip_output.c
cvs rdiff -r1.28 -r1.29 syssrc/sys/netinet6/ip6_input.c
cvs rdiff -r1.26 -r1.27 syssrc/sys/netinet6/ip6_output.c
cvs rdiff -r1.7 -r1.8 syssrc/sys/netinet6/ip6protosw.h
cvs rdiff -r1.22 -r1.23 syssrc/sys/sys/protosw.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.