
SUPPORTED SYSTEMS:

	Program should compile and run on probably all POSIX-compliant system
	with BPF devices or supported by PCAP library (libpcap). Posix threads
	are also required, but there is no strict requirements on their
	POSIX-compliance (works fine with Linux ones).

	Tested on:
		FreeBSD 3.x/4.x
		OpenBSD 2.8
		Linux 2.2

	NOTES:
	    1. 
		The "input-only" interface feature seems to be supported only
		with BPF on FreeBSD 4.x.
	    2.
		FreeBSD 4.5-RELEASE (+?) have stupid problems with poll(),
		which behaves erratically with BPF file descriptors.
		I've submitted the problem report, kern/36219:
			http://www.freebsd.org/cgi/query-pr.cgi?pr=36219
		So, your newer system already has this or similar fix.

		If not, use the following kernel patch (as suggested
		in kern/36219):


=== Kernel patch for FreeBSD 4.5-RELEASE ===
--- /sys/net/bpf.c.old   Fri Mar 22 13:48:18 2002
+++ /sys/net/bpf.c       Fri Mar 22 13:48:42 2002
@@ -1085,7 +1085,7 @@
        if (d->bd_bif == NULL)
                return (ENXIO);
 
-       revents = events & (POLLIN | POLLWRNORM);
+       revents = events & (POLLOUT | POLLWRNORM);
        s = splimp();
        if (events & (POLLIN | POLLRDNORM)) {
                /*
@@ -1094,11 +1094,12 @@
                 *      if (d->b_slen != 0 ||
                 *          (d->bd_hbuf != NULL && d->bd_hlen != 0)
                 */
-               if (d->bd_hlen != 0 ||
-                   ((d->bd_immediate || d->bd_state == BPF_TIMED_OUT) &&
-                   d->bd_slen != 0))
+               if (d->bd_hlen != 0
+                       || (d->bd_immediate && d->bd_slen != 0)
+                       || d->bd_state == BPF_TIMED_OUT
+               ) {
                        revents |= events & (POLLIN | POLLRDNORM);
-               else {
+               } else {
                        selrecord(p, &d->bd_sel);
                        /* Start the read timeout if necessary. */
                        if (d->bd_rtout > 0 && d->bd_state == BPF_IDLE) {
=== EOF ===

INSTALLATION:

	make && make install

CONFIGURATION:

	vi /usr/local/etc/ipcad.conf

HOW DO I ...?

	echo "<YOUR_QUESTION>" | mail -s Question vlm@spelio.net.ru
	sleep 86400
	mail


-- 
Lev Walkin, LMW28
vlm@spelio.net.ru
www.spelio.net.ru
