From owner-cvs-all Wed Aug 19 22:50:10 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA23855 for cvs-all-outgoing; Wed, 19 Aug 1998 22:50:10 -0700 (PDT) (envelope-from owner-cvs-all) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id WAA23805; Wed, 19 Aug 1998 22:50:04 -0700 (PDT) (envelope-from msmith@FreeBSD.org) From: Michael Smith Received: (from msmith@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id WAA28557; Wed, 19 Aug 1998 22:50:00 -0700 (PDT) Date: Wed, 19 Aug 1998 22:50:00 -0700 (PDT) Message-Id: <199808200550.WAA28557@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/i386/isa if_wl.c Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk msmith 1998/08/19 22:50:00 PDT Modified files: sys/i386/isa if_wl.c Log: A better fix for kern/7144: The check for dropping unicast packets not sent to our ethernet address is after the bpf tap, but not conditioned on it. All packets received should get handed to bpf, and unicast packets not to us (mac) should get dropped whether or not there is a bpf listener. I believe that the common optimization that the interface is in hw promisc mode iff there is a bpf listener is in general wrong, but more frequently so on wavelans. I think Max's fix makes bpf listeners not see unicast packets sent to others, but I'm not sure. One can argue that checking on MOD_ENAL is wrong, but the code only drops packets that shouldn't be received. The correctness condition is that it be run whenever unicast packets without our mac address can be received. PR: kern/7144 Submitted by: Greg Troxel Revision Changes Path 1.14 +28 -36 src/sys/i386/isa/if_wl.c