LACP error issue

Brief description of the problem

Hi, I’m trying to get LACP working on my RockStor with a double ethernet ports card based on Intel V-226. Mind you, the ethernet connections work perfectly separately. Creating an 802.3ad bond works perfectly too.

When creating a team LACP connection, I get an error message copied below. I looked it up but couldn’t find anything I can comprehend to fix it myself. Does anyone understand what is going on?

Also, as a sidenote, there’s someone that had a similar problem to me but his solution was the updated RockStor 4.0.9 which fixed it. I run the 4.5.5.0 version already, and my switch supports LACP.

Detailed step by step instructions to reproduce the problem

In Network options, I click on “Add a connection”, then I create a “team” connection with the “LACP” option, using the two devices available as eth1 and eth2. I get the error whether I’ve activated an LACP aggregation on my switch or not.

Error Traceback provided on the Web-UI

Houston, we've had a problem. Error running a command. cmd = /usr/bin/nmcli c up Team-slave-0. rc = 4. stdout = ['']. stderr = ['Error: Connection activation failed: A dependency of the connection failed', "Hint: use 'journalctl -xe NM_CONNECTION=b62782bc-ee55-429d-9165-fc3bd6495d84 + NM_DEVICE=eth1' to get more details.", '']
        Traceback (most recent call last):

File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 41, in _handle_exception
yield
File “/opt/rockstor/src/rockstor/storageadmin/views/network.py”, line 342, in post
search_domains,
File “/opt/rockstor/src/rockstor/system/network.py”, line 405, in new_team_connection
new_member_helper(name, members, “team-slave”)
File “/opt/rockstor/src/rockstor/system/network.py”, line 373, in new_member_helper
run_command([NMCLI, “c”, “up”, mname])
File “/opt/rockstor/src/rockstor/system/osi.py”, line 227, in run_command
raise CommandException(cmd, out, err, rc)
CommandException: Error running a command. cmd = /usr/bin/nmcli c up Team-slave-0. rc = 4. stdout = [‘’]. stderr = [‘Error: Connection activation failed: A dependency of the connection failed’, “Hint: use ‘journalctl -xe NM_CONNECTION=b62782bc-ee55-429d-9165-fc3bd6495d84 + NM_DEVICE=eth1’ to get more details.”, ‘’]

Did you try to run the command that was mentioned in the hint?

journalctl -xe NM_CONNECTION=b62782bc-ee55-429d-9165-fc3bd6495d84 + NM_DEVICE=eth1
2 Likes

Thank you for your answer. I don’t know much about commands (didn’t know journalctl was a command) so apologies in advance for the noob questions and issues going forward.

Trying to run this command brings issues in itself. From the system shell, I am denied permission with my Rockstor account (although I am an admin). Trying my root account doesn’t work either, I’m assuming because the root account is for the linux underlying system. How can I run this command?

This is what I get from the system shell:
Dahita@RockStor:/> journalctl -xe NM_CONNECTION=b62782bc-ee55-429d-9165-fc3bd6495d84 + NM_DEVICE=eth1
Hint: You are currently not seeing messages from other users and the system.
Users in the ‘systemd-journal’ group can see all messages. Pass -q to
turn off this notice.
No journal files were opened due to insufficient permissions.

I will do my research in the meantime and update the post if I figure it out.

Edit: I’ve tried adding my account (Dahita) to the systemd-journal group using usermod -aG group username to add username to group, no dice.

Also, when logging into the system shell, I get the following message which doesn’t look too good:
login – Dahita: /home/Dahita: change directory failed: Permission denied
Logging in with home = “/”.
Directory: /
Sun 12 Jan 2025 02:59:54 PM EST
-bash: /home/Dahita/.bash_profile: Permission denied
Dahita@RockStor:/>

ah, in the system shell you will need to precede the command with sudo (and then it will ask for the root password):

sudo journalctl -xe NM_CONNECTION=b62782bc-ee55-429d-9165-fc3bd6495d84 + NM_DEVICE=eth1

