Skip to contentSkip to conversation

Is 802.3ad mode in bonding useful ?

DISCUSSION WeipingPan 5 participants 9 messages Apr 28, 2011 – Apr 29, 2011 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

WeipingPan

author
#0 lore raw

Hi, all,

802.3ad mode in bonding implements 802.3ad standard.

I am just wondering 802.3ad mode is useful,
since bonding has many modes like balance-rr, active-backup, etc.

thanks
Weiping Pan

#1 lore raw
Quoted 7 lines · WeipingPan

Hi, all,

802.3ad mode in bonding implements 802.3ad standard.

I am just wondering 802.3ad mode is useful,
since bonding has many modes like balance-rr, active-backup, etc.

Yes, of course its usefull. For switches which support 802.3ad, this mode allows for both peers to understand that the links in the bond are acting as an aggregate, which makes it easier to prevent things like inadvertently looped back frames, for which the other modes have to have all sorts of hacks to prevent.
Neil

Quoted 7 lines

thanks
Weiping Pan
--
To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 0FBC7C9C2640634A8B837C2EFFCFF32F0184732D72@SHEXMB-01.global.atheros.com

#3 lore raw
Quoted 2 lines · Xiong Huang

Is there any plan to support cisco FEC/GEC protocol in bonding ?

Not explicitly, no, since roundrobin/xor modes should be compatible already, and etherchannel can interoperate with 802.3ad bonds if the switches etherchannel is configured to be in lacp mode:

Neil

Quoted 34 lines

-Xiong
________________________________________
发件人: [email protected] [[email protected]] 代表 Neil Horman [[email protected]] 发送时间: 2011年4月28日 5:21
收件人: WeipingPan
抄送: [email protected]
主题: Re: Is 802.3ad mode in bonding useful ?

Quoted 7 lines · WeipingPan

Hi, all,

802.3ad mode in bonding implements 802.3ad standard.

I am just wondering 802.3ad mode is useful,
since bonding has many modes like balance-rr, active-backup, etc.

Yes, of course its usefull. For switches which support 802.3ad, this mode allows for both peers to understand that the links in the bond are acting as an aggregate, which makes it easier to prevent things like inadvertently looped back frames, for which the other modes have to have all sorts of hacks to prevent.
Neil

Quoted 7 lines

thanks
Weiping Pan
--
To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

author
#4 lore raw
In reply to Neil Horman
Quoted 5 lines · Neil Horman
Quoted 4 lines · WeipingPan

Hi, all,

802.3ad mode in bonding implements 802.3ad standard.

Quoted 8 lines
Quoted 3 lines

I am just wondering 802.3ad mode is useful,
since bonding has many modes like balance-rr, active-backup, etc.

Yes, of course its usefull. For switches which support 802.3ad, this mode allows for both peers to understand that the links in the bond are acting as an aggregate, which makes it easier to prevent things like inadvertently looped back frames, for which the other modes have to have all sorts of hacks to prevent.

What is looped back frames here ?
I didn't see any special code to handle looped back frames in other modes in bonding, can you take an example ?

thanks
Weiping Pan

Quoted 2 lines

Neil

#5 lore raw
Quoted 9 lines · WeipingPan
Quoted 8 lines · Neil Horman
Quoted 7 lines · WeipingPan

Hi, all,

802.3ad mode in bonding implements 802.3ad standard.

I am just wondering 802.3ad mode is useful,
since bonding has many modes like balance-rr, active-backup, etc.

Quoted 6 lines
Quoted 5 lines

Yes, of course its usefull. For switches which support 802.3ad, this mode allows for both peers to understand that the links in the bond are acting as an aggregate, which makes it easier to prevent things like inadvertently looped back frames, for which the other modes have to have all sorts of hacks to prevent.

What is looped back frames here ?

In this case they are frames that get received by the bond, which the bond itself sent. In modes where more than one slave is active, and in which the switch has no additional knoweldge of the aggregate (e.g. round robin mode), the bond can send a frame on one slave, which the switch may broadcast to all ports, causing the frame just sent by the bond to then get received on another slave.

Quoted 4 lines

I didn't see any special code to handle looped back frames in other modes in bonding,
can you take an example ?

See bond_handle_frame.

Neil

Quoted 7 lines

thanks
Weiping Pan

Quoted 2 lines

Neil

author
#6 lore raw
Quoted 22 lines · Neil Horman
Quoted 9 lines · WeipingPan
Quoted 8 lines · Neil Horman
Quoted 7 lines · WeipingPan

Hi, all,

802.3ad mode in bonding implements 802.3ad standard.

I am just wondering 802.3ad mode is useful,
since bonding has many modes like balance-rr, active-backup, etc.

Quoted 6 lines
Quoted 5 lines

Yes, of course its usefull. For switches which support 802.3ad, this mode allows for both peers to understand that the links in the bond are acting as an aggregate, which makes it easier to prevent things like inadvertently looped back frames, for which the other modes have to have all sorts of hacks to prevent.

What is looped back frames here ?

In this case they are frames that get received by the bond, which the bond itself sent. In modes where more than one slave is active, and in which the switch has no additional knoweldge of the aggregate (e.g. round robin mode), the bond can send a frame on one slave, which the switch may broadcast to all ports, causing the frame just sent by the bond to then get received on another slave.

Quoted 8 lines
Quoted 4 lines

