blob: 3e5e1c90a34a7281b0a9dce337d59ded43a188d1 [file] [log] [blame]
TODO List for netfilter / iptables.
Currently maintained by Harald Welte <laforge@gnumonks.org>
Please inform me, if you want to work on any of the TODO items, so I
can update this list and thus prevent two people doing the same work.
CVS ID: $Id: TODO,v 1.63 2002/07/08 06:17:33 laforge Exp $
IMPORTANT issues:
x solution for nostate / notrack (we don't want to track specific conn's)
x multiple related connections (solved: newnat)[HW]
x add support for correct SACK handling [HW]
- erroneously too-fast dropped conntrack for half-open TCP connections [JK]
- wrong 'Out of window' error message from tcp-windowtracking [JK]
x mangle table should use all five netfilter hooks [BC]
- --mac-source not working in FORWARD (manpage bug?)
x netfilter hooks should give error if same function registers twice [HW]
x speed issues (mark_source_chains, Robert Olsson)
x fix apparent output nat + slip oops bug; see thread at
http://lists.samba.org/pipermail/netfilter/2001-December/017747.html
x TFTP helper: works only on second packet?
x necessary structures for helper match in newnat [HW]
x port old conntrack/nat helpers to newnat [HW]
x update NAT part of netfilter-hacking-HOWTO to newnat [HW]
x update packet traversal schematics to represent 5hook-mangle
- update manpages to include recently submitted extensions
x remove manually-specified source IP for reject-fakesource patch
- locally bound udp port can still be used for MASQ/SNAT
- fix for ICMP DNAT info leak
- unaligned access of nulldevname during string match
TO BE INVESTIGATED:
- packet counters on ultrasparc platform (32bit userspace/64bit kernel issue)
- token ring crashes ??
- iptables-save/restore problems with log-level
- ip_conntrack rmmod loop (sometimes, Yan's patch?)
- conntrack helper not called for first packet (udp!)
- different behaviour for first packet towards an l2-unresolved ip?
NICE to have:
- endianness wrt. unnamed initializers in conntrack helpers after
pptp-patch applied
- make RPC conntrack work again
x interface names in ipv6 can contain _ and -
- multicast connection tracking
- sysctl support for ftp-multi, irc-conntrack/nat, ftp-fxp
- integrate HOPLIMIT for ipv6 in patch-o-matic [HW]
- u32 classifier (port from tc -> iptables) [YU]
x MARK match with boolean OR / AND (to use nfmark bitwise)
- documentation for libiptc
- port conntrack to IPv6 (code reuse?) [BC]
x make patch-o-matic reversible
x CONFIG_NF_IP_NAT_LOCAL
x fix and test the netfilter bridging stuff
- ip_nat_ident module
x provide daily CVS snapshots via ftp [HW]
- make iptables / ip6tables use the same codebase (as libiptc) [KA]
x REJECT optionally generates port unreachable with faked SOURCE
- libipq reentrancy [JM]
- compiling without O2 issue
x add more information like original addresses to the state match
- libipq runtime version, do before 1.2.5 [JM]
- add ICMP type-3-code-13 option to REJECT
- export list of matches/targets via proc-fs
FUTURE extensions:
- dealing with fragmented expectation-causes (i.e. DCC chat split
over two packets, etc.)
- conntrack / nat failover [HW]
- brainstorming about 2.5 conntrack code
- netlink interface for conntrack manipulation from userspace [HW]
- unified nfnetlink for queue,ulog,conntrack (and more?) (2.5 issue)
Userspace queuing for 2.5:
- Integration with nfnetlink.
- Multiple queues per protocol.
- Netlink broadcast support.
- Allow multiple reader/writers in userspace.
- How to handle multiple protocols (e.g. use separate queue handlers
or a multiplexer like ipqmpd).
- Peformance improvements: multipart messages, mmaped socket (possibly).
- Simplify queuing logic, which is quite ugly at the moment. (BC suggested
removing logic from kernel).
- Allow userspace to set nfmark.
- Allow userspace to set queue length etc.
- Possibly pass conntrack/NAT info to userspace with packet.
======================================================================
[BC] Brad Chapman <kakadu_croc@yahoo.com>
[HW] Harald Welte <laforge@gnumonks.org>
[JK] Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
[JM] James Morris <jmorris@intercode.com.au>
[KA] Kiz-Szabo Andras <kisza@sch.bme.hu>
[MB] Marc Boucher <marc@mbsi.ca>
[RR] Paul 'Rusty' Russel <rusty@rustcorp.com.au>
[YU] Yon Uriarte <ukl2@rz.uni-karlsruhe.de>