Apply by doing: cd /usr/src patch -p0 < 002_pfbridge.patch And then rebuild your kernel. Index: sys/net/if_bridge.c =================================================================== RCS file: /cvs/src/sys/net/if_bridge.c,v retrieving revision 1.102 retrieving revision 1.102.2.1 diff -u -r1.102 -r1.102.2.1 --- sys/net/if_bridge.c 7 Aug 2002 18:44:39 -0000 1.102 +++ sys/net/if_bridge.c 4 Nov 2002 14:33:50 -0000 1.102.2.1 @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bridge.c,v 1.102 2002/08/07 18:44:39 jason Exp $ */ +/* $OpenBSD: if_bridge.c,v 1.102.2.1 2002/11/04 14:33:50 jason Exp $ */ /* * Copyright (c) 1999, 2000 Jason L. Wright (jason@thought.net) @@ -2470,7 +2470,7 @@ struct mbuf *m; { struct llc llc; - struct mbuf *m0 = m; + struct mbuf *m0; int s, len, error = 0; int hassnap = 0; #ifdef INET @@ -2507,6 +2507,9 @@ if (hassnap) m_adj(m, LLC_SNAPFRAMELEN); + if (m->m_len < sizeof(struct ip) && + (m = m_pullup(m, sizeof(struct ip))) == NULL) + goto dropit; ip = mtod(m, struct ip *); NTOHS(ip->ip_len); NTOHS(ip->ip_off); @@ -2522,7 +2525,7 @@ if (error == EMSGSIZE) goto dropit; - for (m = m0; m; m = m0) { + for (; m; m = m0) { m0 = m->m_nextpkt; m->m_nextpkt = 0; if (error == 0) { Index: sys/netinet/ip_output.c =================================================================== RCS file: /cvs/src/sys/netinet/ip_output.c,v retrieving revision 1.149 retrieving revision 1.149.2.1 diff -u -r1.149 -r1.149.2.1 --- sys/netinet/ip_output.c 24 Jun 2002 23:57:28 -0000 1.149 +++ sys/netinet/ip_output.c 4 Nov 2002 14:33:50 -0000 1.149.2.1 @@ -1,4 +1,4 @@ -/* $OpenBSD: ip_output.c,v 1.149 2002/06/24 23:57:28 itojun Exp $ */ +/* $OpenBSD: ip_output.c,v 1.149.2.1 2002/11/04 14:33:50 jason Exp $ */ /* $NetBSD: ip_output.c,v 1.28 1996/02/13 23:43:07 christos Exp $ */ /* @@ -734,7 +734,7 @@ if (error == EMSGSIZE) goto bad; - for (m = m0; m; m = m0) { + for (; m; m = m0) { m0 = m->m_nextpkt; m->m_nextpkt = 0; if (error == 0)