mbox series

[net,v5,0/3] bonding: 802.3ad: fix no transmission of LACPDUs

Message ID cover.1660919940.git.jtoppins@redhat.com (mailing list archive)
Headers show
Series bonding: 802.3ad: fix no transmission of LACPDUs | expand

Message

Jonathan Toppins Aug. 19, 2022, 3:15 p.m. UTC
Configuring a bond in a specific order can leave the bond in a state
where it never transmits LACPDUs.

The first patch adds some kselftest infrastructure and the reproducer
that demonstrates the problem. The second patch fixes the issue. The
new third patch makes ad_ticks_per_sec a static const and removes the
passing of this variable via the stack.

v5:
 * fixup kdoc
v4:
 * rebased to latest net/master
 * removed if check around bond_3ad_initialize function contents
 * created a new patch that makes ad_ticks_per_sec a static const
v3:
 * rebased to latest net/master
 * addressed comment from Hangbin

Jonathan Toppins (3):
  selftests: include bonding tests into the kselftest infra
  bonding: 802.3ad: fix no transmission of LACPDUs
  bonding: 3ad: make ad_ticks_per_sec a const

 MAINTAINERS                                   |  1 +
 drivers/net/bonding/bond_3ad.c                | 41 ++++------
 drivers/net/bonding/bond_main.c               |  2 +-
 include/net/bond_3ad.h                        |  2 +-
 tools/testing/selftests/Makefile              |  1 +
 .../selftests/drivers/net/bonding/Makefile    |  6 ++
 .../net/bonding/bond-break-lacpdu-tx.sh       | 81 +++++++++++++++++++
 .../selftests/drivers/net/bonding/config      |  1 +
 .../selftests/drivers/net/bonding/settings    |  1 +
 9 files changed, 108 insertions(+), 28 deletions(-)
 create mode 100644 tools/testing/selftests/drivers/net/bonding/Makefile
 create mode 100755 tools/testing/selftests/drivers/net/bonding/bond-break-lacpdu-tx.sh
 create mode 100644 tools/testing/selftests/drivers/net/bonding/config
 create mode 100644 tools/testing/selftests/drivers/net/bonding/settings

Comments

Jay Vosburgh Aug. 19, 2022, 8:13 p.m. UTC | #1
Jonathan Toppins <jtoppins@redhat.com> wrote:

>Configuring a bond in a specific order can leave the bond in a state
>where it never transmits LACPDUs.
>
>The first patch adds some kselftest infrastructure and the reproducer
>that demonstrates the problem. The second patch fixes the issue. The
>new third patch makes ad_ticks_per_sec a static const and removes the
>passing of this variable via the stack.

	For the series:

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


>v5:
> * fixup kdoc
>v4:
> * rebased to latest net/master
> * removed if check around bond_3ad_initialize function contents
> * created a new patch that makes ad_ticks_per_sec a static const
>v3:
> * rebased to latest net/master
> * addressed comment from Hangbin
>
>Jonathan Toppins (3):
>  selftests: include bonding tests into the kselftest infra
>  bonding: 802.3ad: fix no transmission of LACPDUs
>  bonding: 3ad: make ad_ticks_per_sec a const
>
> MAINTAINERS                                   |  1 +
> drivers/net/bonding/bond_3ad.c                | 41 ++++------
> drivers/net/bonding/bond_main.c               |  2 +-
> include/net/bond_3ad.h                        |  2 +-
> tools/testing/selftests/Makefile              |  1 +
> .../selftests/drivers/net/bonding/Makefile    |  6 ++
> .../net/bonding/bond-break-lacpdu-tx.sh       | 81 +++++++++++++++++++
> .../selftests/drivers/net/bonding/config      |  1 +
> .../selftests/drivers/net/bonding/settings    |  1 +
> 9 files changed, 108 insertions(+), 28 deletions(-)
> create mode 100644 tools/testing/selftests/drivers/net/bonding/Makefile
> create mode 100755 tools/testing/selftests/drivers/net/bonding/bond-break-lacpdu-tx.sh
> create mode 100644 tools/testing/selftests/drivers/net/bonding/config
> create mode 100644 tools/testing/selftests/drivers/net/bonding/settings
>
>-- 
>2.31.1
>
Jay Vosburgh Aug. 20, 2022, 4:36 a.m. UTC | #2
Jonathan Toppins <jtoppins@redhat.com> wrote:

>Configuring a bond in a specific order can leave the bond in a state
>where it never transmits LACPDUs.
>
>The first patch adds some kselftest infrastructure and the reproducer
>that demonstrates the problem. The second patch fixes the issue. The
>new third patch makes ad_ticks_per_sec a static const and removes the
>passing of this variable via the stack.

	For the series:

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


>v5:
> * fixup kdoc
>v4:
> * rebased to latest net/master
> * removed if check around bond_3ad_initialize function contents
> * created a new patch that makes ad_ticks_per_sec a static const
>v3:
> * rebased to latest net/master
> * addressed comment from Hangbin
>
>Jonathan Toppins (3):
>  selftests: include bonding tests into the kselftest infra
>  bonding: 802.3ad: fix no transmission of LACPDUs
>  bonding: 3ad: make ad_ticks_per_sec a const
>
> MAINTAINERS                                   |  1 +
> drivers/net/bonding/bond_3ad.c                | 41 ++++------
> drivers/net/bonding/bond_main.c               |  2 +-
> include/net/bond_3ad.h                        |  2 +-
> tools/testing/selftests/Makefile              |  1 +
> .../selftests/drivers/net/bonding/Makefile    |  6 ++
> .../net/bonding/bond-break-lacpdu-tx.sh       | 81 +++++++++++++++++++
> .../selftests/drivers/net/bonding/config      |  1 +
> .../selftests/drivers/net/bonding/settings    |  1 +
> 9 files changed, 108 insertions(+), 28 deletions(-)
> create mode 100644 tools/testing/selftests/drivers/net/bonding/Makefile
> create mode 100755 tools/testing/selftests/drivers/net/bonding/bond-break-lacpdu-tx.sh
> create mode 100644 tools/testing/selftests/drivers/net/bonding/config
> create mode 100644 tools/testing/selftests/drivers/net/bonding/settings
>
>-- 
>2.31.1
>
patchwork-bot+netdevbpf@kernel.org Aug. 23, 2022, 1:50 a.m. UTC | #3
Hello:

This series was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Fri, 19 Aug 2022 11:15:11 -0400 you wrote:
> Configuring a bond in a specific order can leave the bond in a state
> where it never transmits LACPDUs.
> 
> The first patch adds some kselftest infrastructure and the reproducer
> that demonstrates the problem. The second patch fixes the issue. The
> new third patch makes ad_ticks_per_sec a static const and removes the
> passing of this variable via the stack.
> 
> [...]

Here is the summary with links:
  - [net,v5,1/3] selftests: include bonding tests into the kselftest infra
    https://git.kernel.org/netdev/net/c/c078290a2b76
  - [net,v5,2/3] bonding: 802.3ad: fix no transmission of LACPDUs
    https://git.kernel.org/netdev/net/c/d745b5062ad2
  - [net,v5,3/3] bonding: 3ad: make ad_ticks_per_sec a const
    https://git.kernel.org/netdev/net/c/f2e44dffa97f

You are awesome, thank you!