bond_3ad.c: why does bond_3ad_set_carrier() check if the mac partnet mac is set.

From: Laurent Chavey <hidden>
Date: 2007-06-01 01:46:46

if a host configured with 802.3ad bond mode is connected to a switch
that does not support 802.3ad,  then an aggregator is selected as the
active aggregator (first link that has carrier in the slave list).
This is perfectly fine, since it lets at least one of the link become active.
(this was the behavior prior to 2.6.18)

In 2.6.18 and above, a new check for the partner mac address was added
before an aggregator's carrier is set on. If a host is  configured as
previously
described,  then no links will become active.

is that the intended behavior ?


-----
in the scenario described here, the partner mac address is always set to NULL.
so the statement is always false.

	if (agg && MAC_ADDRESS_COMPARE(&agg->partner_system, &null_mac_addr)) {
		if (!netif_carrier_ok(bond->dev)) {
			netif_carrier_on(bond->dev);
			return 1;
		}
		return 0;
	}
----
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help