Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Jun 2004 01:02:27 +0000 (UTC)
From:      naddy@mips.inka.de (Christian Weisgerber)
To:        freebsd-current@freebsd.org
Subject:   Network driver jumbo patch (affects multicast)
Message-ID:  <c9ltb3$13cb$1@kemoauc.mips.inka.de>

next in thread | raw e-mail | index | archive | help
I have just committed two helper functions to our ethernet support
infrastructure:

uint32_t ether_crc32_le(const uint8_t *, size_t);
uint32_t ether_crc32_be(const uint8_t *, size_t);

Numerous drivers bring their own implementations of these functions
to calculate the standard ethernet CRC in little/big endian fashion,
usually used for setting up multicast hash filters.

This jumbo patch replaces the local implementations with calls
to the helper functions:
http://people.freebsd.org/~naddy/ether_crc32.patch

The changes are straightforward, almost mechanical, but typos may
have snuck in, so PLEASE TEST.  This touches a whopping 28 network
drivers:

aue, axe, bge, cue, dc, de, ed, fe, gem, hme, lge, lnc, my, nge,
pcn, re, rl, rue, sf, sis, sk, sn, ste, tx, udav, vr, wb, xl

Breakage would usually show up as multicast reception not working.
Apart from outright multicast applications this also affects some
routing protocols and all IPv6 users (since NDP uses multicast).
Don't report success if you don't understand what I'm talking about.

-- 
Christian "naddy" Weisgerber                          naddy@mips.inka.de



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c9ltb3$13cb$1>