I didn't see any special code to handle looped back frames in other modes in bonding,
can you take an example ?

See bond_handle_frame.

Neil

Oh, I got it.

Thanks for your clear explanation !
Weiping Pan

#7 lore raw
In reply to Neil Horman
Quoted 7 lines · Neil Horman
Quoted 6 lines · WeipingPan
Quoted 5 lines · Neil Horman
Quoted 4 lines · WeipingPan

Hi, all,

802.3ad mode in bonding implements 802.3ad standard.

Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 3 lines

I am just wondering 802.3ad mode is useful,
since bonding has many modes like balance-rr, active-backup, etc.

Yes, of course its usefull. For switches which support 802.3ad, this mode allows for both peers to understand that the links in the bond are acting as an aggregate, which makes it easier to prevent things like inadvertently looped back frames, for which the other modes have to have all sorts of hacks to prevent.

I believe another use for 802.3ad is to monitor the aggregation "actively" (by sending special LACP packets) and to detect any kind of failure of the other end of one of the slaves more rapidly (than if relying on something like carrier detect). This may improve availability, although that depends on the specific network topology and capabilities in the switch(es). There is information on this in Documentation/networking/bonding.txt.

Quoted 5 lines
Quoted 1 line

What is looped back frames here ?

In this case they are frames that get received by the bond, which the bond itself sent. In modes where more than one slave is active, and in which the switch has no additional knoweldge of the aggregate (e.g. round robin mode), the bond can send a frame on one slave, which the switch may broadcast to all ports,

Isn't this (broadcasting or repeating on all ports other than incoming) more associated with simple hubs rather than switches? I would think any switch with layer 2 capability does not do that (does it?)

Quoted 3 lines

causing the frame just sent by the bond to then get received on another slave.

#8 lore raw
Quoted 10 lines
Quoted 5 lines
Quoted 1 line

What is looped back frames here ?

In this case they are frames that get received by the bond, which the bond itself sent. In modes where more than one slave is active, and in which the switch has no additional knoweldge of the aggregate (e.g. round robin mode), the bond can send a frame on one slave, which the switch may broadcast to all ports,

Isn't this (broadcasting or repeating on all ports other than incoming)
more associated with simple hubs rather than switches? I would think
any switch with layer 2 capability does not do that (does it?)

Perhaps when a frame is sent via the bond to a destination MAC not yet learned by the switch?

Until a switch sees a MAC as a src, it does not know to which port the frame(s) should be forwarded, so it must send the frame out all ports but the ingress port.

rick jones

#9 lore raw
In reply to Neil Horman
Quoted 15 lines · Neil Horman
Quoted 14 lines · WeipingPan
Quoted 13 lines · Neil Horman
Quoted 7 lines · WeipingPan

Hi, all,

802.3ad mode in bonding implements 802.3ad standard.

I am just wondering 802.3ad mode is useful,
since bonding has many modes like balance-rr, active-backup, etc.

Yes, of course its usefull. For switches which support 802.3ad, this mode allows for both peers to understand that the links in the bond are acting as an aggregate, which makes it easier to prevent things like inadvertently looped back frames, for which the other modes have to have all sorts of hacks to prevent.

Quoted 6 lines
Quoted 1 line

What is looped back frames here ?

In this case they are frames that get received by the bond, which the bond itself sent. In modes where more than one slave is active, and in which the switch has no additional knoweldge of the aggregate (e.g. round robin mode), the bond can send a frame on one slave, which the switch may broadcast to all ports, causing the frame just sent by the bond to then get received on another slave.

Actually, the round-robin (balance-rr) and balance-xor modes
were originally meant to interoperate with a switch configured for traditional Etherchannel (old versions of Sun Trunking, etc) the common term in use now seems to be "static link aggregation" to distinguish it from 802.3ad dynamic link aggregation. When the switch is set up that way, there are no loopback problems, because the switch knows that all of the ports are really one big aggregate, and it won't send broadcast or multicast packets to more than one port of the aggregation, and knows that a bcast/mcast originating from one of those ports should not loop back to another port of the aggregation.

What Neil is talking about is running -rr or -xor against,
basically, a hub or unmanaged switch, in which the switch (a) doesn't have any link aggregation capabilities, and (b) won't complain when it sees the same MAC address coming in from multiple ports more or less simultaneously. Managed switches (that have link aggregation capabilities) will generally complain about "flapping" if they see the same source MAC address arrive on multiple switch ports in a short period of time.

The special hacks now in bond_handle_frame aren't really about
preventing loopbacks, but rather to suppress duplicates, particularly for the short periods of time that a switch is flooding traffic to all ports because its mac table is not up to date. This is an issue in, e.g., active-backup mode, in which the switch has no special configuration. This code has moved around a lot lately, so older kernels will have a substantially different layout, although the logic is still pretty much the same.

I don't recall that there's anything specifically to suppress
loopbacks for -rr or -xor mode, although there is transmit logic to keep things like IGMP messages on the same slave all the time to keep the switches happier.

Quoted 5 lines
Quoted 4 lines

I didn't see any special code to handle looped back frames in other modes in bonding,
can you take an example ?

See bond_handle_frame.

	The actual testing logic is in bond_should_deliver_exact_match.

	-J

---
-Jay Vosburgh, IBM Linux Technology Center, [email protected]