aboutsummaryrefslogtreecommitdiff
path: root/sys/net/if_loop.c
diff options
context:
space:
mode:
authorGarrett Wollman <wollman@FreeBSD.org>1995-09-22 17:57:48 +0000
committerGarrett Wollman <wollman@FreeBSD.org>1995-09-22 17:57:48 +0000
commit963e4c2a50872e0f22859106be7585ff7a32b02f (patch)
tree5ad506a8546e1e713cc5fcbf8cf04de5537bc5ca /sys/net/if_loop.c
parentf001bbb882a65852ae9de00ef08194f06b1ea779 (diff)
Notes
Diffstat (limited to 'sys/net/if_loop.c')
-rw-r--r--sys/net/if_loop.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c
index 460ad2fa2ae7..5bf79ee06ae2 100644
--- a/sys/net/if_loop.c
+++ b/sys/net/if_loop.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)if_loop.c 8.1 (Berkeley) 6/10/93
- * $Id: if_loop.c,v 1.11 1995/08/30 00:33:18 bde Exp $
+ * $Id: if_loop.c,v 1.12 1995/09/09 18:10:22 davidg Exp $
*/
/*
@@ -126,6 +126,14 @@ looutput(ifp, m, dst, rt)
panic("looutput no HDR");
ifp->if_lastchange = time;
#if NBPFILTER > 0
+ /* BPF write needs to be handled specially */
+ if (dst->sa_family == AF_UNSPEC) {
+ dst->sa_family = *(mtod(m, int *));
+ m->m_len -= sizeof(int);
+ m->m_pkthdr.len -= sizeof(int);
+ m->m_data += sizeof(int);
+ }
+
if (ifp->if_bpf) {
/*
* We need to prepend the address family as