  	pktlen = m_length(m, NULL);
  
  	gottime = BPF_TSTAMP_NONE;
-@@ -1888,44 +1965,58 @@ bpf_mtap(struct bpf_if *bp, struct mbuf 
+@@ -1888,44 +1962,58 @@ bpf_mtap(struct bpf_if *bp, struct mbuf 
  		bf = bpf_jitter_enable != 0 ? d->bd_bfilter : NULL;
  		/* XXX We cannot handle multiple mbufs. */
  		if (bf != NULL && m->m_next == NULL)

Allow to choose between feedback and feed-forward clock for timestamping.

---
 net/bpf.c |  147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 net/bpf.h |   18 +++++++
 2 files changed, 160 insertions(+), 5 deletions(-)

Index: sys/net/bpf.c
===================================================================
--- sys.orig/net/bpf.c	2011-06-29 16:57:27.000000000 +1000
+++ sys/net/bpf.c	2011-06-29 17:11:27.000000000 +1000
@@ -1,19 +1,25 @@
 /*-
  * Copyright (C) 1990, 1991, 1993

 	    (((d)->bd_direction == BPF_D_IN && (r) != (i)) ||	\
 	    ((d)->bd_direction == BPF_D_OUT && (r) == (i)))
 
@@ -1861,20 +1932,23 @@ bpf_tap(struct bpf_if *bp, u_char *pkt, 
 void
 bpf_mtap(struct bpf_if *bp, struct mbuf *m)
 {
