summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-07-13ifpps: release stats on exitDaniel Borkmann1-0/+20
The stack trace of valgrind --leak-check=full --show-reachable=yes ifpps \ -lpcd wlan0 showed that at exit members from stats are still reachable. They have been alloced through stats_alloc, but not freed. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-13ifpps: warn when 1Gbit/s and interval < 1secDaniel Borkmann1-2/+6
It is possible to use a interval even of 0, although it would not really make sense. It's not a bug either, so throw a warning to the user in that case on 1Gbit/s. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-13ifpps: Correct calculation of median values for CPU loadTobias Klauser1-10/+11
ifpps always reported the same values for median as for average in the CPU load fields (usr, sys, idle, iowait). This is of course incorrect. The bug was due to 3 sub-problems: - Summing up long double values (m_cpu_*) in an uint64_t (all) - Not using %Lf (for long double) in mvwprintw() - Explicitely use floating point division in MEDIAN_EVEN Fix the bug by summing up in a separate accumulator of type long double, use the correct format string for long double and divide by 2.0 in MEDIAN_EVEN to force the result to be (long) double. Reported-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-12ifpps: Consistently list command line optionsTobias Klauser2-10/+10
Instead of (more or less) arbitrarily listing the command line options, sort them according to the following rule: - options with required argument, alphabetically by short option - options without argument, alphabetically by short option - common options -v/--version and -h/--help Do this in the short options string, the long options struct, the in-program usage and the man page. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-12ifpps: median: add whitespace padding in one occurenceDaniel Borkmann1-2/+2
Add whitespace padding in one occurence of 'med:' output. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-12gitignore: add config.log file to git ignoreDaniel Borkmann1-0/+1
Ignore the config.log file in Git as this is automatically generated. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-12ifpps: Update usage with respect to median valuesTobias Klauser1-0/+1
This was missing in commit 971b1d95 ("ifpps: Optionally display median values for CPU load and interrupts"). Update the usage to reflect the changes too. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-12ifpps: Optionally display median values for CPU load and interruptsTobias Klauser2-2/+97
Using the -m/--median command line option, median values across all CPUs are displayed for CPU load, interrupts per interval, sw interrupts per interval and absolute number of interrupts. Also update the manpage accordingly. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-12bpf_comp: pass NEED_TCPDUMP_LIKE_FILTER through gccDaniel Borkmann3-5/+1
We have to pass NEED_TCPDUMP_LIKE_FILTER define through gcc as it otherwise is not possible to let the pcap compiler invoke through netsniff-ng, but not through astraceroute. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-12configure: fix wrong whitespacingDaniel Borkmann1-2/+2
Not sure how this came in with the last commit, but fix it to the correct format. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-12configure: redirect all compile output to our local config.logDaniel Borkmann1-24/+24
On errors in the configuration, redirect everything to config.log, and not some parts to config.log and some others to $TMPDIR/config.log. This will give a nice summary of what goes wrong to the user. Also, in case everything looks fine, the config.log file will be created, but with size 0 and no warning is thrown. So looks good. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-12configure: do not use bash's expr matchDaniel Borkmann1-6/+6
It looks like there are some incompatibilities in bash's expr match among different versions. Using set -x, gives us on bash 4.2.45: + TOOLS=' netsniff-ng trafgen ifpps bpfc' + for tool in '$_tools' + case "$tool" in ++ expr match '"curvetun' 'astraceroute"' '$1' expr: syntax error + m= + '[' '' == 0 ']' So rather avoid using "expr match" and switch to "case" for substring matching, which should be more portable. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-12configure: fix libnetfilter_conntrack dependency removalDaniel Borkmann1-1/+1
tools_remove "libnetfilter-conntrack" makes no sense, so replace it with the actual correct tools_remove "flowtop". Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11configure: Redirect pkg-config errors to log fileTobias Klauser2-6/+14
If pkg-config doesn't find a library it prints an error to stderr. Instead of directly printing them as part of the configure output, redirect them to config.log and let the user know about it in case there are any messages. Suggested-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-11ifpps: align avg on systems with >8 CPUsDaniel Borkmann1-5/+8
When running ifpps on systems with 16, 32 or more CPUs, 'avg:...' field is not being padded with witespaces as the rest of the CPU lines. This patch does that. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11ifpps: warn about increase -t when high speedDaniel Borkmann2-8/+32
Collecting device statistics on high speed every second can be very costly, so warn about this in ncurses mode. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11ifpps: show machine type only if not in already release nameDaniel Borkmann1-3/+9
In Fedora or RHEL/CentOS releases the machine type is already part of the package name, so show it only, if it does not appear there. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11ifpps: show kernel version and machine typeDaniel Borkmann1-2/+6
Lets make the headline output a bit more useful and show the current kernel version and well as the machine/hardware type. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11link: allow future ethtool speed formats to be supportedDaniel Borkmann1-11/+2
In case some in the near future NICs with 40Gbit/s will appear. Allow ifpps to get the correct ethtool speed. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11ifpps: make '+' to '-' sort more clearDaniel Borkmann1-15/+14
If will now look like the following: cpu6 +: 237357 irqs cpu2 |: 117538 irqs cpu0 |: 8419 irqs cpu7 |: 4523 irqs cpu5 |: 4312 irqs cpu1 -: 1432 irqs avg: 47606.8 This makes it a bit more precise/intuitive that we sort from max to min. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11ifpps: align avg numbers and remove unitDaniel Borkmann1-8/+8
In order to get a better overview, lets align the avg numbers to the other shown decimals. However, for this we would need to remove the avg units as we deal with floats here. But we know the units from the above numbers anyway. I think this makes it more clear to follow. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11ifpps: align string to format stringDaniel Borkmann1-12/+12
Just a whitespace fix to align the strings to the fmt string. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11man: ifpps: emphasize gnuplot output formatDaniel Borkmann1-0/+3
As this is useful for a couple of people, emphasize this in ifpps' manpage as well. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11dissector: rename __WITH_PROTOS into HAVE_DISSECTOR_PROTOSDaniel Borkmann6-11/+10
To be more consistent with config.h, rename __WITH_PROTOS into HAVE_DISSECTOR_PROTOS. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11build: refactor tool specific flags into <tool>/MakefileDaniel Borkmann9-9/+28
To get the normal Makefile a bit cleaner, push the tool specific build options into <tool>/Makefile. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11build: for an -rc release exclude curvetun for nowDaniel Borkmann1-2/+8
As curvetun needs to undergo some major cleanups, we exclude it from the main build process for the moment until we have fixed all of it in a non-rc release. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11curvetun: give short note in version infoDaniel Borkmann1-0/+1
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11configure, netsniff-ng: if no libgeopip, do not link against libzDaniel Borkmann3-7/+22
In netsniff-ng, we only use libz in combination with libgeoip, so if we lack either one of them, do not link against the other either. This would be a waste otherwise. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11netsniff-ng: fix recognition of -U command line optionDaniel Borkmann1-1/+1
"-U" has been forgotten to add into shortopts. "--update" works as expeceted however. So simply add "U". Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11configure, netsniff-ng: make netsniff-ng's geoip dependency optionalDaniel Borkmann3-4/+101
Geoip dependency should not be mandatory as it's not a core part of netsniff-ng. This also facilitates compilation on platforms where geoip is not available. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11docs: install: recommend gnuplot for ifppsDaniel Borkmann1-0/+1
ifpps supports a gnuplot-like output. Therefore, recommend the use of gnuplot. It is not mandatory though. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11docs: install: state that we do have an option for distro buildDaniel Borkmann1-11/+14
Brind the doc more up to date since we do have DISTRO=1 et al available from the build system. Thus, no manual hand-tweaking needs to be done, only in rare cases if really necessary. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11oui: update oui file from oui-update.pyDaniel Borkmann1-7/+118
This brings in a fresh version of the oui file via oui-update.py. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11make: help: consolidate <toolnames> to <tool>Daniel Borkmann1-4/+4
In some part of the help text, we speak about <toolnames> in some other <toolname>. Lets consolidate this to <tool> to avoid any possible confusion. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11docs: describe how to build bpf_jit_disasmDaniel Borkmann1-0/+11
Since it's out of the normal build process for now, describe how to build it for advanced users. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11docs: install: simplify dependency descriptionDaniel Borkmann1-18/+21
Make this more clear by proper indent and slightly improved description. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11docs: authors: minor: fix spelling mistakeDaniel Borkmann1-1/+1
We are two, so its maintainers instead of maintainer. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11docs: authors: move Tobias one position higherDaniel Borkmann1-1/+1
Tobias Klauser, one of the two netsniff-ng maintainers, did a lot of excellent work since he joined our team. He has now reached a commit count that is currently equal to Markus' count, but since Tobias is more active, move him one position higher. Thanks for the good work Tobias! Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11curvetun_mgmt: consolidate the two mgmt include files into oneDaniel Borkmann4-5/+10
Consolidate the two mgmt include files into one. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11curvetun_client: include crypto instead of single nacl headerDaniel Borkmann1-1/+1
Use the common crypto header file as this is intended for that. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11curvetun: renamed client, server, and management filesDaniel Borkmann8-11/+11
Rename those files so that they are conform to the rest of the files we have in our repository. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11ifpps: Remove unnecessary memset()Tobias Klauser1-1/+0
stats_avg will be reset to 0 on the first call to stats_top() before displaying any results, thus this memset() is not necessary. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-10ifpps: Remove unecessary whitespaces in mvwprintw() callsTobias Klauser1-8/+8
Remove trailing whitespace where they're not necessary for the background to extend beyond the text. Replace whitespaces needed for tabbing by setting the appropriate format string field width modifiers. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-10ifpps: Reduce default number of top hitter CPUs to 5Tobias Klauser2-3/+3
Since we now also display the average (and in the future possibly also the standard deviation), reduce the default number of CPUs displayed to 5, to keep terminal space usage low. Suggested-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-10ifpps: Calculate and show average values across all CPUsTobias Klauser2-10/+65
Calculate the average for CPU usage, IRQs/t and absolute IRQs across all CPUs (also the ones which are not displayed) and show them below the respective per-CPU values. Mention this fact the man page accordingly. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-10dissector: print hex_ascii combination in unkown linktypesDaniel Borkmann1-5/+4
Commit f5c10ae4e3 ("dissector: do not panic on unknown hatype") let netsniff-ng not panic anymore on unkown ha types, but without explicitly starting netsniff-ng in hex or ascii printing mode, no dissection will happen. This patch fixes this situation so that at least ascii_hex() will be called in case the link type is not known to us. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-10README: Adjust mention of sponsorsTobias Klauser1-2/+3
The sponsors have been moved to AUTHORS from Sponsors in commit 9d310488 ("docs: move sponsor names into authors "), thus adjust the pointer to them in README accordingly. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-10configure: check for flex and bisonDaniel Borkmann1-0/+30
flex and bison are needed for bpfc and trafgen, so check for their existance. If they are not present, lets remove those two from the build in case users do not want it. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-09configure: fix multiple issues in build configurationDaniel Borkmann8-21/+86
This patch is a bundle of multiple fixes. 1) Fix compilation of astraceroute when HAVE_LIBPCAP=1: astraceroute doesn't need libpcap, so add an additional guard/define to bpf.h and bpf_comp.c and netsniff-ng.c. Also since we generate a config.h file, we do not need to have this additional compile flag anymore. 2) Fix tstamping.{h,c} to use the configure script instead of the Makefile. For doing this, also fix the object inclusion in netsniff-ng/Makefile. Last but not least, rename __WITH_... into HAVE_... as this is more clean. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-09all: show git id in --version informationDaniel Borkmann8-20/+34
In order to be able to better track regressions or to give support, let us track the Git id as well in version information. This makes the ``--version'' switch actually useful. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>