]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
A new version of NetFlow node.
authorglebius <glebius@FreeBSD.org>
Wed, 11 May 2005 11:26:24 +0000 (11:26 +0000)
committerglebius <glebius@FreeBSD.org>
Wed, 11 May 2005 11:26:24 +0000 (11:26 +0000)
commit8455545285d4f5cb42b42bade7aceafc22d1cd59
treea20a65ec59042108874f8178d54da871a4d1f80b
parent6413eea55ab7218f882f99d922684166d739e1f4
A new version of NetFlow node.

The most significant changes are:
- Use UMA zone instead of own chunk of memory.
- Lock each hash entry separately.
- Expire items "actively" - interrupt method can expire flows
  from hash slot, when it searches through it.
- Remove global tailqueue. Make callout thread search through
  every hash slot.
- Export datagram is detached from private data and filled. If
  it is incomplete, it is attached back. Another thread will
  continue working with it.

Lesser, but also important speedups:
- Flows in hash slot are stored in tailqueue. Whenever a flow is
  hit, it is moved to the begging, so it can be located quicker.
- When callout thread works with hash slot it bails out if
  slot mutex is contested.
sys/netgraph/netflow/netflow.c
sys/netgraph/netflow/netflow.h
sys/netgraph/netflow/ng_netflow.c
sys/netgraph/netflow/ng_netflow.h