From: Yuval Mintz <yuval.mi...@qlogic.com> Date: Wed, 24 Aug 2016 13:27:19 +0300
> When ndo_set_rx_mode() is called for bnx2x, as part of process of > configuring the new MAC address filters [both unicast & multicast] > driver begins by flushing the existing configuration and then iterating > over the network device's list of addresses and configures those instead. > > This has the side-effect of creating a short gap where traffic wouldn't > be properly classified, as no filters are configured in HW. > While for unicasts this is rather insignificant [as unicast MACs don't > frequently change while interface is actually running], > for multicast traffic it does pose an issue as there are multicast-based > networks where new multicast groups would constantly be removed and > added. > > This patch tries to remedy this [at least for the newer adapters] - > Instead of flushing & reconfiguring all existing multicast filters, > the driver would instead create the approximate hash match that would > result from the required filters. It would then compare it against the > currently configured approximate hash match, and only add and remove the > delta between those. > > Signed-off-by: Yuval Mintz <yuval.mi...@qlogic.com> Applied.