Does OpenWrt have that feature?

Hi
Sorry for my stupid first post here. I looking for an "easy" way to stream Video Data from unreliably Network Connection aka Cell Phone to an Cloud Side.
My idea is by control everything it should be possible to get the Data truth.

So I know "some" Router on the Market support that one Package is send over multiple Wan connection (to the Cloud where some Software Router sit) who only the first package get used and the other get trown away.
I know, I know some People say use fail over but that is way to slow since you cant know if the package you send over an other Simcard is getting truth either.
Thanks

Please post

ubus call system board

From your OpenWRT device.

1 Like

If you are looking for an off-the-shelf solution, the answer is no.

Next aspect a consider is that there isn't (as far as I know) any solution that works on just one end. You will need to have one component on each side of the connection.

The closer solution is probably mwan3; but it can do fail over when an interface fails, not redundancy.

For unreliable connections between two nodes, you can try to add redundancy with https://github.com/wangyu-/UDPspeeder, but it does not handle multiple interface (at least explicitly).

You can also try with the "broadcast" mode for Linux's channel bonding.

What does "unreliable" mean?

Static or dynamic packet loss or time-dependent complete link-out?

Some stuff you could look into:

  • udpspeeder (as mentioned above)
  • mptcp
  • glorytun

Those three do static FEC, MP (TCP) and MP (UDP) + VPN respectively.

In theory I guess you could run fx. udpspeeder+glorytun together and compensate both for packet losses and link-out.

For udpspeeder, you will probably need a UDP-based VPN running over it, for mptcp you will probably need a TCP-based VPN running over it, to make regular applications work.

MPTCP comes with a "path manager" that dynamically selects paths. It's part of the Linux kernel so should be of good quality. One could conceivably get OpenVPN to run on top of it.

I think that the usefulness of udpspeeder is limited to high latency links with packet losses that are pretty static. It does not have a feedback mechanism nor a "loss manager" to automatically adjust FEC parameters. Also debatable if it might not be better to use FEC lower in the stack before frames are discarded anyway by the ethernet FCS, so that the algorithm could correct bitflips and not just lost frames.

There are various projects and packages out there that might make the process easier (v2ray, openmptcprouter, tinyfecvpn, glorytun, many more).

If you don't need FEC and don't care about duplicated traffic, you could also look into something like what wireguard-multipath does, fx. using tc mirred action or nftables dup statement to mirror an encrypted tunnel over two paths.

Finally, there's also failover. For example, mwan3 can probe different paths and route around links that go silent.

Ooh, interesting suggestion!

1 Like

There are some forks with mptcp, you need 3-4 mostly up channels to elect ultimate truth in like databases or NTP.
It is really not clear from your post what you are willing to achieve.

1 Like