mbox series

[net,v3,0/4] Unsync addresses from ports when stopping aggregated devices

Message ID 20220907075642.475236-1-bpoirier@nvidia.com (mailing list archive)
Headers show
Series Unsync addresses from ports when stopping aggregated devices | expand

Message

Benjamin Poirier Sept. 7, 2022, 7:56 a.m. UTC
This series fixes similar problems in the bonding and team drivers.

Because of missing dev_{uc,mc}_unsync() calls, addresses added to
underlying devices may be leftover after the aggregated device is deleted.
Add the missing calls and a few related tests.

v2:
* fix selftest installation, see patch 3

v3:
* Split lacpdu_multicast changes to their own patch, #1
* In ndo_{add,del}_slave methods, only perform address list changes when
  the aggregated device is up (patches 2 & 3)
* Add selftest function related to the above change (patch 4)

Benjamin Poirier (4):
  net: bonding: Share lacpdu_mcast_addr definition
  net: bonding: Unsync device addresses on ndo_stop
  net: team: Unsync device addresses on ndo_stop
  net: Add tests for bonding and team address list management

 MAINTAINERS                                   |   1 +
 drivers/net/bonding/bond_3ad.c                |   5 +-
 drivers/net/bonding/bond_main.c               |  57 +++++----
 drivers/net/team/team.c                       |  24 +++-
 include/net/bond_3ad.h                        |   2 -
 include/net/bonding.h                         |   3 +
 tools/testing/selftests/Makefile              |   1 +
 .../selftests/drivers/net/bonding/Makefile    |   5 +-
 .../selftests/drivers/net/bonding/config      |   1 +
 .../drivers/net/bonding/dev_addr_lists.sh     | 109 ++++++++++++++++++
 .../selftests/drivers/net/bonding/lag_lib.sh  |  61 ++++++++++
 .../selftests/drivers/net/team/Makefile       |   6 +
 .../testing/selftests/drivers/net/team/config |   3 +
 .../drivers/net/team/dev_addr_lists.sh        |  51 ++++++++
 14 files changed, 297 insertions(+), 32 deletions(-)
 create mode 100755 tools/testing/selftests/drivers/net/bonding/dev_addr_lists.sh
 create mode 100644 tools/testing/selftests/drivers/net/bonding/lag_lib.sh
 create mode 100644 tools/testing/selftests/drivers/net/team/Makefile
 create mode 100644 tools/testing/selftests/drivers/net/team/config
 create mode 100755 tools/testing/selftests/drivers/net/team/dev_addr_lists.sh

Comments

Jay Vosburgh Sept. 8, 2022, 11:25 p.m. UTC | #1
Benjamin Poirier <bpoirier@nvidia.com> wrote:

>This series fixes similar problems in the bonding and team drivers.
>
>Because of missing dev_{uc,mc}_unsync() calls, addresses added to
>underlying devices may be leftover after the aggregated device is deleted.
>Add the missing calls and a few related tests.

	I'm not seeing any gaps in the logic; so, for the bonding parts
of the series

Acked-by: Jay Vosburgh <jay.vosburgh@canonical.com>

	-J


>v2:
>* fix selftest installation, see patch 3
>
>v3:
>* Split lacpdu_multicast changes to their own patch, #1
>* In ndo_{add,del}_slave methods, only perform address list changes when
>  the aggregated device is up (patches 2 & 3)
>* Add selftest function related to the above change (patch 4)
>
>Benjamin Poirier (4):
>  net: bonding: Share lacpdu_mcast_addr definition
>  net: bonding: Unsync device addresses on ndo_stop
>  net: team: Unsync device addresses on ndo_stop
>  net: Add tests for bonding and team address list management
>
> MAINTAINERS                                   |   1 +
> drivers/net/bonding/bond_3ad.c                |   5 +-
> drivers/net/bonding/bond_main.c               |  57 +++++----
> drivers/net/team/team.c                       |  24 +++-
> include/net/bond_3ad.h                        |   2 -
> include/net/bonding.h                         |   3 +
> tools/testing/selftests/Makefile              |   1 +
> .../selftests/drivers/net/bonding/Makefile    |   5 +-
> .../selftests/drivers/net/bonding/config      |   1 +
> .../drivers/net/bonding/dev_addr_lists.sh     | 109 ++++++++++++++++++
> .../selftests/drivers/net/bonding/lag_lib.sh  |  61 ++++++++++
> .../selftests/drivers/net/team/Makefile       |   6 +
> .../testing/selftests/drivers/net/team/config |   3 +
> .../drivers/net/team/dev_addr_lists.sh        |  51 ++++++++
> 14 files changed, 297 insertions(+), 32 deletions(-)
> create mode 100755 tools/testing/selftests/drivers/net/bonding/dev_addr_lists.sh
> create mode 100644 tools/testing/selftests/drivers/net/bonding/lag_lib.sh
> create mode 100644 tools/testing/selftests/drivers/net/team/Makefile
> create mode 100644 tools/testing/selftests/drivers/net/team/config
> create mode 100755 tools/testing/selftests/drivers/net/team/dev_addr_lists.sh
>
>-- 
>2.37.2
>

---
	-Jay Vosburgh, jay.vosburgh@canonical.com
patchwork-bot+netdevbpf@kernel.org Sept. 16, 2022, 1:40 p.m. UTC | #2
Hello:

This series was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:

On Wed,  7 Sep 2022 16:56:38 +0900 you wrote:
> This series fixes similar problems in the bonding and team drivers.
> 
> Because of missing dev_{uc,mc}_unsync() calls, addresses added to
> underlying devices may be leftover after the aggregated device is deleted.
> Add the missing calls and a few related tests.
> 
> v2:
> * fix selftest installation, see patch 3
> 
> [...]

Here is the summary with links:
  - [net,v3,1/4] net: bonding: Share lacpdu_mcast_addr definition
    https://git.kernel.org/netdev/net/c/1d9a143ee340
  - [net,v3,2/4] net: bonding: Unsync device addresses on ndo_stop
    https://git.kernel.org/netdev/net/c/86247aba599e
  - [net,v3,3/4] net: team: Unsync device addresses on ndo_stop
    https://git.kernel.org/netdev/net/c/bd60234222b2
  - [net,v3,4/4] net: Add tests for bonding and team address list management
    https://git.kernel.org/netdev/net/c/bbb774d921e2

You are awesome, thank you!