Home | History | Annotate | Line # | Download | only in doc
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