TODO.npf revision 1.10 1 # $NetBSD: TODO.npf,v 1.10 2025/04/17 16:26:36 gdt Exp $
2
3 # Meta
4
5 ## merge rmind@'s TODO
6
7 Merge still-to-be-done-items from another TODO list which was last
8 modified in May, 2020:
9 https://www.netbsd.org/~rmind/npf/__tasklist.html
10
11 ## Review all items to see if they are still relevant and correct.
12
13 # Documentation
14
15 ## how to convert other packet filters to npf
16
17 ## add more examples
18
19 # npfctl
20
21 ## npfctl start does not load
22
23 npfctl start does not load the configuration if not loaded.
24 It is not clear you need to reload first. Or if it loads it should
25 print the error messages. Or it should be called enable/disable since
26 this is what it does. It does not "start" because like an engine with
27 no fuel, an npf with no configuration does not do much.
28
29 ## better error reporting
30
31 although the framework checks the file for consistency, returning
32 EINVAL for system failures is probably not good enough. For example if
33 a module failed to autoload, it is probably an error and it should be
34 reported differently?
35
36 ## startup/stop script does not load and save session state
37
38 ## add algo for "with short"
39
40 ## implement "port-unr"
41
42 ## implement block return-icmp in log final all with ipopts
43
44 ## handle array variables in more places
45
46 # General
47
48 ## disable IPv4 options by default
49
50 and add a "allow-ip4opts" feature to enable them
51
52 ## disable IPv6 options
53
54 (IPPROTO_ROUTING, IPPROTO_HOPOPTS and IPPROTO_DSTOPTS) by default, and
55 add a "allow-ip6opts" feature to enable them
56
57 ## add an ioctl, similar to PF's DIOCNATLOOK and IPF's SIOCGNATL
58
59 document it so that it can be added in third-party software, like:
60 https://github.com/squid-cache/squid/blob/5b74111aff8948e869959113241adada0cd488c2/src/ip/Intercept.cc#L263
61
62 ## support IPv6 jumbograms
63
64 ## support large IPv6 options
65
66 as explained here:
67 http://mail-index.netbsd.org/tech-net/2018/04/08/msg006786.html
68 But it's not a big problem - perhaps we don't care at all.
69
70 ## add command line variables. See -D option in pf.
71
72 ## improve mss clamping
73
74 as explained here:
75 http://mail-index.netbsd.org/tech-net/2017/01/15/msg006224.html
76