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


Reply via email to