Re: when the MTU interface is modified, the promiscuous mode isreset in gianfar driver

From: David Miller
Date: Mon Sep 03 2012 - 15:54:20 EST


From: chikazawa.akifu@xxxxxxxxxxxxxx (近沢 哲史)
Date: Mon, 27 Aug 2012 17:38:34 +0900

> I am using the gianfar ethernet driver. I am having a problem with the
> interface settings.
> Under promiscuous mode, when the MTU interface is modified, the promiscuous
> mode setting is turned off in gianfar driver when it should not be.
> The details are as follows:
> After changing MTU with ifconfig, I could see that the interface flag of
> eth0 is still PROMISC.
> However, when I checked value of RCTL register with ethtool, PROM bit of
> RTCL register is cleared.
> It seems to be cause that is the gfar_init_mac() function, it doesn't set
> the PROM bit after the interface MTU is changed.
> This problem was detected on linux-2.6.32.2, but it seems to same on
> linux-3.6.0-rc3.
> Is this behavior on purpose?
>
> I also attach the amended file,I think it would be so.
>
> Signed-off-by: Akifumi Chikazawa <chikazawa.akifu@xxxxxxxxxxxxxx>

It seems like we also lose all of the multicast configurations as
well.

Therefore, the thing to do is to simply call gfar_set_multi() at the
appropriate location. That will take care of both the promiscuous
bit, as well as the multicast addresses.

You can then remove some of the code in gfar_init_mac() that does
things like gfar_clear_exact_match(), because gfar_set_multi() will
take care of that if necessary.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/