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-ayland@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