Hello everyone,
I have the following situation. I have two Mikrotik routers, one RB5009 and a RB450GX4. They are connected via a IP over radio link, which sees some package loss. I want to make sure that package losses are minimal/none and do so without adding any significant latency (anything more than ~20 ms). My idea now was to add a second radio link, bond both interfaces together and use broadcast mode, to always get a package (assuming that package losses are independent between the links). I was experimenting with the above setup (note, that current experiments are done with cable connections between both routers), and found that this setup is working, but I am now getting duplicate packages when both links are operating. This is inline with the standard behaviour of the linux bonding driver, so no surprises here.
However, I do not want to have duplicate packages, so I am looking for a way to remove them. My current idea is to encapsulate the traffic going over the bonding interface and utilise the encapsulation to remove the duplicate packages. So far I have tried EOIP, but to no avail. The extended GRE header features an optional sequence number, and then drops out of order packages, which would solve my issue. I haven't tested this option yet, but the UI for GRE does not show anything about using the optional sequence, so I am not sure if this is implemented.
So, my questions are: Is the sequence feature part of the GRE or EOIP implementation of Mikrotik?
Is this generally the right way to get rid of duplicate packages or is there something else I could try as well?
And lastly, is there maybe a different way of achieving the redundancy needed (currently I am not interested in the other bonding modes, as they add too much extra time for switching between links)?
Cheers,
McCoy