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)
