Trunk (2 port aggregation) possible?

We are both talking about local network link aggregation or bonding. It does not work like you think it works, it works more similar to the "use more service providers". The people in the link posted by frolic are also clearly talking about this.

The "use more than one modem with the same router" is called WAN Multipath, and the thing I didn't remember the name of is Multipath TCP https://en.wikipedia.org/wiki/Multipath_TCP

With link aggregation each application's communication will not be split between two ports because of technical limitations of TCP protocol, so it will cap out at the max speed of the port. It will decide on what port to run each network communication, similarly to the multipath WAN. So if you have a single application (say a web browser) that is downloading a file from a single website you will still cap out at 100Mbit. If you run another application it can use 100Mbit, using another port.
So your device will have 200Mbit bandwith, but applications will still be limited to the max speed of each port. This is good if you are running many different applications and devices at the same time on the same network, less good if you have only one device and one application using the internet (I mean actually requiring a lot of bandwith) at a time.

As another guy said in the linked thread:
When teaming NICs together, the algorithm will use only a single NIC for a given TCP stream. The reason for this is to prevent out of order TCP packets, which cause huge throughput issues for TCP. You can send a second TCP stream to a different server for additional aggregate bandwidth, but the communication between any two endpoints for a single stream will always be over a single NIC. Depending on the load distribution algorithm of the switch, it may be able to use source and destination MAC as well as source and destination port for the hash to determine which ports to use, in which case you may get more than single NIC throughput between two different endpoints if you have more than 1 TCP stream going.

Which is why Multipath TCP standard was created but is still not in production afaik.

If you are using the stable release of OpenWrt there is no web interface to do it and you should follow what is said in ththis thread Best way to configure Bonding in OpenWrt? - #2 by dlakelan (also posted by trendy above)

The development snapshot of OpenWrt (and the next stable release) should have the web interface for this feature since March 20, this is the commit that added support https://github.com/openwrt/luci/commit/33df1c154471fa9537a60e12b0f112eae4db9d1f

not sure how much overhead is "eating", neither how much running this link over multiple switches eats the available bandwidth.

I'm sure that running over multiple switches does not eat bandwith, it only increases latency but since you are using this to access the Internet it's irrelevant as the internet latency is huge if compared to local latency. You are not going to notice a 0.1 millisecond increase in latency when your average internet latency is like 60 ms or more for good sites like Google that have infrastructure all over the place.

2 Likes