Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94265cf5 authored by Flavio Leitner's avatar Flavio Leitner Committed by David S. Miller
Browse files

bonding: documentation and code cleanup for resend_igmp



Improves the documentation about how IGMP resend parameter
works, fix two missing checks and coding style issues.

Signed-off-by: default avatarFlavio Leitner <fbl@redhat.com>
Acked-by: default avatarRick Jones <rick.jones2@hp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9fe0617d
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -770,8 +770,17 @@ resend_igmp
	a failover event. One membership report is issued immediately after
	the failover, subsequent packets are sent in each 200ms interval.

	The valid range is 0 - 255; the default value is 1. This option
	was added for bonding version 3.7.0.
	The valid range is 0 - 255; the default value is 1. A value of 0
	prevents the IGMP membership report from being issued in response
	to the failover event.

	This option is useful for bonding modes balance-rr (0), active-backup
	(1), balance-tlb (5) and balance-alb (6), in which a failover can
	switch the IGMP traffic from one slave to another.  Therefore a fresh
	IGMP report must be issued to cause the switch to forward the incoming
	IGMP traffic over the newly selected slave.

	This option was added for bonding version 3.7.0.

3. Configuring Bonding Devices
==============================
+7 −5
Original line number Diff line number Diff line
@@ -1172,10 +1172,12 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
	}

	/* resend IGMP joins since active slave has changed or
	 * all were sent on curr_active_slave */
	if (((USES_PRIMARY(bond->params.mode) && new_active) ||
	     bond->params.mode == BOND_MODE_ROUNDROBIN) &&
	    netif_running(bond->dev)) {
	 * all were sent on curr_active_slave.
	 * resend only if bond is brought up with the affected
	 * bonding modes and the retransmission is enabled */
	if (netif_running(bond->dev) && (bond->params.resend_igmp > 0) &&
	    ((USES_PRIMARY(bond->params.mode) && new_active) ||
	     bond->params.mode == BOND_MODE_ROUNDROBIN)) {
		bond->igmp_retrans = bond->params.resend_igmp;
		queue_delayed_work(bond->wq, &bond->mcast_work, 0);
	}
+5 −5
Original line number Diff line number Diff line
@@ -1555,7 +1555,7 @@ static ssize_t bonding_store_resend_igmp(struct device *d,
		goto out;
	}

	if (new_value < 0) {
	if (new_value < 0 || new_value > 255) {
		pr_err("%s: Invalid resend_igmp value %d not in range 0-255; rejected.\n",
		       bond->dev->name, new_value);
		ret = -EINVAL;