cvs commit: src/sys/netgraph/netflow netflow.c netflow.h ng_netflow.c ng_netflow.h

Gleb Smirnoff glebius at FreeBSD.org
Wed May 11 04:26:25 PDT 2005


glebius     2005-05-11 11:26:24 UTC

  FreeBSD src repository

  Modified files:
    sys/netgraph/netflow netflow.c netflow.h ng_netflow.c 
                         ng_netflow.h 
  Log:
  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.
  
  Revision  Changes    Path
  1.13      +293 -269  src/sys/netgraph/netflow/netflow.c
  1.3       +5 -0      src/sys/netgraph/netflow/netflow.h
  1.9       +10 -3     src/sys/netgraph/netflow/ng_netflow.c
  1.6       +32 -30    src/sys/netgraph/netflow/ng_netflow.h


More information about the cvs-src mailing list