Site icon GetPageSpeed

Teaming LACP slave not getting added – Loop callback failed with: Cannot allocate memory

Red Hat Insights can detect this issue

Proactively detect and remediate issues impacting your systems.
View matching systems and remediation

Operating System and Software

  • Rocky Linux 8 with libteam-1.28-4.el8 or earlier
  • CentOS 7 with libteam-1.27-6.el7_6.1.el7 or earlier
  • Teaming with LACP runner

Problem

  • I’ve configured 2 team lacp interfaces both consisting of 2 ports using NetworkManager.
    After reboot, every interface is up with only 1 port in it.
  • messages file or journal/journalctl reports a NetworkManager or teamd error like:
Loop callback failed with: Cannot allocate memory

How to Fix

  • Rocky Linux 8 – Update teaming packages version to libteam-1.29-1.el8 or later (Errata RHBA-2020:1809)
  • CentOS 7 – Update teaming packages version to libteam-1.27-9.el7 or later (Errata RHBA-2019:2310)

Origin of the Problem

The errors indicate that the teamlib function send_and_recv() called nl_recvmsgs() which failed with -ENOMEM. Therefore the 2nd slave was not added to the team.

The error occurs because the netlink socket receive buffers for that team entry was too small.

Repaired upstream by increasing the netlink socket buffer size used in libteam: libteam: double NETLINK_RCVBUF to fix -ENOMEM error

Included in CentOS 7 on Red Hat Private Bug 1689774 and in regular package updates in Rocky Linux 8.

Diagnostic Steps

  • Enable teaming debug and look for the following errors:
eth0: Failed to set "priority".
Loop callback failed with: Cannot allocate memory
Failed loop callback: libteam_events, 0x
  • Then after boot teamdctl teamX state will show that only one slave is added.
Exit mobile version