[PATCH 4/4] bond_alb: put all slaves into promisc

From: Jarod Wilson
Date: Tue May 18 2021 - 17:09:35 EST


ALB mode bonding can receive on all slaves, so it would seem to make sense
that they're all in promisc, unlike other modes that have a primary
interface and can only receive on that interface.

Cc: Jay Vosburgh <j.vosburgh@xxxxxxxxx>
Cc: Veaceslav Falico <vfalico@xxxxxxxxx>
Cc: Andy Gospodarek <andy@xxxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
Cc: Thomas Davis <tadavis@xxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx
Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx>
---
drivers/net/bonding/bond_main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index d71e398642fb..93f57ff1c552 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -644,9 +644,10 @@ static int bond_check_dev_link(struct bonding *bond,
static int bond_set_promiscuity(struct bonding *bond, int inc)
{
struct list_head *iter;
- int err = 0;
+ int mode, err = 0;

- if (bond_uses_primary(bond)) {
+ mode = BOND_MODE(bond);
+ if (mode == BOND_MODE_ACTIVEBACKUP || mode == BOND_MODE_TLB) {
struct slave *curr_active = rtnl_dereference(bond->curr_active_slave);

if (curr_active)
--
2.30.2