I disabled TCP timestamps and selective ACKs on the side with the two ADSL links (net.ipv4.tcp_sack=0, net.ipv4.tcp_timestamps=0). That way the ACK packets became smaller in size (84 byte per packet with OpenVPN overhead compared to 124 byte before), and the FTP download faster (20 Mb/s). The upload while downloading with 20 Mb/s was 0,76 Mb/s, so much better than the 15 Mb/s from my last posting which resulted in 0,87 Mb/s upload.
However 0,76 Mb/s upload for 20 Mb/s download over the two bonded VPN cnnections is still twice as much as I get when I “bond” only one connection. Tcpdump shows that the the machine with the two ADSL links is sending every ACK over both(!) connections, ie over both TAP devices. Every ACK gets therefore transmitted twice. Why is that?!
Anyway I’m probably going to give up on this, since I spent already more than 100 hours on it. Even if I can solve the problem with the duplicate ACKs, I’m still facing the problem that the overhead of the multiple VPN connections are eating up half of the upload of my lines… I guess bonding is only feasible with symmetrical lines that all have the same round trip times.