Any good guides on LACP that are more up to date?

So my APU2 has now got a solid 2.5Gbps link to my modem and is able to pull 1.36Gbps over my BB connection. Unfortunately I can only run 1 of the mini-pcie Intel I225 in the router currently. So the router is a bottleneck because its only got 3 more Ethernet ports, all 1Gbps. So I wanted to setup LACP bonding but have not have much luck. I have read through Best way to configure Bonding in OpenWrt? - #25 by blazini36 and any other thread I could find but the info out there is pretty scarce.

Any suggestions for some more complete guides/info?

Also last night as I was working on this I tried to echo a slave name using;

echo +eth1 > /sys/class/net/bond-bn0/bonding/slaves

And got an error saying that it was busy and not writable. Is this to be expected/normal?

The above command was based on the info here

Thanks for any insight.

The GX-412TC Jaguar cores just barely manage to route 1 GBit/s at wirespeed without any extras, I'd doubt that you'd see an improvement with bonding on this hardware (but of course, if you already have the hardware, do try).

I mean with the 2.5Gbs on PCIe with IRQ balancing its not breaking too much of a sweat when I max out my broadband with iperf3 from the router itself

Or from my lab server while on 1Gbps

So I mean yeah its loading it hard. But then again my backup device when I tinker on this is a SLATE GL-AR750S I have it configured to be a drop in replacement and it gets beat to hell because its got a tiny cpu and 1/8th the ram.

I can always just hang my living-room switch off eth1 and my kids room switch off eth2 and it would basically have similar effect without all the effort. With more and more devices having multiple ports and the CPU to handle this, even weakly, I thought it would be a good thing to try and hash out.

The most important part it seems is the IRQ balancing. It's my belief thats why the USB adapters couldn't handle it. I've also noticed my MT7915 doesn't IRQ balance either and its a PCIe device.

Sorry to ask, but Do you have loaded the bond module?

You will need the ip-full package to get a proper iproute2...

Load the module
Set all slave devises down
Create a bond with
ip link add dev bond0 type bond

Add your slaves
ip link set dev eth0 master bond0
ip link set dev eth1 master bond0

Put all the links into state up
ip link set dev eth0 up
ip link set dev eth1 up
ip link set dev bond0 up

Of course adjust interface names.

1 Like

Thank you so very much. The ip-full package was the answer. Once I got that installed and reapplied my previous config it all worked!!

Update: Well it worked for a bit then a reboot and it did not. The ip-full package seemed to be the missing link. I will keep tinkering with it. Once I get it up and running I will come back and make sure to post all of relevance.

Did you founda way how to set it is UCI or etc network config? Yesterday I did not found anything in a hurry and was surprised. But last time I used lacp on OpenWrt is like 10y ago and if memory serves me well I had to use a startup script.
do you configure it i.e. via an rc script?

To be honest the functionality I thought I had earlier was a misconfigure. (had eth0 still as an iface in lan)

I am not having any luck with this and am sick of working on it frankly. I think I am going to stop here with it because I found a potential replacement device today and once I can get one ordered and setup we will see.

Thank you for the help!