TODO.npf revision 1.3 1 1.1 maxv Another TODO list is available here:
2 1.1 maxv
3 1.1 maxv https://www.netbsd.org/~rmind/npf/__tasklist.html
4 1.1 maxv
5 1.1 maxv ====== DOCUMENTATION ======
6 1.1 maxv
7 1.1 maxv -- how to convert other packet filters to npf
8 1.1 maxv
9 1.1 maxv -- add more examples
10 1.1 maxv
11 1.3 maxv -- modify the doc of IPF and PF to indicate they are deprecated, and that
12 1.3 maxv NPF should be used instead
13 1.3 maxv
14 1.1 maxv ====== NPFCTL ======
15 1.1 maxv
16 1.1 maxv -- npfctl start does not load the configuration if not loaded.
17 1.1 maxv It is not clear you need to reload first. Or if it loads it should
18 1.1 maxv print the error messages. Or it should be called enable/disable since
19 1.1 maxv this is what it does. It does not "start" because like an engine with
20 1.1 maxv no fuel, an npf with no configuration does not do much.
21 1.1 maxv
22 1.1 maxv -- npf starts up too late (after traffic can go through)
23 1.1 maxv
24 1.1 maxv -- although the framework checks the file for consistency, returning EINVAL
25 1.1 maxv for system failures is probably not good enough. For example if a module
26 1.1 maxv failed to autoload, it is probably an error and it should be reported
27 1.1 maxv differently?
28 1.1 maxv
29 1.1 maxv -- startup/stop script does not load and save session state
30 1.1 maxv
31 1.1 maxv -- add algo for "with short"
32 1.1 maxv
33 1.1 maxv -- implement "port-unr"
34 1.1 maxv
35 1.1 maxv -- implement block return-icmp in log final all with ipopts
36 1.1 maxv
37 1.1 maxv -- handle array variables in more places
38 1.1 maxv
39 1.1 maxv ====== GENERAL ======
40 1.1 maxv
41 1.1 maxv -- disable IPv4 options by default, and add a "allow-ip4opts" feature to
42 1.1 maxv enable them
43 1.1 maxv
44 1.1 maxv -- disable IPv6 options (IPPROTO_ROUTING, IPPROTO_HOPOPTS and IPPROTO_DSTOPTS)
45 1.1 maxv by default, and add a "allow-ip6opts" feature to enable them
46 1.1 maxv
47 1.1 maxv -- add an ioctl, similar to PF's DIOCNATLOOK and IPF's SIOCGNATL, and document
48 1.1 maxv it so that it can be added in third-party software, like:
49 1.1 maxv https://github.com/squid-cache/squid/blob/5b74111aff8948e869959113241adada0cd488c2/src/ip/Intercept.cc#L263
50 1.1 maxv
51 1.2 maxv -- support IPv6 jumbograms
52 1.2 maxv
53 1.2 maxv -- support large IPv6 options, as explained here:
54 1.2 maxv http://mail-index.netbsd.org/tech-net/2018/04/08/msg006786.html
55 1.2 maxv But it's not a big problem - perhaps we don't care at all.
56