[Oisf-devel] [COMMIT] OISF branch, master, updated. suricata-2.0beta1-18-g1c06d52
noreply at openinfosecfoundation.org
noreply at openinfosecfoundation.org
Sun Jul 28 11:00:31 UTC 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "OISF".
The branch, master has been updated
via 1c06d5220822b8e336f526f30e0581529ea2128d (commit)
via 316190c6b9082cf8cc523ccc3bfa708210f6401f (commit)
from 04f3f145413833152290900d0cf07271835f7183 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1c06d5220822b8e336f526f30e0581529ea2128d
Author: Victor Julien <victor at inliniac.net>
Date: Sun Jul 28 12:59:52 2013 +0200
Misc fixes after make check feedback
commit 316190c6b9082cf8cc523ccc3bfa708210f6401f
Author: Ken Steele <ken at tilera.com>
Date: Fri Jul 26 13:22:19 2013 -0400
Add TILE-Gx mPIPE packet processing support.
The TILE-Gx processor includes a packet processing engine, called
mPIPE, that can deliver packets directly into user space memory. It
handles buffer allocation and load balancing (either static 5-tuple
hashing, or dynamic flow affinity hashing are used here). The new
packet source code is in source-mpipe.c and source-mpipe.h
A new Tile runmode is added that configures the Suricata pipelines in
worker mode, where each thread does the entire packet processing
pipeline. It scales across all the Gx chips sizes of 9, 16, 36 or 72
cores. The new runmode is in runmode-tile.c and runmode-tile.h
The configure script detects the TILE-Gx architecture and defines
HAVE_MPIPE, which is then used to conditionally enable the code to
support mPIPE packet processing. Suricata runs on TILE-Gx even without
mPIPE support enabled.
The Suricata Packet structures are allocated by the mPIPE hardware by
allocating the Suricata Packet structure immediatley before the mPIPE
packet buffer and then pushing the mPIPE packet buffer pointer onto
the mPIPE buffer stack. This way, mPIPE writes the packet data into
the buffer, returns the mPIPE packet buffer pointer, which is then
converted into a Suricata Packet pointer for processing inside
Suricata. When the Packet is freed, the buffer is returned to mPIPE's
buffer stack, by setting ReleasePacket to an mPIPE release specific
function.
The code checks for the largest Huge page available in Linux when
Suricata is started. TILE-Gx supports Huge pages sizes of 16MB, 64MB,
256MB, 1GB and 4GB. Suricata then divides one of those page into
packet buffers for mPIPE.
The code is not yet optimized for high performance. Performance
improvements will follow shortly.
The code was originally written by Tom Decanio and then further
modified by Tilera.
This code has been tested with Tilera's Multicore Developement
Environment (MDE) version 4.1.5. The TILEncore-Gx36 (PCIe card) and
TILEmpower-Gx (1U Rack mount).
-----------------------------------------------------------------------
Summary of changes:
src/Makefile.am | 2 +
src/decode.h | 12 +-
src/runmode-tile.c | 277 +++++++++
src/{util-spm-bs.h => runmode-tile.h} | 27 +-
src/runmodes.c | 8 +-
src/runmodes.h | 4 +-
src/source-mpipe.c | 1017 +++++++++++++++++++++++++++++++++
src/source-mpipe.h | 93 +++
src/suricata.c | 48 ++-
src/tm-threads-common.h | 6 +-
suricata.yaml.in | 24 +
11 files changed, 1502 insertions(+), 16 deletions(-)
create mode 100644 src/runmode-tile.c
copy src/{util-spm-bs.h => runmode-tile.h} (57%)
create mode 100644 src/source-mpipe.c
create mode 100644 src/source-mpipe.h
hooks/post-receive
--
OISF
More information about the Oisf-devel
mailing list