Messages in this thread | | | From | Patrick Thompson <> | Date | Mon, 30 Oct 2023 12:52:24 -0400 | Subject | Re: [PATCH v2] net: r8169: Disable multicast filter for RTL_GIGA_MAC_VER_46 |
| |
I wouldn't trust the mc filter, the eap packet being filtered is not a multicast packet so I wonder what else could be erroneously filtered. I do agree that it would be nice to be able to override it for testing purposes.
Would you like me to add MAC_VER_48 to the patch? I would not be able to test and confirm that it affects it in the same way I have for VER_46.
It is unfortunate that the naming doesn't quite line up.
On Sat, Oct 28, 2023 at 4:38 AM Heiner Kallweit <hkallweit1@gmail.com> wrote: > > On 27.10.2023 23:30, Patrick Thompson wrote: > > MAC_VER_46 ethernet adapters fail to detect eapol packets unless > > allmulti is enabled. Add exception for VER_46 in the same way VER_35 > > has an exception. > > > MAC_VER_48 (RTL8107E) has the same MAC, just a different PHY. > So I would expect that the same quirk is needed for MAC_VER_48. > > MAC_VER_xx is a little misleading, actually it should be NIC_VER_xx > > > Fixes: 6e1d0b898818 ("r8169:add support for RTL8168H and RTL8107E") > > Signed-off-by: Patrick Thompson <ptf@google.com> > > --- > > > > Changes in v2: > > - add Fixes tag > > - add net annotation > > - update description > > > > 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 361b90007148b..a775090650e3a 100644 > > --- a/drivers/net/ethernet/realtek/r8169_main.c > > +++ b/drivers/net/ethernet/realtek/r8169_main.c > > @@ -2584,7 +2584,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; >
| |