Message ID | 1433208470-25338-6-git-send-email-vivien.didelot@savoirfairelinux.com |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
On 06/01/2015 06:27 PM, Vivien Didelot wrote: > Disable the mirroring policy in the monitor control register, since this > feature is not needed. > > Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Should this be a separate patch, unrelated to the patch set ? If I understand correctly, this effectively disables IGMP/MLD snooping. I think this warrants an explanation why that it not needed, not just a statement that it is not needed. Thanks, Guenter -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jun 02, 2015 at 07:16:10AM -0700, Guenter Roeck wrote: > On 06/01/2015 06:27 PM, Vivien Didelot wrote: > >Disable the mirroring policy in the monitor control register, since this > >feature is not needed. > > > >Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> > > Should this be a separate patch, unrelated to the patch set ? > > If I understand correctly, this effectively disables IGMP/MLD snooping. > I think this warrants an explanation why that it not needed, not just > a statement that it is not needed. +1 Especially since we might want to revisit this to implement IGMP/MLD snooping in the bridge. The hardware should be capable of it. Andrew -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Guenter, Andrew, On Jun 2, 2015, at 10:53 AM, Andrew Lunn andrew@lunn.ch wrote: On Tue, Jun 02, 2015 at 07:16:10AM -0700, Guenter Roeck wrote: >> On 06/01/2015 06:27 PM, Vivien Didelot wrote: >> >Disable the mirroring policy in the monitor control register, since this >> >feature is not needed. >> > >> >Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> >> >> Should this be a separate patch, unrelated to the patch set ? Indeed, this one is an unrelated patch, sorry. >> If I understand correctly, this effectively disables IGMP/MLD snooping. >> I think this warrants an explanation why that it not needed, not just >> a statement that it is not needed. > > +1 > > Especially since we might want to revisit this to implement IGMP/MLD > snooping in the bridge. The hardware should be capable of it. This is something I want to disable because I can have several times gigabit traffic on my ports. This would end up in a bottleneck on the CPU port. Am I right? Thanks, -v -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jun 02, 2015 at 09:12:30PM -0400, Vivien Didelot wrote: > Hi Guenter, Andrew, > > On Jun 2, 2015, at 10:53 AM, Andrew Lunn andrew@lunn.ch wrote: > On Tue, Jun 02, 2015 at 07:16:10AM -0700, Guenter Roeck wrote: > >> On 06/01/2015 06:27 PM, Vivien Didelot wrote: > >> >Disable the mirroring policy in the monitor control register, since this > >> >feature is not needed. > >> > > >> >Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> > >> > >> Should this be a separate patch, unrelated to the patch set ? > > Indeed, this one is an unrelated patch, sorry. > > >> If I understand correctly, this effectively disables IGMP/MLD snooping. > >> I think this warrants an explanation why that it not needed, not just > >> a statement that it is not needed. > > > > +1 > > > > Especially since we might want to revisit this to implement IGMP/MLD > > snooping in the bridge. The hardware should be capable of it. > > This is something I want to disable because I can have several times > gigabit traffic on my ports. This would end up in a bottleneck on the > CPU port. Am I right? > Not really. That should not be that much traffic. Besides, IGMP/MLD snooping still needs to be enabled separately, as well as egress monitoring. I don't think this has any impact on the traffic to the CPU port unless other configuration bits are set as well. Guenter -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/dsa/mv88e6352.c b/drivers/net/dsa/mv88e6352.c index 838494a..f541362 100644 --- a/drivers/net/dsa/mv88e6352.c +++ b/drivers/net/dsa/mv88e6352.c @@ -63,13 +63,9 @@ static int mv88e6352_setup_global(struct dsa_switch *ds) REG_WRITE(REG_GLOBAL, GLOBAL_CONTROL, GLOBAL_CONTROL_PPU_ENABLE | GLOBAL_CONTROL_DISCARD_EXCESS); - /* Configure the upstream port, and configure the upstream - * port as the port to which ingress and egress monitor frames - * are to be sent. - */ - reg = upstream_port << GLOBAL_MONITOR_CONTROL_INGRESS_SHIFT | - upstream_port << GLOBAL_MONITOR_CONTROL_EGRESS_SHIFT | - upstream_port << GLOBAL_MONITOR_CONTROL_ARP_SHIFT; + /* Configure the upstream port, and disable policy mirroring. */ + reg = upstream_port << GLOBAL_MONITOR_CONTROL_ARP_SHIFT | + GLOBAL_MONITOR_CONTROL_MIRROR_DISABLED; REG_WRITE(REG_GLOBAL, GLOBAL_MONITOR_CONTROL, reg); /* Disable remote management for now, and set the switch's diff --git a/drivers/net/dsa/mv88e6xxx.h b/drivers/net/dsa/mv88e6xxx.h index 42032c3..f4ea66a 100644 --- a/drivers/net/dsa/mv88e6xxx.h +++ b/drivers/net/dsa/mv88e6xxx.h @@ -237,6 +237,7 @@ #define GLOBAL_MONITOR_CONTROL_ARP_SHIFT 4 #define GLOBAL_MONITOR_CONTROL_MIRROR_SHIFT 0 #define GLOBAL_MONITOR_CONTROL_ARP_DISABLED (0xf0) +#define GLOBAL_MONITOR_CONTROL_MIRROR_DISABLED 0x0f #define GLOBAL_CONTROL_2 0x1c #define GLOBAL_CONTROL_2_NO_CASCADE 0xe000 #define GLOBAL_CONTROL_2_MULTIPLE_CASCADE 0xf000
Disable the mirroring policy in the monitor control register, since this feature is not needed. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> --- drivers/net/dsa/mv88e6352.c | 10 +++------- drivers/net/dsa/mv88e6xxx.h | 1 + 2 files changed, 4 insertions(+), 7 deletions(-)