All of lore.kernel.org
 help / color / mirror / Atom feed
* [ANNOUNCE] nf-hipac v0.8 released
@ 2003-06-25 20:48 Michael Bellion and Thomas Heinz
  2003-06-25 21:03 ` Folkert van Heusden
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Michael Bellion and Thomas Heinz @ 2003-06-25 20:48 UTC (permalink / raw)
  To: linux-kernel, netdev

Hi

We have released a new version of nf-hipac. We rewrote most of the code
and added a bunch of new features. The main enhancements are
user-defined chains, generic support for iptables targets and matches
and 64 bit atomic counters.


For all of you who don't know nf-hipac yet, here is a short overview:

nf-hipac is a drop-in replacement for the iptables packet filtering module.
It implements a novel framework for packet classification which uses an
advanced algorithm to reduce the number of memory lookups per packet.
The module is ideal for environments where large rulesets and/or high
bandwidth networks are involved. Its userspace tool, which is also called 
'nf-hipac', is designed to be as compatible as possible to 'iptables -t 
filter'.

The official project web page is:    http://www.hipac.org
The releases can be downloaded from: http://sourceforge.net/projects/nf-hipac

Features:
     - optimized for high performance packet classification with moderate
       memory usage
     - completely dynamic: data structure isn't rebuild from scratch when
       inserting or deleting rules, so fast updates are possible
     - very short locking times during rule updates: packet matching is
       not blocked
     - support for 64 bit architectures
     - optimized kernel-user protocol (netlink): improved rule listing
       speed
     - libnfhipac: netlink library for kernel-user communication
     - native match support for:
         + source/destination ip
         + in/out interface
         + protocol (udp, tcp, icmp)
         + fragments
         + source/destination ports (udp, tcp)
         + tcp flags
         + icmp type
         + connection state
         + ttl
     - match negation (!)
     - iptables compatibility: syntax and semantics of the userspace tool
       are very similar to iptables
     - coexistence of nf-hipac and iptables: both facilities can be used
       at the same time
     - generic support for iptables targets and matches (binary
       compatibility)
     - integration into the netfilter connection tracking facility
     - user-defined chains support
     - 64 bit atomic counters
     - kernel module autoloading
     - /proc/net/nf-hipac/info:
           + dynamically limit the maximum memory usage
           + change invokation order of nf-hipac and iptables
     - extended statistics via /proc/net/nf-hipac/statistics/*


We are currently working on extending the hipac algorithm to do classification 
with several stages. The hipac algorithm will then be capable of combining 
several classification problems in one data structure, e.g. it will be 
possible to solve routing and firewalling with one hipac lookup. The idea is 
to shorten the packet forwarding path by combining fib_lookup and iptables 
filter lookup into one hipac query. To further improve the performance in 
this scenario the upcoming flow cache could be used to cache recent hipac 
results.



Enjoy,

+-----------------------+----------------------+
|   Michael Bellion     |     Thomas Heinz     |
| <mbellion@hipac.org>  |  <creatix@hipac.org> |
+-----------------------+----------------------+


^ permalink raw reply	[flat|nested] 18+ messages in thread
* [ANNOUNCE] nf-hipac v0.8 released
@ 2003-06-25 20:12 Michael Bellion and Thomas Heinz
  0 siblings, 0 replies; 18+ messages in thread
From: Michael Bellion and Thomas Heinz @ 2003-06-25 20:12 UTC (permalink / raw)
  To: netfilter, netfilter-devel

Hi

We have just released a new version of nf-hipac. You might wonder why
this lasted so long. Well, we did a major rewrite of most of the code,
added a bunch of new features and did heavy userspace testing of the
algorithmic core. 


For all of you who don't know nf-hipac yet, here is a short overview:

nf-hipac is a drop-in replacement for the iptables packet filtering module.
It implements a novel framework for packet classification which uses an
advanced algorithm to reduce the number of memory lookups per packet.
The module is ideal for environments where large rulesets and/or high
bandwidth networks are involved. Its userspace tool, which is also called 
'nf-hipac', is designed to be as compatible as possible to 'iptables -t 
filter'.

The official project web page is:    http://www.hipac.org
The releases can be downloaded from: http://sourceforge.net/projects/nf-hipac


Here is a short overview of the new features:

  - generic support for iptables targets and matches:
       nf-hipac is now binary compatible to iptables targets and
       matches.

  - support for user defined chains:
       This was a real challenge.

  - 64 bit atomic counters:
       We avoided cache ping-pong on SMP machines.

  - nf-hipac connection tracking helper:
       This is basically a dummy module which avoids that you
       manually load ip_conntrack.

  - extended proc statistics

  - libnfhipac:
       We've implemented a very lightweight userspace library which
       does the netlink communication for you, so writing an alternative
       userspace tool for nf-hipac is simplified. [you still have to
       construct the rule which is sent to the kernel]

  - new netlink based protocol:
       Apart from that it was necessary to redesign the protocol
       to support the new features we have improved the listing speed
       by putting as many rules/chains in a packet as possible.

 - non-terminal rule support:
       The nf-hipac rule target is optional.

Basically, nf-hipac now offers the same functionality as iptables -t filter
apart from the RETURN target which is missing and some minor
user-defined chain related issues.

Unfortunately we discovered an alignment bug in the btree layer
(the only part we haven't rewritten) which breaks architectures
requiring strict alignment for pointers (like alpha).
Sparc64 again seems to work fine.


Enjoy,

+-----------------------+----------------------+
|   Michael Bellion     |     Thomas Heinz     |
| <mbellion@hipac.org>  |  <creatix@hipac.org> |
+-----------------------+----------------------+



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2003-07-02 16:43 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-25 20:48 [ANNOUNCE] nf-hipac v0.8 released Michael Bellion and Thomas Heinz
2003-06-25 21:03 ` Folkert van Heusden
2003-06-25 23:52   ` Thomas Heinz
2003-06-26 13:38 ` Daniel Egger
2003-06-26 14:20   ` Michael Bellion and Thomas Heinz
2003-06-26 14:45     ` Daniel Egger
2003-06-27  6:06 ` Pekka Savola
2003-06-28 20:04   ` Michael Bellion and Thomas Heinz
2003-06-29  6:26     ` Pekka Savola
2003-06-29  7:45       ` Roberto Nibali
2003-06-29 16:26       ` Michael Bellion and Thomas Heinz
2003-07-02  5:30         ` Pekka Savola
2003-07-02 12:26           ` Michael Bellion and Thomas Heinz
2003-07-02 13:08             ` P
2003-07-02 13:48               ` Michael Bellion and Thomas Heinz
2003-07-02 14:23                 ` P
2003-07-02 16:57                   ` Michael Bellion and Thomas Heinz
  -- strict thread matches above, loose matches on Subject: below --
2003-06-25 20:12 Michael Bellion and Thomas Heinz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.