All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Fainelli <f.fainelli@gmail.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: netdev@vger.kernel.org, davem@davemloft.net,
	vivien.didelot@savoirfairelinux.com,
	jerome.oufella@savoirfairelinux.com, andrew@lunn.ch,
	cphealy@gmail.com
Subject: Re: [PATCH RFC 2/2] net: dsa: bcm_sf2: implement HW bridging operations
Date: Thu, 19 Feb 2015 15:50:53 -0800	[thread overview]
Message-ID: <54E676DD.9090003@gmail.com> (raw)
In-Reply-To: <20150219174640.GA6897@roeck-us.net>

On 19/02/15 09:46, Guenter Roeck wrote:
> On Thu, Feb 19, 2015 at 09:27:23AM -0800, Florian Fainelli wrote:
>> On 18/02/15 21:59, Guenter Roeck wrote:
>>> On Wed, Feb 18, 2015 at 06:48:19PM -0800, Florian Fainelli wrote:
>>>> On 17/02/15 11:26, Florian Fainelli wrote:
>>>>> Update the Broadcom Starfighter 2 switch driver to implement the
>>>>> join/leave/stp_update callbacks required for basic hardware bridging
>>>>> support.
>>>>>
>>>>> There is not much to be done at the driver level but translating the
>>>>> STP state from Linux to their HW values.
>>>>>
>>>>> Joining a bridge means that the joining port and the other port members
>>>>> need to be in the same VLAN membership as the CPU, while leaving the
>>>>> bridge puts the port back into a separate VLAN membership with only the
>>>>> CPU.
>>>>
>>>> I found a couple additional issues while testing:
>>>>
>>>> - manipulating UP/DOWN state of interfaces that are part of a bridge
>>>> would not restore their bridge membership
>>>>
>>>> - removing an interface from a bridge and bringing it back up would
>>>> leave it in blocked state
>>>>
>>> Is this a problem with your implementation for sf2 or a generic problem
>>> with the first patch, such as some missing state transitions ?
>>
>> This is more of a side effect of having HW (an Ethernet switch) that can
>> really block a given port, based on last night's discussion with Roopa,
>> we can either fix this at the DSA level (in our case) or better fix this
>> at the bridge layer, I will propose a fix for this shortly.
>>
>>>
>>> For sf2, you might have to set the port state as well as the bridge
>>> association in the port_setup function. That is of course just a
>>> wild guess.
>>
>> Right, that's what I ended up doing. Thanks!
> 
> Great.
> 
> Another question: How do you handle flushing the forwarding database ?
> 
> My current code for mv88e6352 flushes the forwarding database for a bridge
> group if the port association for that group changes (whenever a port joins
> or leaves a group, or whenever the state of a port in a group changes).
> There is, however, another situation where the forwarding database may
> have to be flushed - essentially on each topology change.
> 
> How do you handle this situation ? Is it a real problem or do I just
> imagine that it is ?

This is a real problem, for once I was working under the assumption that
the SF2 hardware was doing an automatic FDB flushing, but after
re-reading the documentation, this is not the case. My lab network does
not have many stations and I certainly did not catch that case.
-- 
Florian

  reply	other threads:[~2015-02-19 23:51 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-17 19:26 [PATCH RFC 0/2] net: dsa: integration with SWITCHDEV for HW bridging Florian Fainelli
2015-02-17 19:26 ` [PATCH RFC 1/2] net: dsa: integrate " Florian Fainelli
2015-02-17 20:13   ` Guenter Roeck
2015-02-17 20:24     ` Florian Fainelli
2015-02-17 20:28       ` Guenter Roeck
2015-02-18  1:19   ` Andrew Lunn
2015-02-18  1:43     ` Florian Fainelli
2015-02-18  3:53     ` Guenter Roeck
2015-02-18  4:53       ` Florian Fainelli
2015-02-18  6:14         ` Guenter Roeck
2015-02-18 13:49         ` Andrew Lunn
2015-02-18 14:05           ` Guenter Roeck
2015-02-23  2:20   ` Guenter Roeck
2015-02-23  3:14     ` Andrew Lunn
2015-02-23  4:07       ` Guenter Roeck
2015-02-23  4:22         ` Andrew Lunn
2015-02-23  4:33           ` Florian Fainelli
2015-02-23  4:38           ` Guenter Roeck
2015-02-23  4:43             ` Florian Fainelli
2015-02-23  6:19               ` Guenter Roeck
2015-02-23 13:34               ` Andrew Lunn
2015-02-23 14:23                 ` Guenter Roeck
2015-02-23 16:01                   ` Andrew Lunn
2015-02-23 18:05                     ` Florian Fainelli
2015-02-23 18:35                       ` Guenter Roeck
2015-02-25 13:43                         ` Andrey Volkov
2015-02-25 14:25                           ` Guenter Roeck
2015-02-25 16:05                             ` Andrey Volkov
2015-02-25 17:41                               ` Guenter Roeck
2015-02-26  1:18                                 ` Andrey Volkov
2015-02-27 17:09                             ` Andrey Volkov
2015-02-28  7:53                               ` Guenter Roeck
2015-03-02 14:38                                 ` Andrey Volkov
2015-03-02 14:49                                   ` Guenter Roeck
2015-03-02 15:27                                     ` Andrey Volkov
2015-03-02 17:16                                       ` Guenter Roeck
2015-03-04 10:07                                         ` Andrey Volkov
2015-02-17 19:26 ` [PATCH RFC 2/2] net: dsa: bcm_sf2: implement HW bridging operations Florian Fainelli
2015-02-19  2:48   ` Florian Fainelli
2015-02-19  5:59     ` Guenter Roeck
2015-02-19 17:27       ` Florian Fainelli
2015-02-19 17:46         ` Guenter Roeck
2015-02-19 23:50           ` Florian Fainelli [this message]
2015-02-20  0:09             ` Guenter Roeck
2015-02-20  0:51               ` roopa
2015-02-20  1:03                 ` Guenter Roeck
2015-02-20  1:46                   ` roopa
2015-02-20  2:00                     ` Florian Fainelli
2015-02-20  2:41                       ` roopa
2015-02-20  4:05                         ` Guenter Roeck
2015-02-20  4:58                           ` Scott Feldman
2015-02-20  4:59                           ` roopa
2015-02-20  3:20                       ` Andy Gospodarek
2015-02-20  3:53                         ` Viswanath Bandaru
2015-02-20  3:56                         ` Andy Gospodarek
2015-02-20  2:18                     ` Andrew Lunn
2015-02-20  2:51                       ` roopa
2015-02-20  3:52                         ` Andrew Lunn
2015-02-20  4:07                           ` Guenter Roeck
2015-02-20  2:02               ` Andrew Lunn
2015-02-20  3:55                 ` Guenter Roeck
2015-02-20  2:03               ` Florian Fainelli
2015-02-20  2:46                 ` roopa
2015-02-18  0:48 ` [PATCH RFC 0/2] net: dsa: integration with SWITCHDEV for HW bridging Scott Feldman
2015-02-18  1:09   ` Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54E676DD.9090003@gmail.com \
    --to=f.fainelli@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=cphealy@gmail.com \
    --cc=davem@davemloft.net \
    --cc=jerome.oufella@savoirfairelinux.com \
    --cc=linux@roeck-us.net \
    --cc=netdev@vger.kernel.org \
    --cc=vivien.didelot@savoirfairelinux.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.