From patchwork Sat Dec 15 00:58:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1013787 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=denx.de Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43Gpv70BK1z9s3Z for ; Sat, 15 Dec 2018 11:58:27 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729200AbeLOA6Y (ORCPT ); Fri, 14 Dec 2018 19:58:24 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:41722 "EHLO mail-out.m-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727778AbeLOA6W (ORCPT ); Fri, 14 Dec 2018 19:58:22 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 43Gptz3Dp0z1qx8t; Sat, 15 Dec 2018 01:58:19 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 43Gptz34XJz1qqkK; Sat, 15 Dec 2018 01:58:19 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id JBVoVMLJeeEg; Sat, 15 Dec 2018 01:58:18 +0100 (CET) X-Auth-Info: caUCHaqc7G2IflDwZpo5KtFpkHtXt77ISTxrvutstQU= Received: from kurokawa.lan (ip-86-49-110-70.net.upcbroadband.cz [86.49.110.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Sat, 15 Dec 2018 01:58:18 +0100 (CET) From: Marek Vasut To: netdev@vger.kernel.org Cc: f.fainelli@gmail.com, andrew@lunn.ch, Marek Vasut , Tristram Ha , Vivien Didelot , Woojung Huh , "David S . Miller" Subject: [PATCH V3 3/3] net: dsa: ksz: Add STP multicast handling Date: Sat, 15 Dec 2018 01:58:06 +0100 Message-Id: <20181215005806.3856-4-marex@denx.de> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181215005806.3856-1-marex@denx.de> References: <20181215005806.3856-1-marex@denx.de> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In case the destination address is link local, add override bit into the switch tag to let such a packet through the switch even if the port is blocked. Signed-off-by: Marek Vasut Cc: Tristram Ha Cc: Vivien Didelot Cc: Woojung Huh Cc: David S. Miller Reviewed-by: Andrew Lunn Reviewed-by: Florian Fainelli --- V2: New patch V3: - Replace down with blocked in commit message - Add R-B --- net/dsa/tag_ksz.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/dsa/tag_ksz.c b/net/dsa/tag_ksz.c index c98b53f691bd..da71b9e2af52 100644 --- a/net/dsa/tag_ksz.c +++ b/net/dsa/tag_ksz.c @@ -110,6 +110,10 @@ static struct sk_buff *ksz9477_xmit(struct sk_buff *skb, addr = skb_mac_header(nskb); *tag = BIT(dp->index); + + if (is_link_local_ether_addr(addr)) + *tag |= KSZ9477_TAIL_TAG_OVERRIDE; + *tag = cpu_to_be16(*tag); return nskb;