How did Linux bonding not work? Did you try balance-xor and did you set miimon and arp_interval to something besides the default 0?
The type of bonding I talked about in the article was all PPP link bonding, which apparently still has a lot of issues to work out in Linux. Our two-line bond was pretty unreliable, and our attempts at a three-line bond ended up with a lot of return packets going nowhere. Didn't matter which lines we picked, either.