Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
My point was that balance-rr is the ONLY mode to provide multiple link aggregation for a single tcp stream. That said, the switch's cooperation is only necessary when a switch is present. The documentation spells out why. As both interfaces share the same MAC address, the switch will recognize only one of them, thus only forwarding packets to it. Trunking/etherchannel will allow the switch to direct traffic to both ports. It would seem this problem would not exist if a switch is not present, however, I have never tested that scenario personally. The documentation also mentions that with this mode, packets can arrive out-of-order, requiring reassembly which will eat into any throughput gain otherwise realized. Again, whether this problem exists without a switch is unknown to me. You can use tcpdump to sniff the underlying interfaces. Pay attention to the sequence numbers and timestamps, IIRC, if you view the dump in wireshark, it will helpfully show you out-of-order segments. The documentation I linked discusses this condition along with some possible mitigating strategies. I tested this configuration a few years back, and was able to get around 1.2Gbps for a single stream out of two bonded 1Gbps links. Of course I was using a switch for my testing, as I had more that two machines involved.