Whilst trying to debug a CRC32 endian issue for NIC multicast hash lookups, it struck me that it would make sense to have a common set of standard ethernet CRC32 functions (both little and big endian variants) in net.c.
The first two patches introduce the relevant functions while the last 3 patches switch the pcnet, eepro100 and sunhme drivers over to use them, allowing us to remove their private implementations. Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> v2: - Add sumhme net_crc32_le() conversion Mark Cave-Ayland (5): net: move CRC32 calculation from compute_mcast_idx() into its own net_crc32() function net: introduce net_crc32_le() function pcnet: switch lnc_mchash() over to use net_crc32_le() eepro100: switch e100_compute_mcast_idx() over to use net_crc32() sunhme: switch sunhme_receive() over to use net_crc32_le() hw/net/eepro100.c | 19 +------------------ hw/net/pcnet.c | 16 +--------------- hw/net/sunhme.c | 25 +------------------------ include/net/net.h | 5 ++++- net/net.c | 38 +++++++++++++++++++++++++++++++++----- 5 files changed, 40 insertions(+), 63 deletions(-) -- 2.11.0