Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751606AbdG0OHR (ORCPT ); Thu, 27 Jul 2017 10:07:17 -0400 Received: from aibo.runbox.com ([91.220.196.211]:41532 "EHLO aibo.runbox.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751413AbdG0OHQ (ORCPT ); Thu, 27 Jul 2017 10:07:16 -0400 Subject: Re: [PATCH net-next v2 07/10] net: dsa: lan9303: Added basic offloading of unicast traffic To: Andrew Lunn Cc: corbet@lwn.net, vivien.didelot@savoirfairelinux.com, f.fainelli@gmail.com, davem@davemloft.net, kernel@pengutronix.de, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org References: <20170725161553.30147-1-privat@egil-hjelmeland.no> <20170725161553.30147-8-privat@egil-hjelmeland.no> <20170726172443.GR12049@lunn.ch> <19cbabee-a0e5-03f1-d2fa-eea3521311a8@egil-hjelmeland.no> <20170727133113.GB18666@lunn.ch> From: Egil Hjelmeland Message-ID: <04c8ba05-56ac-c207-6bfe-4d20162ba5c1@egil-hjelmeland.no> Date: Thu, 27 Jul 2017 16:07:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170727133113.GB18666@lunn.ch> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1440 Lines: 42 On 27. juli 2017 15:31, Andrew Lunn wrote: >>> I think you are over-simplifying here. Say i have a layer 2 VPN and i >>> bridge port 1 and the VPN? The software bridge still wants to do STP >>> on port 1, in order to solve loops. >>> >> >> Problem is that the mainline lan9303_separate_ports() does its >> work by setting port 1 & 2 in STP BLOCKING state (and port 0 in >> FORWARDING state). So my understanding is that it would break port >> separation if LAN9303_SWE_PORT_STATE is written while the driver >> is in the non-bridged state. > > If the hardware cannot do it, that is a different matter. But if the > hardware can do STP states per port, you should try to make use of it > here. > The HW does STP states per port, but not per pair of port. I can set port 1 in learning, but I can not tell port 2 to ignore addresses learned on port 1. (Except by using VLAN). Unless somebody can come up with an other way to implement the port separation, I think this is how it has to be. I suppose we don't want to break the port separation feature. >> I thought the SW bridge would carry doing its STP work even if >> there is a port_stp_state_set method on a DSA port? > > It will, but it means you are dropping frames in software, adding > extra load to the CPU, reducing the available bandwidth for the other > port, etc. > That is exactly the case with all traffic with the current mainline driver. > Andrew > Egil