Module Name: src Committed By: riz Date: Fri Feb 8 19:18:13 UTC 2013
Modified Files: src/sys/kern [netbsd-6]: uipc_mbuf.c src/sys/net/npf [netbsd-6]: npf.h npf_alg.c npf_alg_icmp.c npf_ext_log.c npf_ext_normalise.c npf_handler.c npf_impl.h npf_inet.c npf_instr.c npf_mbuf.c npf_nat.c npf_processor.c npf_rproc.c npf_ruleset.c npf_sendpkt.c npf_session.c npf_state.c npf_state_tcp.c src/sys/sys [netbsd-6]: mbuf.h src/usr.sbin/npf/npfctl [netbsd-6]: npfctl.c src/usr.sbin/npf/npftest [netbsd-6]: README src/usr.sbin/npf/npftest/libnpftest [netbsd-6]: npf_mbuf_subr.c npf_nat_test.c npf_nbuf_test.c npf_processor_test.c npf_rule_test.c npf_state_test.c Log Message: Pull up following revision(s) (requested by rmind in ticket #777): usr.sbin/npf/npfctl/npfctl.c: revision 1.27 sys/net/npf/npf_session.c: revision 1.19 usr.sbin/npf/npftest/libnpftest/npf_mbuf_subr.c: revision 1.4 sys/net/npf/npf_rproc.c: revision 1.5 usr.sbin/npf/npftest/README: revision 1.3 sys/sys/mbuf.h: revision 1.151 sys/net/npf/npf_ruleset.c: revision 1.15 usr.sbin/npf/npftest/libnpftest/npf_nbuf_test.c: revision 1.3 sys/net/npf/npf_ruleset.c: revision 1.16 usr.sbin/npf/npftest/libnpftest/npf_state_test.c: revision 1.4 usr.sbin/npf/npftest/libnpftest/npf_nbuf_test.c: revision 1.4 sys/net/npf/npf_inet.c: revision 1.19 sys/net/npf/npf_instr.c: revision 1.15 sys/net/npf/npf_handler.c: revision 1.24 sys/net/npf/npf_handler.c: revision 1.25 sys/net/npf/npf_state_tcp.c: revision 1.12 sys/net/npf/npf_processor.c: revision 1.13 sys/net/npf/npf_impl.h: revision 1.25 sys/net/npf/npf_processor.c: revision 1.14 sys/net/npf/npf_mbuf.c: revision 1.10 sys/net/npf/npf_alg_icmp.c: revision 1.14 sys/net/npf/npf_mbuf.c: revision 1.9 usr.sbin/npf/npftest/libnpftest/npf_nat_test.c: revision 1.2 usr.sbin/npf/npftest/libnpftest/npf_rule_test.c: revision 1.3 sys/net/npf/npf_session.c: revision 1.20 sys/net/npf/npf_alg.c: revision 1.6 sys/kern/uipc_mbuf.c: revision 1.148 sys/net/npf/npf_inet.c: revision 1.20 sys/net/npf/npf.h: revision 1.25 sys/net/npf/npf_nat.c: revision 1.18 sys/net/npf/npf_state.c: revision 1.13 sys/net/npf/npf_sendpkt.c: revision 1.13 sys/net/npf/npf_ext_log.c: revision 1.2 usr.sbin/npf/npftest/libnpftest/npf_processor_test.c: revision 1.4 sys/net/npf/npf_ext_normalise.c: revision 1.2 - Rework NPF's nbuf interface: use advancing and ensuring as a main method. Eliminate unnecessary copy and simplify. Adapt regression tests. - Simplify ICMP ALG a little. While here, handle ICMP ECHO for traceroute. - Minor fixes, misc cleanup. Silence gcc in npf_recache(). Add m_ensure_contig() routine, which is equivalent to m_pullup, but does not destroy the mbuf chain on failure (it is kept valid). - nbuf_ensure_contig: rework to use m_ensure_contig(9), which will not free the mbuf chain on failure. Fixes some corner cases. Improve regression test and sprinkle some asserts. - npf_reassembly: clear nbuf on IPv6 reassembly failure path (partial fix). The problem was found and fix provided by Anthony Mallet. To generate a diff of this commit: cvs rdiff -u -r1.145 -r1.145.2.1 src/sys/kern/uipc_mbuf.c cvs rdiff -u -r1.14.2.10 -r1.14.2.11 src/sys/net/npf/npf.h cvs rdiff -u -r1.2.16.3 -r1.2.16.4 src/sys/net/npf/npf_alg.c cvs rdiff -u -r1.8.4.5 -r1.8.4.6 src/sys/net/npf/npf_alg_icmp.c cvs rdiff -u -r1.1.4.2 -r1.1.4.3 src/sys/net/npf/npf_ext_log.c \ src/sys/net/npf/npf_ext_normalise.c cvs rdiff -u -r1.13.2.7 -r1.13.2.8 src/sys/net/npf/npf_handler.c cvs rdiff -u -r1.10.2.11 -r1.10.2.12 src/sys/net/npf/npf_impl.h cvs rdiff -u -r1.10.4.7 -r1.10.4.8 src/sys/net/npf/npf_inet.c \ src/sys/net/npf/npf_session.c cvs rdiff -u -r1.9.2.5 -r1.9.2.6 src/sys/net/npf/npf_instr.c cvs rdiff -u -r1.6.14.2 -r1.6.14.3 src/sys/net/npf/npf_mbuf.c cvs rdiff -u -r1.10.2.6 -r1.10.2.7 src/sys/net/npf/npf_nat.c cvs rdiff -u -r1.9.2.3 -r1.9.2.4 src/sys/net/npf/npf_processor.c cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/sys/net/npf/npf_rproc.c cvs rdiff -u -r1.10.2.4 -r1.10.2.5 src/sys/net/npf/npf_ruleset.c cvs rdiff -u -r1.8.4.4 -r1.8.4.5 src/sys/net/npf/npf_sendpkt.c cvs rdiff -u -r1.6.4.6 -r1.6.4.7 src/sys/net/npf/npf_state.c cvs rdiff -u -r1.3.2.6 -r1.3.2.7 src/sys/net/npf/npf_state_tcp.c cvs rdiff -u -r1.148 -r1.148.4.1 src/sys/sys/mbuf.h cvs rdiff -u -r1.10.2.12 -r1.10.2.13 src/usr.sbin/npf/npfctl/npfctl.c cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/usr.sbin/npf/npftest/README cvs rdiff -u -r1.2.2.3 -r1.2.2.4 \ src/usr.sbin/npf/npftest/libnpftest/npf_mbuf_subr.c cvs rdiff -u -r1.1.2.2 -r1.1.2.3 \ src/usr.sbin/npf/npftest/libnpftest/npf_nat_test.c cvs rdiff -u -r1.1.4.3 -r1.1.4.4 \ src/usr.sbin/npf/npftest/libnpftest/npf_nbuf_test.c cvs rdiff -u -r1.1.4.4 -r1.1.4.5 \ src/usr.sbin/npf/npftest/libnpftest/npf_processor_test.c cvs rdiff -u -r1.1.2.3 -r1.1.2.4 \ src/usr.sbin/npf/npftest/libnpftest/npf_rule_test.c cvs rdiff -u -r1.1.2.4 -r1.1.2.5 \ src/usr.sbin/npf/npftest/libnpftest/npf_state_test.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.