From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759220AbbFBOVG (ORCPT ); Tue, 2 Jun 2015 10:21:06 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:46272 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758792AbbFBOU6 (ORCPT ); Tue, 2 Jun 2015 10:20:58 -0400 Message-ID: <556DBBC5.5050009@roeck-us.net> Date: Tue, 02 Jun 2015 07:20:53 -0700 From: Guenter Roeck User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Vivien Didelot , netdev@vger.kernel.org CC: "David S. Miller" , Florian Fainelli , Andrew Lunn , Scott Feldman , Jiri Pirko , Jerome Oufella , linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com, Chris Healy Subject: Re: [RFC 6/9] net: dsa: mv88e6352: allow egress of unknown multicast References: <1433208470-25338-1-git-send-email-vivien.didelot@savoirfairelinux.com> <1433208470-25338-7-git-send-email-vivien.didelot@savoirfairelinux.com> In-Reply-To: <1433208470-25338-7-git-send-email-vivien.didelot@savoirfairelinux.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated_sender: linux@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: linux@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/01/2015 06:27 PM, Vivien Didelot wrote: > This patch disables egress of unknown unicast destination addresses. > Hi Vivien, seems to me this patch is unrelated to the rest of the series. Not sure if we really want this. If an address is in the arp cache but has timed out from the bridge database, any unicast to that address will no longer be sent. If the bridge database has been flushed for some reason, such as a spanning tree reconfiguration, we'll have a hard time to send anything. What is the problem you are trying to solve with this patch ? Thanks, Guenter > Signed-off-by: Vivien Didelot > --- > drivers/net/dsa/mv88e6xxx.c | 3 ++- > drivers/net/dsa/mv88e6xxx.h | 5 +++++ > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c > index 49ef2f8..d2beb10 100644 > --- a/drivers/net/dsa/mv88e6xxx.c > +++ b/drivers/net/dsa/mv88e6xxx.c > @@ -1686,7 +1686,8 @@ static int mv88e6xxx_setup_port(struct dsa_switch *ds, int port) > mv88e6xxx_6185_family(ds)) > reg = PORT_CONTROL_IGMP_MLD_SNOOP | > PORT_CONTROL_USE_TAG | PORT_CONTROL_USE_IP | > - PORT_CONTROL_STATE_FORWARDING; > + PORT_CONTROL_STATE_FORWARDING | > + PORT_CONTROL_EGRESS_FLOODS_NO_UNKNOWN_UNICAST_DA; > if (dsa_is_cpu_port(ds, port)) { > if (mv88e6xxx_6095_family(ds) || mv88e6xxx_6185_family(ds)) > reg |= PORT_CONTROL_DSA_TAG; > diff --git a/drivers/net/dsa/mv88e6xxx.h b/drivers/net/dsa/mv88e6xxx.h > index f4ea66a..412d14e 100644 > --- a/drivers/net/dsa/mv88e6xxx.h > +++ b/drivers/net/dsa/mv88e6xxx.h > @@ -117,6 +117,11 @@ > #define PORT_CONTROL_STATE_BLOCKING 0x01 > #define PORT_CONTROL_STATE_LEARNING 0x02 > #define PORT_CONTROL_STATE_FORWARDING 0x03 > +#define PORT_CONTROL_EGRESS_FLOODS_MASK (0x03 << 2) > +#define PORT_CONTROL_EGRESS_FLOODS_NO_UNKNOWN_ANY_DA (0x00 << 2) > +#define PORT_CONTROL_EGRESS_FLOODS_NO_UNKNOWN_MULTICAST_DA (0x01 << 2) > +#define PORT_CONTROL_EGRESS_FLOODS_NO_UNKNOWN_UNICAST_DA (0x02 << 2) > +#define PORT_CONTROL_EGRESS_FLOODS_ANY_DA (0x03 << 2) > #define PORT_CONTROL_1 0x05 > #define PORT_BASE_VLAN 0x06 > #define PORT_DEFAULT_VLAN 0x07 >