lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170608064428.4785-1-jiri@resnulli.us>
Date:   Thu,  8 Jun 2017 08:44:09 +0200
From:   Jiri Pirko <jiri@...nulli.us>
To:     netdev@...r.kernel.org
Cc:     davem@...emloft.net, idosch@...lanox.com, arkadis@...lanox.com,
        mlxsw@...lanox.com, roopa@...ulusnetworks.com,
        stephen@...workplumber.org, ivecera@...hat.com,
        nikolay@...ulusnetworks.com
Subject: [patch net-next v2 00/19] Remove support from bridge bypass for mlxsw/rocker drivers

From: Jiri Pirko <jiri@...lanox.com>

Currently setting bridge port attributes and adding FDBs are done via
setting the SELF flag which implies unconsistent offloading model. This
patch-set fixes this behavior by making the bridge and drivers which are
using it to be totally in sync.

This implies several changes:
- Offloading bridge flags from the bridge code.
- Sending notification about FDB add/del to the software bridge in a 
  similiar way it is done for the hardware externally learned FDBs.

By making the offloading model more consistent a cleanup is done in
the drivers supporting it. This is done in order to remove un-needed
logic related to dump operation which is redundant.

First add missing functionality to bridge, then clean up the mlxsw/rocker
drivers.
---
v1->v2
- Move bridge-switchdev related stuff to br_switchdev.c as suggested by Nik

Arkadi Sharshevsky (19):
  net: switchdev: Add support for querying supported bridge flags by
    hardware
  net: bridge: Add support for offloading port attributes
  net: bridge: Add support for calling FDB external learning under rcu
  net: switchdev: Change notifier chain to be atomic
  net: bridge: Add support for notifying devices about FDB add/del
  net: bridge: Receive notification about successful FDB offload
  mlxsw: spectrum: Remove support for bridge FDB learning sync
  mlxsw: spectrum_switchdev: Add support for querying supported bridge
    flags
  mlxsw: spectrum: Remove support for bypass bridge port attributes/vlan
    set
  mlxsw: spectrum_switchdev: Change switchdev notifier API
  mlxsw: spectrum_switchdev: Add support for learning FDB through
    notification
  mlxsw: spectrum: Remove support for bridge bypass FDB add/del
  net: Remove support for bridge bypass ndos from stacked devices
  rocker: Remove support for bridge FDB learning sync
  rocker: Add support for querying supported bridge flags
  rocker: Change world_ops API and implementation to be switchdev
    independant
  rocker: Add support for learning FDB through notification
  rocker: Remove support for bypass bridge port attributes/vlan set
  rocker: Remove support bridge bypass FDB

 drivers/net/bonding/bond_main.c                    |   6 -
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c     |   8 +-
 drivers/net/ethernet/mellanox/mlxsw/spectrum.h     |   1 +
 .../ethernet/mellanox/mlxsw/spectrum_switchdev.c   | 360 +++++-------
 drivers/net/ethernet/rocker/rocker.h               |  21 +-
 drivers/net/ethernet/rocker/rocker_main.c          | 235 +++++---
 drivers/net/ethernet/rocker/rocker_ofdpa.c         | 610 ++++++++-------------
 drivers/net/team/team.c                            |   6 -
 include/net/switchdev.h                            |   9 +-
 include/uapi/linux/neighbour.h                     |   1 +
 net/8021q/vlan_dev.c                               |   6 -
 net/bridge/br.c                                    |  19 +-
 net/bridge/br_fdb.c                                |  26 +-
 net/bridge/br_netlink.c                            |  87 ++-
 net/bridge/br_private.h                            |  28 +-
 net/bridge/br_switchdev.c                          |  76 +++
 net/switchdev/switchdev.c                          |  30 +-
 17 files changed, 736 insertions(+), 793 deletions(-)

-- 
2.9.3

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