head	1.1;
access;
symbols;
locks
	engler:1.1; strict;
comment	@# @;


1.1
date	96.08.04.01.06.58;	author engler;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@DPF version 2.0. 

	The current system is a rewrite of the dpf system described in
Engler & Kaashoek, SIGCOMM 96.  For simplicity, its language has been
pared to resemble that of pathfinder (bailey et al OSDI 95).  There is
no support for fragmentation.  If the language is too spare,  or you
need fragmentation (or the implementation is slow on some style of
usage you care about) please email engler@@lcs.mit.edu.

	[ At the moment filters are interpeted rather than compiled. ]

To build the system:
	make clean
	make depend
	make

The interface to construct a filter is in dpf.h; example uses are
in dpf-test.c and in xlate.c (xlate.c translates old dpf filters
to new ones).

To build a standalone system for testing filters, simply include
dpf.h in your application and link against dpf.lib.a.

Including DPF in a kernel is similar (note that it requires qsort, malloc
and free).

An example use of dpf to demux a message:
	if((filter_id = dpf_iptr(msg, nbytes)))
		/* matched */
		give message to connection filter_id for processing.
	else
		/* did not match */
		discard message.
@
