Message ID | 57076c05-3730-40d1-ab9a-5334b263e41a@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | cd04b44bf055c4cd6bcee2ebfa6932fb20ef369d |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] r8169: remove multicast filter limit | expand |
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Mon, 27 Nov 2023 21:16:10 +0100 you wrote: > Once upon a time, when r8169 was new, the multicast filter limit code > was copied from RTL8139 driver. There the filter limit is even > user-configurable. > The filtering is hash-based and we don't have perfect filtering. > Actually the mc filtering on RTL8125 still seems to be the same > as used on 8390/NE2000. So it's not clear to me which benefit it > should bring when switching to all-multi mode once a certain number > of filter bits is set. More the opposite: Filtering out at least > some unwanted mc traffic is better than no filtering. > Also the available chip documentation doesn't mention any restriction. > Therefore remove the filter limit. > > [...] Here is the summary with links: - [net-next] r8169: remove multicast filter limit https://git.kernel.org/netdev/net-next/c/cd04b44bf055 You are awesome, thank you!
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index dbc5c9d35..0aed99a20 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -56,10 +56,6 @@ #define FIRMWARE_8125A_3 "rtl_nic/rtl8125a-3.fw" #define FIRMWARE_8125B_2 "rtl_nic/rtl8125b-2.fw" -/* Maximum number of multicast addresses to filter (vs. Rx-all-multicast). - The RTL chips use a 64 element hash table based on the Ethernet CRC. */ -#define MC_FILTER_LIMIT 32 - #define TX_DMA_BURST 7 /* Maximum PCI burst, '7' is unlimited */ #define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */ @@ -2597,8 +2593,7 @@ static void rtl_set_rx_mode(struct net_device *dev) rx_mode |= AcceptAllPhys; } else if (!(dev->flags & IFF_MULTICAST)) { rx_mode &= ~AcceptMulticast; - } else if (netdev_mc_count(dev) > MC_FILTER_LIMIT || - dev->flags & IFF_ALLMULTI || + } else if (dev->flags & IFF_ALLMULTI || tp->mac_version == RTL_GIGA_MAC_VER_35) { /* accept all multicasts */ } else if (netdev_mc_empty(dev)) {
Once upon a time, when r8169 was new, the multicast filter limit code was copied from RTL8139 driver. There the filter limit is even user-configurable. The filtering is hash-based and we don't have perfect filtering. Actually the mc filtering on RTL8125 still seems to be the same as used on 8390/NE2000. So it's not clear to me which benefit it should bring when switching to all-multi mode once a certain number of filter bits is set. More the opposite: Filtering out at least some unwanted mc traffic is better than no filtering. Also the available chip documentation doesn't mention any restriction. Therefore remove the filter limit. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- drivers/net/ethernet/realtek/r8169_main.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)