Messages in this thread | | | Date | Fri, 24 Aug 2001 13:59:10 -0700 | From | Ben Greear <> | Subject | Re: Poor Performance for ethernet bonding |
| |
Thomas Davis wrote: > > Ben Greear wrote: > > > > Couldn't the bonding code be made to distribute pkts to one interface or > > another based on a hash of the sending IP port or something? Seems like that > > would fix the reordering problem for IP packets.... It wouldn't help for > > a single stream, but I'm guessing the real world problem involves many streams, > > which on average should hash such that the load is balanced... > > > > Cisco etherchannel does this, by XOR'ing the dest address with the > source address, AND'ing with # of interfaces (limiting you to a power of > 2), and then using the number to determine what channel to use. > > Now, you end up in a 4 way Etherchannel, all the traffic going down one > channel, and the none going down the other three. Does that sound like > a balanced solution?
If Cisco can't do a balanced hash, that doesn't mean the idea is bad, it just means they implemented it poorly. I would think that something as simple as: src_ip_port % num_devices would give a fairly even spread. I'm sure you could get fancier and take other fields (dst_ip_port) into account in your hash.
-- Ben Greear <greearb@candelatech.com> <Ben_Greear@excite.com> President of Candela Technologies Inc http://www.candelatech.com ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |