Skip to content

Commit cd04b44

Browse files
hkallweitkuba-moo
authored andcommitted
r8169: remove multicast filter limit
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> Link: https://lore.kernel.org/r/57076c05-3730-40d1-ab9a-5334b263e41a@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 1bc9d12 commit cd04b44

File tree

1 file changed

+1
-6
lines changed

1 file changed

+1
-6
lines changed

drivers/net/ethernet/realtek/r8169_main.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,6 @@
5656
#define FIRMWARE_8125A_3 "rtl_nic/rtl8125a-3.fw"
5757
#define FIRMWARE_8125B_2 "rtl_nic/rtl8125b-2.fw"
5858

59-
/* Maximum number of multicast addresses to filter (vs. Rx-all-multicast).
60-
The RTL chips use a 64 element hash table based on the Ethernet CRC. */
61-
#define MC_FILTER_LIMIT 32
62-
6359
#define TX_DMA_BURST 7 /* Maximum PCI burst, '7' is unlimited */
6460
#define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */
6561

@@ -2597,8 +2593,7 @@ static void rtl_set_rx_mode(struct net_device *dev)
25972593
rx_mode |= AcceptAllPhys;
25982594
} else if (!(dev->flags & IFF_MULTICAST)) {
25992595
rx_mode &= ~AcceptMulticast;
2600-
} else if (netdev_mc_count(dev) > MC_FILTER_LIMIT ||
2601-
dev->flags & IFF_ALLMULTI ||
2596+
} else if (dev->flags & IFF_ALLMULTI ||
26022597
tp->mac_version == RTL_GIGA_MAC_VER_35) {
26032598
/* accept all multicasts */
26042599
} else if (netdev_mc_empty(dev)) {

0 commit comments

Comments
 (0)