<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Apply by doing:
	cd /usr/src
	patch -p0 &lt; 003_bridge.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.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- sys/net/if_bridge.c	2000/04/10 13:34:54	1.29
+++ sys/net/if_bridge.c	2000/05/25 00:30:27	1.30
@@ -1,4 +1,4 @@
-/*	$OpenBSD: if_bridge.c,v 1.29 2000/04/10 13:34:54 jason Exp $	*/
+/*	$OpenBSD: if_bridge.c,v 1.30 2000/05/25 00:30:27 jason Exp $	*/
 
 /*
  * Copyright (c) 1999, 2000 Jason L. Wright (jason@thought.net)
@@ -1093,24 +1093,21 @@
 	/*
 	 * Unicast, make sure it's not for us.
 	 */
-	ifl = LIST_FIRST(&amp;sc-&gt;sc_iflist);
-	while (ifl != NULL) {
-		if (ifl-&gt;ifp-&gt;if_type == IFT_ETHER) {
-			ac = (struct arpcom *)ifl-&gt;ifp;
-			if (bcmp(ac-&gt;ac_enaddr, eh-&gt;ether_dhost,
-			    ETHER_ADDR_LEN) == 0) {
+	for (ifl = LIST_FIRST(&amp;sc-&gt;sc_iflist);ifl; ifl = LIST_NEXT(ifl,next)) {
+		if (ifl-&gt;ifp-&gt;if_type != IFT_ETHER)
+			continue;
+		ac = (struct arpcom *)ifl-&gt;ifp;
+		if (bcmp(ac-&gt;ac_enaddr, eh-&gt;ether_dhost, ETHER_ADDR_LEN) == 0) {
+			if (ifl-&gt;bif_flags &amp; IFBIF_LEARNING)
 				bridge_rtupdate(sc,
-				    (struct ether_addr *)&amp;eh-&gt;ether_dhost[0],
+				    (struct ether_addr *)&amp;eh-&gt;ether_dhost,
 				    ifp, 0, IFBAF_DYNAMIC);
-				return (m);
-			}
-			if (bcmp(ac-&gt;ac_enaddr, eh-&gt;ether_shost,
-			    ETHER_ADDR_LEN) == 0) {
-				m_freem(m);
-				return (NULL);
-			}
+			return (m);
 		}
-		ifl = LIST_NEXT(ifl, next);
+		if (bcmp(ac-&gt;ac_enaddr, eh-&gt;ether_shost, ETHER_ADDR_LEN) == 0) {
+			m_freem(m);
+			return (NULL);
+		}
 	}
 	M_PREPEND(m, sizeof(struct ether_header), M_DONTWAIT);
 	if (m == NULL)
@@ -1166,9 +1163,8 @@
 
 		if (SIMPLEQ_FIRST(&amp;p-&gt;bif_brlout) &amp;&amp;
 		    bridge_filterrule(SIMPLEQ_FIRST(&amp;p-&gt;bif_brlout), eh) ==
-		    BRL_ACTION_BLOCK) {
+		    BRL_ACTION_BLOCK)
 			continue;
-		}
 
 		/* If last one, reuse the passed-in mbuf */
 		if (LIST_NEXT(p, next) == NULL) {
</pre></body></html>