On Mon, 24 Dec 2007, Robert Watson wrote:

I've put up an updated tarball based on some recent changes here:

 http://www.watson.org/~robert/freebsd/20071226-zcopybpf.tgz

Unfortunately, there was a problem with a change I made to the kernel check for a userspace notification that a buffer was available via shared memory, so I have updated the tarball. While there, I've made the following further changes:

- bpf.4 has been updated to reflect the shared memory interface.

- I've eliminated the BPF_ZEROCOPY environmental variable in libpcap; libpcap
  will try to use zero-copy BPF if it is compiled into the kernel and enabled.

- The kernel now has a net.bpf.zerocopy_enable sysctl, set to 1 by default,
  which controls whether the kernel will allow new zero-copy BPF sessions to
  be created.

- Memory barriers and atomic operations have been introduced on the shared
  memory interface to improve correctness on platforms with weaker memory
  consistency.

Robert N M Watson
Computer Laboratory
University of Cambridge


The main changes since this last drop are:

- BPF_ZERO_COPY environmental variable renamed to BPF_ZEROCOPY to match kernel
 option name.

- libpcap support for zero-copy BPF buffers reworked to avoid unconditional
 call to select() for each buffer when there's already a pending buffer
 available to use; in general, avoid system calls entirely when there's data
 already waiting, only use system calls when there isn't a completed buffer
 to work on next.

- Comments cleanup and some code cleanup.

- A README to provide a little more guidance on getting it working. :-)

You will need to "make clean ; make ; make install" in the modified libpcap against, as the size of pcap_t has changed. In principle "make ; make install" should DTRT, but it appears not to for me.

Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to