From: roopa <roopa@cumulusnetworks.com>
To: Siva Mannem <siva.mannem.lnx@gmail.com>
Cc: Netdev <netdev@vger.kernel.org>,
Scott Feldman <sfeldma@cumulusnetworks.com>,
Jiri Pirko <jiri@resnulli.us>
Subject: Re: [PATCH net-next] bridge: Let bridge not age 'externally' learnt FDB entries, they are removed when 'external' entity notifies the aging
Date: Wed, 04 Feb 2015 08:19:51 -0800 [thread overview]
Message-ID: <54D246A7.2020502@cumulusnetworks.com> (raw)
In-Reply-To: <CA+CtxLSziWmx94_V9S-uW9=6VYg4WXsU4CERx-uovvrFOtO1dA@mail.gmail.com>
On 2/4/15, 12:02 AM, Siva Mannem wrote:
> On Tue, Feb 3, 2015 at 8:41 PM, roopa <roopa@cumulusnetworks.com> wrote:
>> On 2/2/15, 9:21 AM, Siva Mannem wrote:
>>> When 'learned_sync' flag is turned on, the offloaded switch
>>> port syncs learned MAC addresses to bridge's FDB via switchdev notifier
>>> (NETDEV_SWITCH_FDB_ADD). Currently, FDB entries learnt via this
>>> mechanism are
>>> wrongly being deleted by bridge aging logic. This patch ensures that FDB
>>> entries synced from offloaded switch ports are not deleted by bridging
>>> logic.
>>> Such entries can only be deleted via switchdev notifier
>>> (NETDEV_SWITCH_FDB_DEL).
>>
>> Your patch seems right and maintains symmetry for fdb add/del of externally
>> learnt entries.
>> However, this could be made configurable. I think some drivers may rely on
>> bridge driver aging these entries (The default setting needs more thought).
>> I am not sure what rocker does (CC'ed rocker maintainers). But, our driver
>> does rely on the bridge driver aging these entries by default.
> added_by_external_learn flag is only set for entries learned via
> switchdev notifier
> (NETDEV_SWITCH_FDB_ADD) and rocker is the only driver using these notifiers.
> I see that rocker is deleting the entries via switchdev notifier
> (NETDEV_SWITCH_FDB_DEL).
> This mechanism is only used by drivers when learned_sync is turned on by user.
>
> $ sudo bridge link set dev swp1 learning_sync on self
>
> Am I missing something here?
I know that its enabled by an external flag. I wasn't sure rocker was
doing a del
or was relying on the bridge driver to age those entries (hence the CC
to rocker maintainers).
And, my only point was its valid in some cases for the switch driver to
rely on bridge driver ageing those entries.
For symmetry, your patch seems right.
next prev parent reply other threads:[~2015-02-04 16:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-02 17:21 [PATCH net-next] bridge: Let bridge not age 'externally' learnt FDB entries, they are removed when 'external' entity notifies the aging Siva Mannem
2015-02-03 15:11 ` roopa
2015-02-04 8:02 ` Siva Mannem
2015-02-04 16:19 ` roopa [this message]
2015-02-05 7:13 ` Scott Feldman
2015-02-05 7:53 ` David Miller
2015-02-05 10:26 ` Siva Mannem
2015-02-05 11:05 ` B Viswanath
2015-02-05 17:10 ` Scott Feldman
2015-02-05 17:55 ` Scott Feldman
2015-02-05 18:31 ` B Viswanath
2015-02-06 1:45 ` Scott Feldman
2015-02-06 3:27 ` Siva Mannem
2015-02-07 5:53 ` Scott Feldman
2015-02-04 21:51 ` David Miller
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=54D246A7.2020502@cumulusnetworks.com \
--to=roopa@cumulusnetworks.com \
--cc=jiri@resnulli.us \
--cc=netdev@vger.kernel.org \
--cc=sfeldma@cumulusnetworks.com \
--cc=siva.mannem.lnx@gmail.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.