deduplicating purposefully duplicated layer 2 traffic
0
votes
0
answers
32
views
**Pre-amble**: I am wanting to turn n + 1 connections into a single connection where the failover latency is 0 by *duplicating* traffic over multiple connections and dropping out packets on reception.
**Investigation**: I have investigated mlvpn which I've discovered simply doesn't do this, besides, I don't want to use non-stock linux components if I can avoid it.
bonding
seems to fit the bill, specifically with mode = broadcast which flat out duplicates traffic on all the links.
I have combined this with openvpn tap tunnels which are bonded on either end like so:
----- tap 0 -----
/ \
(home-router) bond0 bond0 (vps server)
\----- tap 1 ------/
There's a bunch of hoops to jump through here, and it's not perfect, but I am able to get this setup working:
1. I can tcpdump on tap0, tap1 and bond0 and see exactly what I expect to: traffic is duplicated over tap0 and tap1.
2. I can stop the openvpn process on the server and observe no activity on one of the two taps while seeing a 0 latency failover of ping on bond0
What I cannot do is deduplicate the traffic.
I have looked at nftables, ebtables, and iptables (in descending order of preference). I have also investigated eBPF.
Surely what I'm trying to achieve has been done before, I can't be the first to invent this wheel. Any ideas?
Asked by user247243
(151 rep)
Oct 31, 2024, 04:01 PM