All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Machata <petrm@mellanox.com>
To: netdev@vger.kernel.org, bridge@lists.linux-foundation.org
Cc: ivecera@redhat.com, f.fainelli@gmail.com, andrew@lunn.ch,
	vivien.didelot@savoirfairelinux.com, idosch@mellanox.com,
	jiri@mellanox.com, davem@davemloft.net
Subject: [PATCH net-next mlxsw v2 0/2] bridge: FDB: Notify about removal of non-user-added entries
Date: Thu, 03 May 2018 14:43:40 +0200	[thread overview]
Message-ID: <cover.1525350809.git.petrm@mellanox.com> (raw)

Device drivers may generally need to keep in sync with bridge's FDB. In
particular, for its offload of tc mirror action where the mirrored-to
device is a gretap device, mlxsw needs to listen to a number of events,
FDB events among the others. SWITCHDEV_FDB_{ADD,DEL}_TO_DEVICE would be
a natural notification in that case.

However, for removal of FDB entries added due to device activity (as
opposed to explicit addition through "bridge fdb add" or similar), there
are no notifications.

Thus in patch #1, add the "added_by_user" field to switchdev
notifications sent for FDB activity. Adapt drivers to ignore activity on
non-user-added entries, to maintain the current behavior. Specifically
in case of mlxsw, allow mlxsw_sp_span_respin() call for any and all FDB
updates.

In patch #2, change the bridge driver to actually emit notifications for
these FDB entries. Take care not to send notification for bridge
updates that itself originate in SWITCHDEV_FDB_*_TO_BRIDGE events.

Changes from v1 to v2:
- Instead of introducing a new variant of fdb_delete(), add a new
  parameter to the existing function.
- Name the parameter swdev_notify, not notify.

Petr Machata (2):
  switchdev: Add fdb.added_by_user to switchdev notifications
  net: bridge: Notify about !added_by_user FDB entries

 .../ethernet/mellanox/mlxsw/spectrum_switchdev.c   |  4 ++
 drivers/net/ethernet/rocker/rocker_main.c          |  2 +
 include/net/switchdev.h                            |  1 +
 net/bridge/br.c                                    |  4 +-
 net/bridge/br_fdb.c                                | 47 ++++++++++++----------
 net/bridge/br_private.h                            |  6 ++-
 net/bridge/br_switchdev.c                          | 12 ++++--
 net/dsa/slave.c                                    |  5 ++-
 8 files changed, 51 insertions(+), 30 deletions(-)

-- 
2.4.11

WARNING: multiple messages have this Message-ID (diff)
From: Petr Machata <petrm@mellanox.com>
To: netdev@vger.kernel.org, bridge@lists.linux-foundation.org
Cc: ivecera@redhat.com, f.fainelli@gmail.com, andrew@lunn.ch,
	vivien.didelot@savoirfairelinux.com, idosch@mellanox.com,
	jiri@mellanox.com, davem@davemloft.net
Subject: [Bridge] [PATCH net-next mlxsw v2 0/2] bridge: FDB: Notify about removal of non-user-added entries
Date: Thu, 03 May 2018 14:43:40 +0200	[thread overview]
Message-ID: <cover.1525350809.git.petrm@mellanox.com> (raw)

Device drivers may generally need to keep in sync with bridge's FDB. In
particular, for its offload of tc mirror action where the mirrored-to
device is a gretap device, mlxsw needs to listen to a number of events,
FDB events among the others. SWITCHDEV_FDB_{ADD,DEL}_TO_DEVICE would be
a natural notification in that case.

However, for removal of FDB entries added due to device activity (as
opposed to explicit addition through "bridge fdb add" or similar), there
are no notifications.

Thus in patch #1, add the "added_by_user" field to switchdev
notifications sent for FDB activity. Adapt drivers to ignore activity on
non-user-added entries, to maintain the current behavior. Specifically
in case of mlxsw, allow mlxsw_sp_span_respin() call for any and all FDB
updates.

In patch #2, change the bridge driver to actually emit notifications for
these FDB entries. Take care not to send notification for bridge
updates that itself originate in SWITCHDEV_FDB_*_TO_BRIDGE events.

Changes from v1 to v2:
- Instead of introducing a new variant of fdb_delete(), add a new
  parameter to the existing function.
- Name the parameter swdev_notify, not notify.

Petr Machata (2):
  switchdev: Add fdb.added_by_user to switchdev notifications
  net: bridge: Notify about !added_by_user FDB entries

 .../ethernet/mellanox/mlxsw/spectrum_switchdev.c   |  4 ++
 drivers/net/ethernet/rocker/rocker_main.c          |  2 +
 include/net/switchdev.h                            |  1 +
 net/bridge/br.c                                    |  4 +-
 net/bridge/br_fdb.c                                | 47 ++++++++++++----------
 net/bridge/br_private.h                            |  6 ++-
 net/bridge/br_switchdev.c                          | 12 ++++--
 net/dsa/slave.c                                    |  5 ++-
 8 files changed, 51 insertions(+), 30 deletions(-)

-- 
2.4.11


             reply	other threads:[~2018-05-03 12:43 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-03 12:43 Petr Machata [this message]
2018-05-03 12:43 ` [Bridge] [PATCH net-next mlxsw v2 0/2] bridge: FDB: Notify about removal of non-user-added entries Petr Machata
2018-05-03 12:43 ` [PATCH net-next mlxsw v2 1/2] switchdev: Add fdb.added_by_user to switchdev notifications Petr Machata
2018-05-03 12:43   ` [Bridge] " Petr Machata
2018-05-03 12:59   ` Ivan Vecera
2018-05-03 12:59     ` [Bridge] " Ivan Vecera
2018-05-03 12:43 ` [PATCH net-next mlxsw v2 2/2] net: bridge: Notify about !added_by_user FDB entries Petr Machata
2018-05-03 12:43   ` [Bridge] " Petr Machata
2018-05-03 12:56   ` Nikolay Aleksandrov
2018-05-03 12:56     ` [Bridge] " Nikolay Aleksandrov
2018-05-03 13:07     ` Petr Machata
2018-05-03 13:07       ` [Bridge] " Petr Machata
2018-05-03 13:00   ` Ivan Vecera
2018-05-03 13:00     ` [Bridge] " Ivan Vecera
2018-05-03 12:48 ` [PATCH net-next mlxsw v2 0/2] bridge: FDB: Notify about removal of non-user-added entries Petr Machata
2018-05-03 12:48   ` [Bridge] " Petr Machata
2018-05-03 17:47 ` David Miller
2018-05-03 17:47   ` [Bridge] " 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=cover.1525350809.git.petrm@mellanox.com \
    --to=petrm@mellanox.com \
    --cc=andrew@lunn.ch \
    --cc=bridge@lists.linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=idosch@mellanox.com \
    --cc=ivecera@redhat.com \
    --cc=jiri@mellanox.com \
    --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.