Let users optionally disable run of depmod with:

  make minstall DEPMOD=/bin/true

(From ncopa@github.)
Fix: Improvement over handling of pkg-config.
Distinguish older version of iptables by version number.

Distinguish isn't by presence or absence of pkgconfig (newer versions
are supposed to have it), but by version number (too).
This check is still inexact, though.
Remember ./configure arguments in Makefile.
Pack ipt_netflow_tuple to correct hash values.

sizeof(struct ipt_netflow_tuple) return 44 bytes but actually there is
41, thus hash accounts garbage bytes. Thanks to hotid@github for the
bug report (issues/8).
netflow_scan_and_export worker timing debug.
More debug of netflow_scan_and_export worker.

Output string of markers why scan export is terminated:

  s - hash table is empty (started but never entered the loop);
  T - trylock of hash based flow bucket is failed;
  E - all exported successfully (loop is exhausted);
  A - active flows ahead (because flow list is sorted by activity time).

Markers are recent to older from left to right in "Flows" line.
Rename some variables for clearance.
More aggressively export expired flows.

When scanning for export, instead of trylock&break do trylock&skip.
Remove one lock for exporting active flows.

Using lock-less lists (llist.h) instead of lock & bubbling
active_needs_export flows to the tail of ipt_netflow_list.
Fix llist.h detection for debian.
Fix locks and rearrange adding to ipt_netflow_list.
configure options for easy disabling conntrack.

  --disable-natevents  disables natevents support
  --disable-conntrack  disables conntrack & natevents altogether
Dump all flows via debugfs file.

Thanks to hotid@github for prototype implementation
(github issue #8).

To enable: ./configure --enable-debugfs
To view dump: cat /sys/kernel/debug/netflow_dump
Add more info to flow dump.
Rework of flow lists & locks to reduce lock contention.

Basically, ipt_netflow_list is replaced with hash of lists,
with own lock per each. Same locks (which double used now)
that protect main hash table (htable).
Thus global ipt_netflow_list_lock is completely avoided.
Implement SNMP-index conversion rules.

SNMP-index conversion rules similar to fproble-ulog, as suggested and
submitted in
  https://sourceforge.net/p/ipt-netflow/bugs-requests-patches/58/

Quoting man fprobe-ulog:

   Comma separated list of interface name to SNMP-index conversion
  rules.  Each rule consists of interface base name and SNMP-index
  base separated by colon (e.g. ppp:200). Final SNMP-index is  sum
  of corresponding SNMP-index base and interface number.
  In the above example SNMP-index of interface ppp11 is 211.

   If interface  name  did not fit to any of conversion rules then
  SNMP-index will be taken from kernel.

This implementation isn't optimized for performance (no rule caching
or hashing), but maybe it's fast anyway (tried to make it cpu cache
friendly). So fewer rules are better.

Rules are parsed in order from first to last until first match.

Thanks to Valentin V. Yankin (prototype implementation) and Alexander
Demenshin (for convincing me).
Wait-less netflow_scan_and_export.

Use spin_trylock instead of spin_lock, and skip busy stripes.
Attempt to decrease cpu load in netflow_scan_and_export.
Output cpu# of netflow_scan_and_export worker.
Fix hash independence issue.