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