HomeFreeBSD

Separate multicast filtering of SysKonnect GENESIS and Marvell
rS191716Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Separate multicast filtering of SysKonnect GENESIS and Marvell
Yukon from common multicast handling code. Yukon uses hash-based
multicast filtering(big endian form) but GENESIS uses perfect
multicast filtering as well as hash-based one(little endian form).
Due to the differences of multicast filtering there is no much
sense to have a common code.
o Remove sk_setmulti() and introduce sk_rxfilter_yukon(),

sk_rxfilter_yukon() that handles multicast filtering setup.

o Have sk_rxfilter_{yukon, genesis} handle promiscuous mode and

nuke sk_setpromisc(). This simplifies ioctl handler as well as
giving a chance to check validity of Rx control register of
Yukon.

o Don't reinitialize controller when IFF_ALLMULTI flags is changed.
o Nuke sk_gmchash(), it's not needed anymore.
o Always reconfigure Rx control register whenever a new multicast

filtering condition is changed. This fixes multicast filtering
setup on Yukon.

PR: kern/134051

Details

Provenance
yongariAuthored on
Parents
rS191715: Copy releng/7.2 to release/7.2.0 for FreeBSD 7.2-RELEASE.
Branches
Unknown
Tags
Unknown

Event Timeline