I have two embedded Linux computers that will serve as routers, and they both an LTE modem and a radio device (that operates on L2). In my current setup, I emulate the radio link with a plain cable.
I must achieve as much redundancy as possible (ideally I would love to combine the bandwidth, but this is not the primary goal), that is, if either the radio or the LTE link were to fall, the connection has to switch on the other. Duplicating the traffic is an option. Also, the LTE link has to be tunnelized since otherwise the operator routes the packets in the wild.
I have tried in the past with MPTCP and it has been a disaster — it is by far not stable enough for my purposes, I do need a reliable and time-proven solution.
I have finally managed to bond a tunnel and the fake radio link together by using a GRETAP tunnel, but as soon as I remove the cable (fake radio link) the connection drops for tens of seconds (the first ping had a delay of 24 seconds!). The bond was configured in broadcast mode, since I’ve guessed that would have given me the highest reliability.
Am I using the wrong tool for the job? I have also though of using a routing protocol to handle the situation (e.g., OSPF + Bidirectional Forwarding Detection to see when a link is down), but it seems crazily complicated for me (embedded systems engineer, not a network guy…) and I fear that setting the thresholds for link detection could be a nightmare (given the latency of LTE).
Should I invest more time in parametrizing the bonding (and, eventually, trying teaming) or should I give up and find someone to configure proper routing?