Re: [PATCH] r8169: Disable multicast filter for RTL_GIGA_MAC_VER_46

From: Patrick Thompson
Date: Tue Jun 06 2023 - 10:15:30 EST


For added context I came across this issue on this realtek adapter:
10ec:8168:103c:8267. The device erroneously filters multicast packets
that I can see with other adapters using the same netdev settings.


On Tue, Jun 6, 2023 at 10:00 AM Patrick Thompson <ptf@xxxxxxxxxx> wrote:
>
> MAC_VER_46 ethernet adapters fail to detect IPv6 multicast packets
> unless allmulti is enabled. Add exception for VER_46 in the same way
> VER_35 has an exception.
>
> Signed-off-by: Patrick Thompson <ptf@xxxxxxxxxx>
> ---
>
> drivers/net/ethernet/realtek/r8169_main.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index 4b19803a7dd01..96245e96ee507 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -2583,7 +2583,8 @@ static void rtl_set_rx_mode(struct net_device *dev)
> rx_mode |= AcceptAllPhys;
> } else if (netdev_mc_count(dev) > MC_FILTER_LIMIT ||
> dev->flags & IFF_ALLMULTI ||
> - tp->mac_version == RTL_GIGA_MAC_VER_35) {
> + tp->mac_version == RTL_GIGA_MAC_VER_35 ||
> + tp->mac_version == RTL_GIGA_MAC_VER_46) {
> /* accept all multicasts */
> } else if (netdev_mc_empty(dev)) {
> rx_mode &= ~AcceptMulticast;
> --
> 2.41.0.rc0.172.g3f132b7071-goog
>