make: use "+=" in flags
[netsniff-ng.git] / TODO
blob7a500be0d3857be62ede1d118fedba96dd2b5f1c
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         @TODO: Jon Schipp, Daniel Borkmann
8  1! Highest prio: Cleanup and refactor the code and build system to make it
9     more maintainable, stable, and probably faster! mausezahn: clean it up
10     add fork + fanout mode, remove libpcap dependency, let it also store
11     pcap files e.g. on a network filesystem of the mausezahn box.
12         @TODO: Daniel Borkmann
14  3! Add full IPv6 support for flowtop, test IPv6 on curvetun and mausezahn.
15         @TODO: Daniel Borkmann
17  5) Make trafgen also write to a pcap instead to a device.
19  6) Let netsniff-ng and trafgen support pcap and pcap-ng!
21 10! Add a proper 802.11 dissector for netsniff-ng.
22         @TODO: Markus Amend
24 12) Add new dissectors (e.g. BGP, DNS, DCCP, SCTP, RSVP, IPsec, LISP, RADIUS,
25     LLC, fix MPLS?, improve ARP, BPDU, PVST, CDP, LLDP, RTP, Syslog, NTP,
26     OpenFlow, ...), add new protocols to mausezahn.
28 13! Easier language (bpf-hla) for /fast/ filtering (e.g. on top of BPF so
29     that it can run in the kernel), include this into bpfc (bpfc-hla).
30         @TODO: Tobias Kalbitz, Markus Amend, Daniel Borkmann
32 16) Further micro-optimize netsniff-ng, trafgen, mausezahn's performance. Use
33     Oprofile for optimize tools!
35 17) Security review of curvetun.
37 21) Obfuscate curvetun's protocol to make it hard/resource-intensive for DPIs.
39 22! Add different timing models to trafgen, not just a static interpacket gap.
40         @TODO: Daniel Borkmann
42 25) Do performance tests with 10 Gigabit cards.
43         @TODO: Sibir Chakraborty
45 28! Remove liburcu dependency from flowtop.
46         @TODO: Daniel Borkmann
48 29) Improve the Linux kernel's net/packet/af_packet.c (that we rely on)
50 30! Fix UDP+TCP tracking in flowtop.
51         @TODO: Daniel Borkmann
53 31) astraceroute: implement DNS traceroute with AS/Geo information
55 32) ifpps: add option for --dev eth0,eth1,eth2 and accumulate stats
57 33) flowtop: can we get per socket pps, bytes per sec without sniffing?
59 34) Are there other interesting (e.g. ethtool) stats for ifpps? E.g. backlog
60     queue statistics in ifpps (discussion with Jon Schipp).
62 35) Build a generic interface that is somewhat transparant to RX_RING/TX_RING
63     where we can user uio-dma, integrate uio-ixgbe and probably port others.
64     This could be invoked through a special build option. Default should always
65     be RX_RING / TX_RING.
66     [1] http://pub.netsniff-ng.org/misc/uio-dma.tar.bz2
67     [2] http://pub.netsniff-ng.org/misc/uio-ixgbe.tar.bz2
68         @TODO: Sibir Chakraborty
70 38! netsniff-ng (and others): if interface goes down, properly exit
71         @TODO: Daniel Borkmann
73 39! Add a pcap indexing utility fo a faster retrival, analysis on huge
74     pcap files. Write the index file out for each pcap capture.
75         @TODO: Daniel Borkmann, Francesco Fusco
77 41! Add vlan support for bpfc (http://www.spinics.net/lists/netdev/msg213464.html).
79 42) Flowtop: add interesting things from socket diag (e.g. socket states, ...)?
81 44! mac80211: waiting for netlink ack failed with libnl3! Fix compilation on
82     Ubuntu 10.04 and higher.
84 45! fix sll struct / hdr->s_ll.sll_ifindex in TPACKETv2 (provides
85     wrong information in dissector output)
87 46) QoS for curvetun.
89 47) ifpps show timestamps in CSV file.