docs: update ToDo with prios, add bullet
[netsniff-ng.git] / TODO
blob5e99e531cc0590e0267741c5070579aa07aea285
1 Here's a list of things we need to do (contributions are welcome and highly
2 appreciated, please also read Documentation/SubmittingPatches about how to
3 submit your contributions, items marked with '!' are of high importance):
5  0! Improve manpages, extend the documentation or write useful howtos.
6  1! Highest prio: Cleanup and refactor the code and build system to make it
7     more maintainable, stable, and probably faster! mausezahn: clean it up
8     add fork + fanout mode, remove libpcap dependency, let it also store
9     pcap files e.g. on a network filesystem of the mausezahn box.
10  3! Add full IPv6 support for flowtop, test IPv6 on curvetun and mausezahn.
11  5) Make trafgen also write to a pcap instead to a device.
12  6) Let netsniff-ng and trafgen support pcap and pcap-ng!
13 10) Add a proper 802.11 dissector for netsniff-ng.
14 12) Add new dissectors (e.g. BGP, DNS, DCCP, SCTP, RSVP, IPsec, LISP, RADIUS,
15     LLC, fix MPLS?, improve ARP, BPDU, PVST, CDP, LLDP, RTP, Syslog, NTP,
16     OpenFlow, ...), add new protocols to mausezahn.
17 13! Easier language for /fast/ filtering (e.g. on top of BPF so that it can run
18     in the kernel), include this into bpfc.
19 16) Further micro-optimize netsniff-ng, trafgen, mausezahn's performance. Use
20     Oprofile for optimize tools!
21 17) Security review of curvetun.
22 21) Obfuscate curvetun's protocol to make it hard/resource-intensive for DPIs.
23 22! Add different timing models to trafgen, not just a static interpacket gap.
24 24) Do we need TPACKETV2 or even TPACKETV3 if it is eventually implemented?
25 25) Do performance tests with 10 Gigabit cards.
26 28! Remove liburcu dependency from flowtop.
27 29) Improve the Linux kernel's net/packet/af_packet.c (that we rely on)
28 30! Fix UDP+TCP tracking in flowtop.
29 31) astraceroute: implement DNS traceroute with AS/Geo information
30 32) ifpps: add option for --dev eth0,eth1,eth2 and accumulate stats
31 33) flowtop: can we get per socket pps, bytes per sec without sniffing?
32 34) Are there other interesting (e.g. ethtool) stats for ifpps?
33 35) Build a generic interface that is somewhat transparant to RX_RING/TX_RING
34     where we can user uio-dma, integrate uio-ixgbe and probably port others.
35     This could be invoked through a special build option. Default should always
36     be RX_RING / TX_RING.
37     [1] http://pub.netsniff-ng.org/misc/uio-dma.tar.bz2
38     [2] http://pub.netsniff-ng.org/misc/uio-ixgbe.tar.bz2
39 36! bpfc: option for listing all supported instructions
40 37! netsniff-ng has a build-dependency on libnl-dev [1]. libnl-1.x is no longer
41     actively developed [2] and has been superseded by libnl-3.x [3]. Please
42     port netsniff-ng to this new version resp. notify upstream to get
43     netsniff-ng updated. One of the major changes in v3 is that the library was
44     split into several smaller libraries. You can find a developer' guide and
45     API documentation for each library at [2].
46     [1] http://packages.qa.debian.org/libn/libnl.html
47     [2] http://www.infradead.org/~tgr/libnl/
48     [3] http://packages.qa.debian.org/libn/libnl3.html