In the system shell (i.e. via the WebUI) the root user is not enabled for a direct login, by design. If you use PuTTy or a similar terminal program to connect into Rockstor, then you can log in directly as the root user.

In the web shell you can also elevate the command prompt for the remainder of the session by:

su -
(and then the root password is requested). You can exit that elevated (root user) command prompt by just typing exit and hitting enter.

2 Likes

Ok, that helps, thanks! This is what I get for eth1:
Jan 12 15:20:41 RockStor NetworkManager[1448]: [1736713241.5305] device (eth1): state change: failed → disconnected (reason ‘none’, sys-iface-state: ‘managed’)
Jan 12 15:20:41 RockStor NetworkManager[1448]: [1736713241.6416] device (eth1): Activation: starting connection ‘sfsdf-slave-0’ (febba676-d65f-4d96-b34c-d6ca1b89ca45)
Jan 12 15:20:41 RockStor NetworkManager[1448]: [1736713241.6447] device (eth1): state change: disconnected → prepare (reason ‘none’, sys-iface-state: ‘managed’)
Jan 12 15:20:41 RockStor NetworkManager[1448]: [1736713241.6462] device (eth1): state change: prepare → failed (reason ‘dependency-failed’, sys-iface-state: ‘managed’)
Jan 12 15:20:41 RockStor NetworkManager[1448]: [1736713241.6466] device (eth1): Activation: failed for connection ‘sfsdf-slave-0’

What I don’t get is everything works fine separately and with 802.3ad bonding. Maybe I should just install the latest and greatest version before digging deeper?

Edit: upgraded to lastest stable version to no avail. Still get the same error message.

Edit2: looking into issues shared on this forum here, I tried this cmd to add the package dependency “team”, and I’ve got this result:
No match for argument: NetworkManager-team
Error: Unable to find a match: NetworkManager-team

Is that supposed to happen? I am trying to figure out how to list dependencies of NetworkManager to see if the team dependency really is missing.

Edit 3: I’ve tried to do it manually with cmd lines, in order:
nmcli connection add type team con-name team0 ifname team0 config ‘{“runner”: {“name”: “LACP”}}’
nmcli con add type team-slave con-name team0-slave0 ifname eth1 master team0
nmcli con add type team-slave con-name team0-slave1 ifname eth2 master team0

All created successfully. But when activating it with:
nmcli connection up team0
I get the very same error. If I look at the status of the connections, I see that eth 1 is disconnected, whereas eth 2 state is labelled in yellow as “connecting (prepare)”:
Screenshot 2025-01-12 182902

When I try to start eth1, using:
nmcli connection up team0-slave0
I get:
Error: Connection activation failed: Master device ‘team0’ can’t be activated: Device unmanaged or not available for activation
Here’s the error message in the journal when trying to start team0:
Jan 12 18:31:16 RockStor NetworkManager[633]: [1736724676.0218] device (team0): state change: prepare → failed (reason ‘none’, sys-iface-state: ‘managed’)
Jan 12 18:31:16 RockStor NetworkManager[633]: [1736724676.0220] device (team0): Activation: failed for connection ‘team0’
Jan 12 18:31:16 RockStor NetworkManager[633]: [1736724676.0226] device (team0): state change: failed → disconnected (reason ‘none’, sys-iface-state: ‘managed’)
Jan 12 18:31:16 RockStor NetworkManager[633]: [1736724676.0227] device (team0): Activation: (team) failed to start teamd: teamd binary not found
Jan 12 18:31:16 RockStor NetworkManager[633]: [1736724676.0726] device (team0): state change: disconnected → unmanaged (reason ‘user-requested’, sys-iface-state: ‘managed’)

Couldn’t install teamd using yum install teamd (Error: Unable to find a match: teamd).

Is that the issue?

the forum entry you found was related to the now legacy CentOS version. And with OpenSUSE zypper is used for package installation, yum is only used for administrative purposes (changelog views).

