From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38917) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dikcC-0008Ek-VM for qemu-devel@nongnu.org; Fri, 18 Aug 2017 12:59:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dikc9-0005wq-UD for qemu-devel@nongnu.org; Fri, 18 Aug 2017 12:59:21 -0400 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:37073) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dikc9-0005wk-Oq for qemu-devel@nongnu.org; Fri, 18 Aug 2017 12:59:17 -0400 Received: by mail-qk0-x244.google.com with SMTP id x77so9235393qka.4 for ; Fri, 18 Aug 2017 09:59:17 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= References: <1503065708-28277-1-git-send-email-mark.cave-ayland@ilande.co.uk> <1503065708-28277-4-git-send-email-mark.cave-ayland@ilande.co.uk> From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= Message-ID: Date: Fri, 18 Aug 2017 13:59:14 -0300 MIME-Version: 1.0 In-Reply-To: <1503065708-28277-4-git-send-email-mark.cave-ayland@ilande.co.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH 3/4] pcnet: switch lnc_mchash() over to use net_crc32_le() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mark Cave-Ayland , qemu-devel@nongnu.org, jasowang@redhat.com On 08/18/2017 11:15 AM, Mark Cave-Ayland wrote: > Signed-off-by: Mark Cave-Ayland > --- > hw/net/pcnet.c | 16 +--------------- > 1 file changed, 1 insertion(+), 15 deletions(-) > > diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c > index 6544553..c050993 100644 > --- a/hw/net/pcnet.c > +++ b/hw/net/pcnet.c > @@ -522,23 +522,9 @@ static inline void pcnet_rmd_store(PCNetState *s, struct pcnet_RMD *rmd, > be16_to_cpu(hdr->ether_type)); \ > } while (0) > > -#define MULTICAST_FILTER_LEN 8 > - > static inline uint32_t lnc_mchash(const uint8_t *ether_addr) > { > -#define LNC_POLYNOMIAL 0xEDB88320UL > - uint32_t crc = 0xFFFFFFFF; > - int idx, bit; > - uint8_t data; > - > - for (idx = 0; idx < 6; idx++) { > - for (data = *ether_addr++, bit = 0; bit < MULTICAST_FILTER_LEN; bit++) { > - crc = (crc >> 1) ^ (((crc ^ data) & 1) ? LNC_POLYNOMIAL : 0); > - data >>= 1; > - } > - } > - return crc; > -#undef LNC_POLYNOMIAL > + return net_crc32_le(ether_addr, 6); using ETH_ALEN: Reviewed-by: Philippe Mathieu-Daudé > } > > #define CRC(crc, ch) (crc = (crc >> 8) ^ crctab[(crc ^ (ch)) & 0xff])