Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-8]: src/sys/dev/pci Pull up the following revision, requested by ...



details:   https://anonhg.NetBSD.org/src/rev/9f52caa37a63
branches:  netbsd-8
changeset: 455455:9f52caa37a63
user:      martin <martin%NetBSD.org@localhost>
date:      Thu Oct 17 18:36:44 2019 +0000

description:
Pull up the following revision, requested by msaitoh in ticket #1407:

        sys/dev/pci/if_et.c                             1.27 via patch

Fix a bug that multicast address filter doesn't work correctly.

diffstat:

 sys/dev/pci/if_et.c |  14 +++-----------
 1 files changed, 3 insertions(+), 11 deletions(-)

diffs (47 lines):

diff -r 360f991bc3c8 -r 9f52caa37a63 sys/dev/pci/if_et.c
--- a/sys/dev/pci/if_et.c       Thu Oct 17 18:27:36 2019 +0000
+++ b/sys/dev/pci/if_et.c       Thu Oct 17 18:36:44 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_et.c,v 1.14.8.3 2019/08/06 16:10:17 martin Exp $    */
+/*     $NetBSD: if_et.c,v 1.14.8.4 2019/10/17 18:36:44 martin Exp $    */
 /*     $OpenBSD: if_et.c,v 1.12 2008/07/11 09:29:02 kevlo $    */
 /*
  * Copyright (c) 2007 The DragonFly Project.  All rights reserved.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_et.c,v 1.14.8.3 2019/08/06 16:10:17 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_et.c,v 1.14.8.4 2019/10/17 18:36:44 martin Exp $");
 
 #include "opt_inet.h"
 #include "vlan.h"
@@ -1302,7 +1302,6 @@
        uint32_t rxmac_ctrl, pktfilt;
        struct ether_multi *enm;
        struct ether_multistep step;
-       uint8_t addr[ETHER_ADDR_LEN];
        int i, count;
 
        pktfilt = CSR_READ_4(sc, ET_PKTFILT);
@@ -1314,19 +1313,12 @@
                goto back;
        }
 
-       bcopy(etherbroadcastaddr, addr, ETHER_ADDR_LEN);
-
        count = 0;
        ETHER_FIRST_MULTI(step, ec, enm);
        while (enm != NULL) {
                uint32_t *hp, h;
 
-               for (i = 0; i < ETHER_ADDR_LEN; i++) {
-                       addr[i] &= enm->enm_addrlo[i];
-               }
-
-               h = ether_crc32_be(LLADDR((struct sockaddr_dl *)addr),
-                   ETHER_ADDR_LEN);
+               h = ether_crc32_be(enm->enm_addrlo, ETHER_ADDR_LEN);
                h = (h & 0x3f800000) >> 23;
 
                hp = &hash[0];



Home | Main Index | Thread Index | Old Index