Thanks, I’ve tried installing teamd using zypper, to no avail:
“zypper install teamd
Loading repository data…
Warning: Repository ‘Leap_15_4_Updates’ appears to be outdated. Consider using a different mirror or server.
Warning: Repository ‘Update repository of openSUSE Backports’ appears to be outdated. Consider using a different mirror or server.
Reading installed packages…
‘teamd’ not found in package names. Trying capabilities.
No provider of ‘teamd’ found.
Resolving package dependencies…
Nothing to do.”

Update: Because life as we know it is over, ChatGPT guided me throught hours of troubleshooting that I will spare you the details of. So I had to update and/or add repositories, install pkg-config and jansson to be able to install teamd. Now testing teamd.

Update2:I get a “interrupted” when trying to start eth2. I get “failed” when trying to start eth1.
journal issue for eth2:
Activation: starting connection ‘team0-slave1’ (3b212951-d96a-4400-a2a2-b603b41d3f36)
device (eth2): state change: disconnected → prepare (reason ‘none’, sys-iface-state: ‘managed’)
device (eth2): state change: prepare → config (reason ‘none’, sys-iface-state: ‘managed’)
device (eth2): state change: config → deactivating (reason ‘dependency-failed’, sys-iface-state: 'man>
device (eth2): state change: deactivating → disconnected (reason ‘dependency-failed’, sys-iface-state

journal issue for eth1:
Activation: failed for connection ‘team0-slave0’
device (eth1): state change: failed → disconnected (reason ‘none’, sys-iface-state: ‘managed’)
device (eth1): Activation: starting connection ‘team0-slave0’ (c8c62233-27db-4d4a-9a18-d093614682df)
device (eth1): state change: disconnected → prepare (reason ‘none’, sys-iface-state: ‘managed’)
device (eth1): state change: prepare → failed (reason ‘dependency-failed’, sys-iface-state: ‘managed’

As puzzled as ever.

Update 2234123: The team kernel module and several team modes (e.g., broadcast, roundrobin, activebackup, loadbalance) are compiled as modules (m). However, LACP (CONFIG_NET_TEAM_MODE_LACP) is not listed, meaning the kernel lacks native support for this teaming mode.

This may explain why regular bond set at loadbalance works fine. I will keep digging.

1 Like

The problem I’m facing is, this kernel seems to be missing a few components that we need to install this LACP module. I went from issue to issue (a big one being a signature issue that couldn’t be disabled/bypassed) until the concensus became switching to a prebuilt kernel, but I don’t know the consequences when used with RockStor. I’m stopping my research because I don’t need this feature this bad for now, but it would be great to list it as an issue somewhere and make sure the feature is included in the Kernel used by RockStor.

Please let me know if I can help with that, I’ll learn as I go!

1 Like

Update: the issue is that libteam-tools and libteam5 are not installed by default in the opensuse kernel used, nor in the latest stable kernel. this leads to a missing support for team_mode_lacp, confirmed by checking /proc/config.gz that lists all the

I had to update the kernel to latest, install both packages and bingo.

Steps (summarized by ChatGPT):

Step 1: Switch to a Compatible Kernel

Added the Kernel:Stable repository to access a newer kernel version with LACP support:

sudo zypper ar /repositories/Kernel:/stable/standard - openSUSE Download kernel-stable
sudo zypper refresh
sudo zypper install kernel-default

Rebooted into the new kernel and confirmed the version:

uname -r

Step 2: Install libteam-tools for teamd

Installed the necessary tools and libraries for teamd:

sudo zypper install libteam-tools libteam5

Verified teamd functionality:

teamd -h

Confirmed that lacp appeared in the available runners.

1 Like

WOW! Think about a 20Gbps connection using dual 10G ports! First thoughts are how it would work with a simple multiport 10G switch… and are there any dual 10Gbps NICs out there…

Settle down my pitter-patting heart! :heart_eyes:

:sunglasses:

2 Likes

Glad you persisted!!! This is good to know, and could possibly be added to the core Rockstor, if LACP is continued to be offered via the WebUI. Or at least some tooltip instruction/documentation on how to get it working.

2 Likes