Module Name: src Committed By: rmind Date: Sat May 30 14:16:57 UTC 2020
Modified Files: src/lib/libnpf: libnpf.3 npf.c npf.h src/sys/net/npf: files.npf npf.c npf.h npf_alg.c npf_alg_icmp.c npf_conf.c npf_conn.c npf_conn.h npf_conndb.c npf_connkey.c npf_ctl.c npf_ext_log.c npf_ext_normalize.c npf_ext_rndblock.c npf_handler.c npf_if.c npf_ifaddr.c npf_impl.h npf_inet.c npf_mbuf.c npf_nat.c npf_os.c npf_params.c npf_portmap.c npf_rproc.c npf_ruleset.c npf_sendpkt.c npf_state.c npf_state_tcp.c npf_tableset.c npf_worker.c npfkern.h src/usr.sbin/npf: npf-params.7 src/usr.sbin/npf/npfctl: Makefile npf.conf.5 npf_bpf_comp.c npf_build.c npf_parse.y npf_scan.l npf_show.c npf_var.c npf_var.h npfctl.8 npfctl.c npfctl.h src/usr.sbin/npf/npftest: npftest.c npftest.conf npftest.h src/usr.sbin/npf/npftest/libnpftest: Makefile npf_mbuf_subr.c npf_nat_test.c npf_state_test.c npf_test.h npf_test_subr.c Added Files: src/usr.sbin/npf/npfctl: npf_cmd.c src/usr.sbin/npf/npftest/libnpftest: npf_gc_test.c Removed Files: src/usr.sbin/npf/npftest/libnpftest: npf_conn_test.c Log Message: Major NPF improvements (merge from upstream): - Switch to the C11-style atomic primitives using atomic_loadstore(9). - npfkern: introduce the 'state.key.interface' and 'state.key.direction' settings. Users can now choose whether the connection state should be strictly per-interface or global at the configuration level. Keep NAT logic to be always per-interface, though. - npfkern: rewrite the G/C worker logic and make it self-tuning. - npfkern and libnpf: multiple bug fixes; add param exporting; introduce more parameters. Remove npf_nvlist_{copyin,copyout}() functions and refactor npfctl_load_nvlist() with others; add npfctl_run_op() to have a single entry point for operations. Introduce npf_flow_t and clean up some code. - npfctl: lots of fixes for the 'npfctl show' logic; make 'npfctl list' more informative; misc usability improvements and more user-friendly error messages. - Amend and improve the manual pages. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/lib/libnpf/libnpf.3 cvs rdiff -u -r1.48 -r1.49 src/lib/libnpf/npf.c cvs rdiff -u -r1.38 -r1.39 src/lib/libnpf/npf.h cvs rdiff -u -r1.22 -r1.23 src/sys/net/npf/files.npf \ src/sys/net/npf/npf_state.c cvs rdiff -u -r1.42 -r1.43 src/sys/net/npf/npf.c cvs rdiff -u -r1.62 -r1.63 src/sys/net/npf/npf.h cvs rdiff -u -r1.21 -r1.22 src/sys/net/npf/npf_alg.c \ src/sys/net/npf/npf_sendpkt.c cvs rdiff -u -r1.32 -r1.33 src/sys/net/npf/npf_alg_icmp.c cvs rdiff -u -r1.16 -r1.17 src/sys/net/npf/npf_conf.c \ src/sys/net/npf/npf_ext_log.c cvs rdiff -u -r1.31 -r1.32 src/sys/net/npf/npf_conn.c cvs rdiff -u -r1.19 -r1.20 src/sys/net/npf/npf_conn.h \ src/sys/net/npf/npf_rproc.c cvs rdiff -u -r1.8 -r1.9 src/sys/net/npf/npf_conndb.c \ src/sys/net/npf/npf_ext_rndblock.c cvs rdiff -u -r1.1 -r1.2 src/sys/net/npf/npf_connkey.c cvs rdiff -u -r1.59 -r1.60 src/sys/net/npf/npf_ctl.c cvs rdiff -u -r1.9 -r1.10 src/sys/net/npf/npf_ext_normalize.c cvs rdiff -u -r1.48 -r1.49 src/sys/net/npf/npf_handler.c cvs rdiff -u -r1.12 -r1.13 src/sys/net/npf/npf_if.c cvs rdiff -u -r1.6 -r1.7 src/sys/net/npf/npf_ifaddr.c cvs rdiff -u -r1.80 -r1.81 src/sys/net/npf/npf_impl.h cvs rdiff -u -r1.56 -r1.57 src/sys/net/npf/npf_inet.c cvs rdiff -u -r1.23 -r1.24 src/sys/net/npf/npf_mbuf.c cvs rdiff -u -r1.49 -r1.50 src/sys/net/npf/npf_nat.c cvs rdiff -u -r1.17 -r1.18 src/sys/net/npf/npf_os.c cvs rdiff -u -r1.2 -r1.3 src/sys/net/npf/npf_params.c cvs rdiff -u -r1.4 -r1.5 src/sys/net/npf/npf_portmap.c \ src/sys/net/npf/npfkern.h cvs rdiff -u -r1.50 -r1.51 src/sys/net/npf/npf_ruleset.c cvs rdiff -u -r1.20 -r1.21 src/sys/net/npf/npf_state_tcp.c cvs rdiff -u -r1.34 -r1.35 src/sys/net/npf/npf_tableset.c cvs rdiff -u -r1.7 -r1.8 src/sys/net/npf/npf_worker.c cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/npf/npf-params.7 cvs rdiff -u -r1.14 -r1.15 src/usr.sbin/npf/npfctl/Makefile cvs rdiff -u -r1.90 -r1.91 src/usr.sbin/npf/npfctl/npf.conf.5 cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/npf/npfctl/npf_bpf_comp.c cvs rdiff -u -r1.54 -r1.55 src/usr.sbin/npf/npfctl/npf_build.c cvs rdiff -u -r0 -r1.1 src/usr.sbin/npf/npfctl/npf_cmd.c cvs rdiff -u -r1.50 -r1.51 src/usr.sbin/npf/npfctl/npf_parse.y cvs rdiff -u -r1.31 -r1.32 src/usr.sbin/npf/npfctl/npf_scan.l \ src/usr.sbin/npf/npfctl/npf_show.c cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/npf/npfctl/npf_var.c cvs rdiff -u -r1.9 -r1.10 src/usr.sbin/npf/npfctl/npf_var.h cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/npf/npfctl/npfctl.8 cvs rdiff -u -r1.63 -r1.64 src/usr.sbin/npf/npfctl/npfctl.c cvs rdiff -u -r1.52 -r1.53 src/usr.sbin/npf/npfctl/npfctl.h cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/npf/npftest/npftest.c cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/npf/npftest/npftest.conf cvs rdiff -u -r1.16 -r1.17 src/usr.sbin/npf/npftest/npftest.h cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/npf/npftest/libnpftest/Makefile \ src/usr.sbin/npf/npftest/libnpftest/npf_mbuf_subr.c cvs rdiff -u -r1.3 -r0 src/usr.sbin/npf/npftest/libnpftest/npf_conn_test.c cvs rdiff -u -r0 -r1.1 src/usr.sbin/npf/npftest/libnpftest/npf_gc_test.c cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/npf/npftest/libnpftest/npf_nat_test.c cvs rdiff -u -r1.9 -r1.10 \ src/usr.sbin/npf/npftest/libnpftest/npf_state_test.c cvs rdiff -u -r1.20 -r1.21 src/usr.sbin/npf/npftest/libnpftest/npf_test.h cvs rdiff -u -r1.16 -r1.17 \ src/usr.sbin/npf/npftest/libnpftest/npf_test_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.