2018-04-08 11:57:37 +03:00
|
|
|
Another TODO list is available here:
|
|
|
|
|
|
|
|
https://www.netbsd.org/~rmind/npf/__tasklist.html
|
|
|
|
|
|
|
|
====== DOCUMENTATION ======
|
|
|
|
|
2013-03-11 04:04:46 +04:00
|
|
|
-- how to convert other packet filters to npf
|
2018-04-08 11:57:37 +03:00
|
|
|
|
|
|
|
-- add more examples
|
|
|
|
|
2019-04-02 14:43:50 +03:00
|
|
|
-- modify the doc of IPF to indicate it is deprecated, and that
|
2018-07-31 22:43:24 +03:00
|
|
|
NPF should be used instead
|
|
|
|
|
2018-04-08 11:57:37 +03:00
|
|
|
====== NPFCTL ======
|
|
|
|
|
2013-03-11 06:02:28 +04:00
|
|
|
-- npfctl start does not load the configuration if not loaded.
|
|
|
|
It is not clear you need to reload first. Or if it loads it should
|
|
|
|
print the error messages. Or it should be called enable/disable since
|
|
|
|
this is what it does. It does not "start" because like an engine with
|
|
|
|
no fuel, an npf with no configuration does not do much.
|
2018-04-08 11:57:37 +03:00
|
|
|
|
2013-03-11 06:02:28 +04:00
|
|
|
-- although the framework checks the file for consistency, returning EINVAL
|
|
|
|
for system failures is probably not good enough. For example if a module
|
|
|
|
failed to autoload, it is probably an error and it should be reported
|
|
|
|
differently?
|
2018-04-08 11:57:37 +03:00
|
|
|
|
2013-03-13 06:41:23 +04:00
|
|
|
-- startup/stop script does not load and save session state
|
2018-04-08 11:57:37 +03:00
|
|
|
|
2013-03-13 06:41:23 +04:00
|
|
|
-- add algo for "with short"
|
2018-04-08 11:57:37 +03:00
|
|
|
|
2013-03-13 06:41:23 +04:00
|
|
|
-- implement "port-unr"
|
2018-04-08 11:57:37 +03:00
|
|
|
|
2013-03-13 06:41:23 +04:00
|
|
|
-- implement block return-icmp in log final all with ipopts
|
2018-04-08 11:57:37 +03:00
|
|
|
|
2017-01-11 05:13:54 +03:00
|
|
|
-- handle array variables in more places
|
2018-04-08 11:57:37 +03:00
|
|
|
|
|
|
|
====== GENERAL ======
|
|
|
|
|
|
|
|
-- disable IPv4 options by default, and add a "allow-ip4opts" feature to
|
|
|
|
enable them
|
|
|
|
|
|
|
|
-- disable IPv6 options (IPPROTO_ROUTING, IPPROTO_HOPOPTS and IPPROTO_DSTOPTS)
|
|
|
|
by default, and add a "allow-ip6opts" feature to enable them
|
|
|
|
|
|
|
|
-- add an ioctl, similar to PF's DIOCNATLOOK and IPF's SIOCGNATL, and document
|
|
|
|
it so that it can be added in third-party software, like:
|
|
|
|
https://github.com/squid-cache/squid/blob/5b74111aff8948e869959113241adada0cd488c2/src/ip/Intercept.cc#L263
|
|
|
|
|
2018-04-10 09:32:23 +03:00
|
|
|
-- support IPv6 jumbograms
|
|
|
|
|
|
|
|
-- support large IPv6 options, as explained here:
|
|
|
|
http://mail-index.netbsd.org/tech-net/2018/04/08/msg006786.html
|
|
|
|
But it's not a big problem - perhaps we don't care at all.
|
2018-07-31 23:33:06 +03:00
|
|
|
|
|
|
|
-- add command line variables. See -D option in pf.
|
2018-08-01 11:54:48 +03:00
|
|
|
|
|
|
|
-- improve mss clamping, as explained here:
|
|
|
|
http://mail-index.netbsd.org/tech-net/2017/01/15/msg006224.html
|