Date: Mon, 20 Jul 2020 06:10:03 +0000 (UTC) From: Alex Dupre <ale@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r542611 - head/net/realtek-re-kmod/files Message-ID: <202007200610.06K6A3LM006426@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ale Date: Mon Jul 20 06:10:03 2020 New Revision: 542611 URL: https://svnweb.freebsd.org/changeset/ports/542611 Log: Try to fix build on -CURRENT. Modified: head/net/realtek-re-kmod/files/patch-if__re.c Modified: head/net/realtek-re-kmod/files/patch-if__re.c ============================================================================== --- head/net/realtek-re-kmod/files/patch-if__re.c Mon Jul 20 05:48:15 2020 (r542610) +++ head/net/realtek-re-kmod/files/patch-if__re.c Mon Jul 20 06:10:03 2020 (r542611) @@ -115,18 +115,54 @@ } switch(sc->re_type) { -@@ -8640,7 +8644,9 @@ struct re_softc *sc; +@@ -8614,6 +8618,22 @@ struct re_softc *sc; + return; + } + ++#if OS_VER >= VERSION(13,0) ++static u_int ++re_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt) ++{ ++ uint32_t h, *hashes = arg; ++ ++ h = ether_crc32_be(LLADDR(sdl), ETHER_ADDR_LEN) >> 26; ++ if (h < 32) ++ hashes[0] |= (1 << h); ++ else ++ hashes[1] |= (1 << (h - 32)); ++ ++ return (1); ++} ++#endif ++ + /* + * Program the 64-bit multicast hash filter. + */ +@@ -8623,7 +8643,9 @@ struct re_softc *sc; + struct ifnet *ifp; + int h = 0; + u_int32_t hashes[2] = { 0, 0 }; ++#if OS_VER <= VERSION(13,0) + struct ifmultiaddr *ifma; ++#endif + u_int32_t rxfilt; + int mcnt = 0; + +@@ -8640,7 +8662,12 @@ struct re_softc *sc; } /* now program new ones */ -#if OS_VER > VERSION(6,0) ++#if OS_VER >= VERSION(13,0) ++ if_foreach_llmaddr(ifp, re_hash_maddr, hashes); ++#else +#if OS_VER >= VERSION(12,0) + if_maddr_rlock(ifp); +#elif OS_VER > VERSION(6,0) IF_ADDR_LOCK(ifp); #endif #if OS_VER < VERSION(4,9) -@@ -8662,7 +8668,9 @@ struct re_softc *sc; +@@ -8662,8 +8689,11 @@ struct re_softc *sc; hashes[1] |= (1 << (h - 32)); mcnt++; } @@ -135,5 +171,7 @@ + if_maddr_runlock(ifp); +#elif OS_VER > VERSION(6,0) IF_ADDR_UNLOCK(ifp); ++#endif #endif + if (mcnt) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202007200610.06K6A3LM006426>