Skip to content

javarange/libpeak

 
 

Repository files navigation

libpeak -- network-related library glue
=======================================

This library consists of several modules and generic base headers
designed around the daily needs of network packet-related userland
tools written in C.  Currently, the available modules are:

peak_li:	lightweight inspection (DPI)
peak_load:	PCAP/PCAPNG/ERF/NETMON file reader
peak_netmap:	simplified netmap(4) bindings
peak_tcp:	shallow TCP engine
peak_track:	rudimentary flow tracker
peak_udp:	shallow UDP engine

There's also a bunch of arch-independent base headers, which offer
simple memory pools, runtime allocation wrappers, network address
mapping, some hashes, output macros, spinlock/barrier wrappers,
and so forth.

A good introduction to the code would be its man pages.  The first of
them being peek(1).

Licensing and contributions
===========================

The library has been developed by Packetwerk and is released under the
ISC license (see COPYING for details).

Feel free to fork or contribute back.  To do so, use GitHub or send
your patches to us via email.  Contributions can also be made in the
form of supplying trace files or hard to come by documentation to help
maintain a reliable and free library.

For further info check us out at http://packetwerk.com

Basic directory layout
======================

bin/		project binaries
contrib/	third-party code
include/	base headers
lib/		specific modules
regress/	test framework
sample/		trace files
scripts/	auxiliary stuff
test/		test binaries

Building and running the code
=============================

The code builds fine on MacOS, OpenBSD, FreeBSD, DragonFly BSD and Linux
(Ubuntu with pmake installed).  You break it, you fix it.

Building the code:

    make

Running the tests:

    cd regress && make

Having fun:

    priceless ;)

About

network-related library glue for C projects in userland

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published