Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp1640923imm; Sun, 27 May 2018 12:02:19 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqDwsj5B/0G+oYWtUiCHo5GMOq5v2lT3UXINAckSeYHNx1eJUt2sgY/A+quf/XANNPp3itE X-Received: by 2002:a65:6250:: with SMTP id q16-v6mr8401510pgv.113.1527447739629; Sun, 27 May 2018 12:02:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527447739; cv=none; d=google.com; s=arc-20160816; b=ORQ2MkS0FWaSB1JTYGockda9XIQ2EPghxxqlzA2eVcll+eveVuZUpgGVBjDFw0i9X2 3L6x4Q24nRUyQHAJuMAK7kvGilHTwlWUqmkuyIgeDkVlI/ZHA3oUpLxTAMeaIRnd2Rea 2/v6/0d9bQR+vTQNDdOCb0e1vukRHGjmRC79evyf+C2WKqvIhI1of2/tRs983mqg0nYe Q7skoC5o0JaL/39UPexxMV32U1YEnBS5Z60XkCjpUh3BSUAaCzEOQR8s6iSYgV2xwNHs 3x478mIClpaeFAnII0WYKijC+baiQagfCzK3PMkPxTjS5eYQzU/V4cwi7ebXL57ZagLn BVSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:dkim-signature:dkim-filter :arc-authentication-results; bh=MY6mQhQ6tgkYMrY13cGi6NF3RY1oeyO6tjDLIGa4TQ0=; b=BXZgdOeC4EtHRMDRI02v5kFuvAlJY/U/BqbA7q5JFz8UrX3p6FNsM/cGDmon5l6cz4 G9qssG3Q4Mj5G6geh9h56FtlB4k86fvR2jvO1HMj8IKXx9wnqhZjc1g4wXa0YxKsPM0s bnqPVob4KIqF5TFTIUu/QfMwF9p+w+j+n/urqS9PWf7OFfc++7c9kqMSdl79eHnw3DsJ EHqapaUL5fAkirOV9u57O7m8T2QWjoD1kdxeEGHAoo2/krBsrQiH4GYKF3pxQDj9WzZI LRyBsVvJiMUy+3eNv5E32KLjFteBxcBLGSoxVvlBKZiXJ9waVH0pLhm0VytUWETYairf jmlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@wiesinger.com header.s=default header.b=vjUGKMfO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p33-v6si28353586pld.318.2018.05.27.12.01.50; Sun, 27 May 2018 12:02:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@wiesinger.com header.s=default header.b=vjUGKMfO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751355AbeE0TBk (ORCPT + 99 others); Sun, 27 May 2018 15:01:40 -0400 Received: from vps01.wiesinger.com ([46.36.37.179]:51386 "EHLO vps01.wiesinger.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751291AbeE0TBi (ORCPT ); Sun, 27 May 2018 15:01:38 -0400 Received: from wiesinger.com (wiesinger.com [84.113.44.87]) by vps01.wiesinger.com (Postfix) with ESMTPS id D58DC9F25E; Sun, 27 May 2018 21:01:34 +0200 (CEST) Received: from [192.168.0.14] ([192.168.0.14]) (authenticated bits=0) by wiesinger.com (8.15.2/8.15.2) with ESMTPSA id w4RJ1RtU017485 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 27 May 2018 21:01:32 +0200 DKIM-Filter: OpenDKIM Filter v2.11.0 wiesinger.com w4RJ1RtU017485 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wiesinger.com; s=default; t=1527447692; bh=MY6mQhQ6tgkYMrY13cGi6NF3RY1oeyO6tjDLIGa4TQ0=; h=Subject:From:To:Cc:References:Date:In-Reply-To:From; b=vjUGKMfOf67E4x1Kvg07jEkNpzCPM7jZKxxQ1sIxJ4hQX0jrDr9BPk5fnR+AYFupL RI2LRWZzU3rDmXgrzazEdoCk+5pf85lAz0NxDapIvkOhge8jKKJ6GsTSPjqYJP6u+E fuYHLgPvUYhrgM7kxxxqi4NMK/BtScwUXv21IDIkYB5Gk02FDucDdUsgbBpJU2KJM3 TEOqQXNH09kAbhC1Ayo9khEt8fixaZip7OcE5Nog8QcYYUnd7mDA3I5XyTHauzqdHq oeu7ThpcamWLtpCRnI1YTLvupCWQfLFdjw4g/gZh1OV7JLcL0Kvnu3vPzyeRxSBAXN YGHbZAYXimj92Lpayy0iewNV7liU5uirUSw5c3KxLWvpUj9WeLvIPOkUxrWZNFth7A x1T19M64OpdBuoQOiUt5NALFsO8IkeKYqDxzGZHHFbLdOOCu502wK2X3sIhRo7omz2 SpAvvwpXMWgRpjxsvGbRhtkXvLGSGx7oJJ5sSG+fT7wExfQALocDKD6XOOKKmkQu5c Y+BONmcAXloD59PCtkFVloOlLnXLG4yfaHF79URx+8iSMKJ/YfUTdRIFV42qVoqtHX GzO44tmqF0h9umcio5YYZSXLHIlUy+fVRi7h5arwQApzUrhKzzneRsZnigf7AeHJst qkRpDO+yiSpcGPRF1LmOAQNA= Subject: Re: B53 DSA switch problem on Banana Pi-R1 on Fedora 26 - systemd-networkd problem From: Gerhard Wiesinger To: Florian Fainelli , Andrew Lunn , initramfs@vger.kernel.org Cc: linux-kernel@vger.kernel.org References: <3bdb712d-38bd-e2ca-63cf-8406a7b5689d@wiesinger.com> <20180522201632.GB4396@lunn.ch> <59d6b55f-d50a-063c-90a9-31a758e01383@gmail.com> <76c3f5ec-0ab2-c06d-98e8-277284bb1a8e@gmail.com> <779f2be3-3e74-e650-5240-efaf1003d77c@wiesinger.com> <4f7c5173-019d-ba0e-70b3-addf64a6a9fa@gmail.com> <53c9272a-0e1a-e8fb-a3e4-b4e23e77be10@gmail.com> <18ca17a1-4673-2ace-7142-d4aef6854bc4@wiesinger.com> Message-ID: <219eaac0-3d76-005a-f8d6-c54ea21f205e@wiesinger.com> Date: Sun, 27 May 2018 21:01:27 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <18ca17a1-4673-2ace-7142-d4aef6854bc4@wiesinger.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 24.05.2018 08:22, Gerhard Wiesinger wrote: > On 24.05.2018 07:29, Gerhard Wiesinger wrote: >> After some analysis with Florian (thnx) we found out that the current >> implementation is broken: >> >> https://patchwork.ozlabs.org/patch/836538/ >> https://github.com/torvalds/linux/commit/c499696e7901bda18385ac723b7bd27c3a4af624#diff-a2b6f8d89e18de600e873ac3ac43fa1d >> >> >> Florians comment: >> >> c499696e7901bda18385ac723b7bd27c3a4af624 ("net: dsa: b53: Stop using >> dev->cpu_port incorrectly") since it would result in no longer setting >> the CPU port as tagged for a specific VLAN. Easiest way for you right >> now is to just revert it, but this needs some more thoughts for a proper >> upstream change. I will think about it some more. > > Can confirm 4.14.18-200.fc26.armv7hl works, 4.15.x should be broken. > > # Kernel 4.14.x ok > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/log/drivers/net/dsa/b53?h=v4.14.43 > > # Kernel 4.15.x should be NOT ok > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/log/drivers/net/dsa/b53?h=v4.15.18 > Kernel 4.14.18-300.fc27.armv7hl works well so far, even with FC28 update. Florian send me a patch to try for 4.16.x I got the  commands below to work with manual script commands. Afterwards I wrote systemd-networkd config where I've a strage problem when IPv6 sends a multicast broadcast from another machine to the bridge this will be sent back via the network interface, but with the source MAC of the bridge of the other machine. dmesg from the other machine: [117768.330444] br0: received packet on lan0 with own address as source address (addr:a0:36:9f:ab:cd:ef, vlan:0) [117768.334887] br0: received packet on lan0 with own address as source address (addr:a0:36:9f:ab:cd:ef, vlan:0) [117768.339281] br0: received packet on lan0 with own address as source address (addr:a0:36:9f:ab:cd:ef, vlan:0) And: If I just enter this command after e.g. a systemd-network restart everything is fine forever: # Not OK (dmesg message above is triggered on a remote computer, whole switching network gets unstable, ssh terminals close, packet loss, etc.) systemctl restart systemd-networkd # OK again when this command is entered bridge vlan add dev wan vid 102 pvid untagged brctl show, ip link, bridge vlan, bridge link commands, etc. look all the same, also /sys/class/net/br0/bridge, /sys/class/net/br1/bridge settings Systemd config correct? Any ideas? Thank you. Ciao, Gerhard brctl show bridge name     bridge id               STP enabled     interfaces br0             8000.665da2abcdef       no              eth0.101                                                         lan1                                                         lan2                                                         lan3                                                         lan4 br1             8000.9a4557abcdef      no              eth0.102                                                         wan bridge vlan show port    vlan ids lan2     101 PVID Egress Untagged lan3     101 PVID Egress Untagged lan4     101 PVID Egress Untagged wan      102 PVID Egress Untagged lan1     101 PVID Egress Untagged br1     None br0     None eth0.102        None eth0.101        None ================================================================================================================================================================ OK: manual scripts ================================================================================================================================================================ ip link add link eth0 name eth0.101 type vlan id 101 ip link set eth0.101 up ip link add link eth0 name eth0.102 type vlan id 102 ip link set eth0.102 up ip link add br0 type bridge ip link set dev br0 type bridge stp_state 0 ip link set lan1 master br0 bridge vlan add dev lan1 vid 101 pvid untagged ip link set lan1 up ip link set lan2 master br0 bridge vlan add dev lan2 vid 101 pvid untagged ip link set lan2 up ip link set lan3 master br0 bridge vlan add dev lan3 vid 101 pvid untagged ip link set lan3 up ip link set lan4 master br0 bridge vlan add dev lan4 vid 101 pvid untagged ip link set lan4 up ip link set eth0.101 master br0 ip link set eth0.101 up ip link set br0 up ip link add br1 type bridge ip link set dev br1 type bridge stp_state 0 ip link set wan master br1 bridge vlan add dev wan vid 102 pvid untagged ip link set wan up ip link set eth0.102 master br1 ip link set eth0.102 up ip link set br1 up ip addr flush dev br0 ip addr add 192.168.0.250/24 dev br0 ip route del default via 192.168.0.1 dev br0 ip route add default via 192.168.0.1 dev br0 ip addr flush dev br1 ip addr add 192.168.1.1/24 dev br1 ================================================================================================================================================================ NOK: after a multicast packet is received ================================================================================================================================================================ ================================================================================ = /etc/systemd/network/40-autogen-eth0.101.netdev ================================================================================ [NetDev] Name=eth0.101 Kind=vlan [VLAN] Id=101 ================================================================================ = /etc/systemd/network/40-autogen-eth0.102.netdev ================================================================================ [NetDev] Name=eth0.102 Kind=vlan [VLAN] Id=102 ================================================================================ = /etc/systemd/network/40-autogen-eth0.network ================================================================================ [Match] Name=eth0 [Network] VLAN=eth0.101 VLAN=eth0.102 ================================================================================ = /etc/systemd/network/50-autogen-br0.netdev ================================================================================ [NetDev] Name=br0 Kind=bridge [Bridge] DefaultPVID=none VLANFiltering=false STP=false ================================================================================ = /etc/systemd/network/50-autogen-br1.netdev ================================================================================ [NetDev] Name=br1 Kind=bridge [Bridge] DefaultPVID=none VLANFiltering=false STP=false ================================================================================ = /etc/systemd/network/60-autogen-br0-eth0.101.network ================================================================================ [Match] Name=eth0.101 [Network] Bridge=br0 ================================================================================ = /etc/systemd/network/60-autogen-br0-lan1.network ================================================================================ [Match] Name=lan1 [Network] Bridge=br0 [BridgeVLAN] VLAN=101 EgressUntagged=101 PVID=101 ================================================================================ = /etc/systemd/network/60-autogen-br0-lan2.network ================================================================================ [Match] Name=lan2 [Network] Bridge=br0 [BridgeVLAN] VLAN=101 EgressUntagged=101 PVID=101 ================================================================================ = /etc/systemd/network/60-autogen-br0-lan3.network ================================================================================ [Match] Name=lan3 [Network] Bridge=br0 [BridgeVLAN] VLAN=101 EgressUntagged=101 PVID=101 ================================================================================ = /etc/systemd/network/60-autogen-br0-lan4.network ================================================================================ [Match] Name=lan4 [Network] Bridge=br0 [BridgeVLAN] VLAN=101 EgressUntagged=101 PVID=101 ================================================================================ = /etc/systemd/network/60-autogen-br1-eth0.102.network ================================================================================ [Match] Name=eth0.102 [Network] Bridge=br1 ================================================================================ = /etc/systemd/network/60-autogen-br1-wan.network ================================================================================ [Match] Name=wan [Network] Bridge=br1 [BridgeVLAN] VLAN=102 EgressUntagged=102 PVID=102 ================================================================================ = /etc/systemd/network/61-autogen-br0.network ================================================================================ [Match] Name=br0 [Network] Address=192.168.0.250/24 Gateway=192.168.0.1 DNS=192.168.0.1 Domains=intern ================================================================================ = /etc/systemd/network/61-autogen-br1.network ================================================================================ [Match] Name=br1 [Network] Address=192.168.1.1/24