Module Name:    src
Committed By:   ozaki-r
Date:           Tue Dec  6 08:21:47 UTC 2016

Modified Files:
        src/sys/dev/ic: lemac.c

Log Message:
Don't check if the frame is for us in the driver

It's done normally by ether_input now. And also if drop packets here,
bridge(4) doesn't work with the driver.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/ic/lemac.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ic/lemac.c
diff -u src/sys/dev/ic/lemac.c:1.45 src/sys/dev/ic/lemac.c:1.46
--- src/sys/dev/ic/lemac.c:1.45	Fri Jun 10 13:27:13 2016
+++ src/sys/dev/ic/lemac.c	Tue Dec  6 08:21:47 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: lemac.c,v 1.45 2016/06/10 13:27:13 ozaki-r Exp $ */
+/* $NetBSD: lemac.c,v 1.46 2016/12/06 08:21:47 ozaki-r Exp $ */
 
 /*-
  * Copyright (c) 1994, 1995, 1997 Matt Thomas <m...@3am-software.com>
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lemac.c,v 1.45 2016/06/10 13:27:13 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lemac.c,v 1.46 2016/12/06 08:21:47 ozaki-r Exp $");
 
 #include "opt_inet.h"
 
@@ -302,21 +302,11 @@ lemac_input(
 	if (length & 1)
 	    m->m_data[length - 1] = LEMAC_GET8(sc, offset + length - 1);
     }
-    if (sc->sc_if.if_bpf != NULL) {
-	m->m_pkthdr.len = m->m_len = length;
-	bpf_mtap(&sc->sc_if, m);
-    }
-    /*
-     * If this is single cast but not to us
-     * drop it!
-     */
-    if ((eh.ether_dhost[0] & 1) == 0
-	   && !LEMAC_ADDREQUAL(eh.ether_dhost, sc->sc_enaddr)) {
-	m_freem(m);
-	return;
-    }
+
     m->m_pkthdr.len = m->m_len = length;
     m_set_rcvif(m, &sc->sc_if);
+    bpf_mtap(&sc->sc_if, m);
+
     if_percpuq_enqueue((&sc->sc_if)->if_percpuq, m);
 }
 

Reply via email to