Alternative for Bonding

Hi, I am using OpenWRT on a Raspberry Pi 4 which is capable of Bonding. I've heard that OpenMPTCPRouter can be used to bond two wan connections and add up the speeds but from reviews OpenMPTCPRouter does not give that good results. Are there any other packages or methods to configure bonding on OpenWRT that suports both TCP and UDP Protocols.

Thanks in Advance :slight_smile:

Unless you have bonding support on both ends of the link (so also supported by your ISP - or at least by a fast server in a data centre, reassembling your two WANs into one connection), link aggregation can never improve single-stream (in practice single-host) performance - it can merely distribute your LAN hosts 'fairly' over the WAN connections (and won't do a good job about this either).

1 Like

yes, OpenMPTCPRouter can "add up" multiple connections even for a single download but requires a somewhat powerfull router and a internet server.
the usefullness depends heavily on your circumstances as it its not going to be easy or cheap.
i doubt that a raspi is capable of more than 100mbps in this role.

"bonding" mostly refers to the act of spreading traffic over layer2 connections (mostly usefull in local- or datacentre networks) while OpenMPTCPRouter tells that it operates at layer3.

there is also the mwan3 package which spreads traffic over layer3 connections but does not "add them up". this is kind of a compromise, as u can specify policy which traffic should go where, but does not require a internet server as a counterpart or a particular powerful router.

@slh @fuller I want to bond several wan connections to get good UDP bandwidth which will be used for live streaming. I don't want to load balance the network. So even if I get speeds around 50Mbps then thats great. Just wanted to get to know that is it possible to get good speeds like around 50-60 Mbps on the Raspberry Pi 4 with OpenMPTCPRouter on UDP. Thanks

maybe I am missing something, how can you enable bonding on a Pi, which has a single interface?

@siga So, the first wan interface can be used with the LAN Port and the other wan2 / wan3 can be used with USB Dongles that have 4G enabled.

the PI 4 doesn't have the Ethernet connected via USB, it's a separate full bandwidth connection. it seems like a pretty good router actually. In fact these days I'd say there are only two good choices... RPI4 and x86. RPI 4 has cost availability and speed, x86 is more expensive but even faster. if you have less than 300Mbps to route, the router on a stick makes fine sense.

EDIT: ugh somehow I edited this post instead of posting a new post. sorry!

4k@60fps takes about 10mbit/s ?
are you sure such a complex setup is required?

thats nothing to sneeze at given the formfactor, but still think its a poor router device.

yea for bonding youd need a second physical interface (that will share the usb-bus with the onboard ethernet).
but a "one armed router" setup is also popular :wink:

OpenMPTCProuter actually includes ports of three programs that aren't in mainline OpenWrt.

  • MPTCP kernel module. As the name suggests, this is an extension of regular TCP, so it supports TCP traffic only. But it is common to use a TCP-based VPN to tunnel UDP traffic over MPTCP.
  • DSVPN VPN is included for that application.
  • Glorytun is a completely separate UDP multipathing system.

Any of this requires either your destination service support one of these protocols, or use of an intermediate proxy server. You will probably need to deploy your own proxy service; there don't appear to be any that are public for free or subscription-based.

Reports of poor performance are likely from people expecting too much. For example using two LTE connections to the same overloaded LTE tower won't be any better than one. If you're going to try this on LTE you would want the two modems using different companies.

4k@60fps takes about 10mbit/s ?
are you sure such a complex setup is required?

The arrogance of the spoiled?

At my fathers place there is 2Mb/s, that's all he can get. Under such conditions it is easy to daydream about load balancing several connections.

May I also politely remind you that proper case is NOT optional in units. It is silly to talk about 10 millibit per second.

thats nothing to sneeze at given the formfactor, but still think its a poor router device.

Sneeze or sneer? So there is nothing to sneer, but then you sneer anyway? Unless you share your thoughts nobody's gonna buy your point of view.

but a "one armed router" setup is also popular

That's exactly what I have in mind for my Pi4. I read somebody achieved 600 to 700 Mb/s through a Pi4. For me that's plenty headroom for any NAT toll. Bandwidth here is expensive and my ISP connection (50Mb/s currently) won't go beyond 200Mb/s in the next 10 years.

The RPi4 plus a cheap managed switch, like a TPlink sg108e is a formidable router option. Honestly at this point because of cost, flexibility, raw power, and widespread availability it's the only router I'd recommend for people with less than 400Mbps. For more than that it could be ok, but an x86 is probably better, odroid h2 has gotten decent reviews on the forum.

If you go this route you need access points separately... but that's ok.

RPi4 will have plenty of cpu for MPTCP, but you will need a VPS somewhere

I guess here was some misunderstanding at work. I only used my fathers place to illustrate that it is not smart taking for granted that everybody can stream 4k@60fps just because it "only" needs 10Mb/s. I'm not actually trying to upgrade his connection.

My efforts of bringing a Pi4 with OpenWRT online are for my own ISP connection, where I want to get rid of a Fritzbox.

Does it work for the basic routing and soforth? You are just trying to add this ISP bonding to improve your connection?