On 08/18/2017 01:59 PM, Philippe Mathieu-Daudé wrote:
On 08/18/2017 11:15 AM, Mark Cave-Ayland wrote:
Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
---
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);
with previous suggestion from patch 1/4:
return mac_crc32_le(ether_addr);
using ETH_ALEN:
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>
}
#define CRC(crc, ch) (crc = (crc >> 8) ^ crctab[(crc ^ (ch)) &
0xff])