What is the difference between balance-rr and 802.3ad with xmit_hash_policy set to layer3+4


  This algorithm is not fully 802.3ad compliant.  A
    single TCP or UDP conversation containing both
    fragmented and unfragmented packets will see packets
    striped across two interfaces.  This may result in out
    of order delivery.  Most traffic types will not meet
    this criteria, as TCP rarely fragments traffic, and
    most UDP traffic is not involved in extended
    conversations.  Other implementations of 802.3ad may
    or may not tolerate this noncompliance.

802.3ad with xmit_hash_policy set to layer3+4 is a bonding mode that is one of the standard, sensible, and widely used ones. Like many others it doesn't allow >100% throughput for a single TCP connection. In practice the fragmented packet disclaimer you quoted is not relevant as far as I've seen.

balance-rr is a very specific and rarely used balancing mode. It's mainly useful for a dedicated backup-restore subnet. When maintained with the joint network and system admin staff, with the switch specifically set up and all the servers/routers specifically set up, with a little bit of testing, you could achieve >100% throughput for a single TCP connection. Don't expect 200% though. (Remember to test both directions, unless you like your restores very slow). If a link gets down, the remaining one(s) will function.

You've already linked to a detailed technical description, so I've figured out you'd like a high-level answer.


Link aggregation group (LAG) is used not only to increase bandwidth, also it used to link backup. If one link of LAG will down the balance-rr  LAG won't work properly, but the 802.3ad LAG will work good with reduced bandwidth.

The balance-rr  LAG allows to use full LAG's bandwidth for one TCP/UDP connection, but the 802.3ad  LAG allows to use only one link bandwidth for it. The balance-rr  LAG isn't support backup-restore. It perfect works with Cisco Etherchannel LAG. Many Cisco switches support only Etherchannel LAG and don't support 802.3ad LACP.

  • "Many Cisco switches support only Etherchannel LAG and don't support 802.3ad LACP. As far as I know, Cisco switches do support both PAgP and LACP. LACP is configured on an interface with the channel-group <group> mode [active|passive] command. – Ron Maupin Mar 27 '18 at 5:08
  • Only 65xx and some others, but they didn't support layer3+4 hash. – Mikhail Khirgiy Mar 27 '18 at 5:13
  • That is completely incorrect. All current models support LACP. I think you are working from very, very old information. – Ron Maupin Mar 27 '18 at 5:14
  • I didn't say about only newest equipment. But new 2960 Catalist can't work with LACP fast mode or with layer3+4 load balance. PAgP works only between Cisco equipments. – Mikhail Khirgiy Mar 27 '18 at 5:56

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.