[lldp] Increase lldp netlink buffer limits to fix neighbors missing on swss restart #24752
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes "No buffer space available" issue in lldp during swss restart that casues neighbors to disappear in lldp.
Why I did it
When enough neighbors exit for a switch (>211), LLDP will stop reporting the last few neighbors after swss restarts. This happens even though the tcp packets from those neighbors are still arriving over the ports. This is because the netlink buffer is filled up when the restart occurs and the netlink delete messages are not received by lldp, this leads to the service not including the new neighbors over those ports, which will persist until lldp is restarted:
root@sonic:/home/admin# docker exec -it lldp lldpcli show interfaces | grep -A 5 Ethernet520
Interface: Ethernet520
Administrative status: RX and TX
Chassis:
ChassisID: mac
SysName: sonic
SysDescr: SONiC Software Version: SONiC.202412_RC
Interface: Ethernet520
Administrative status: RX and TX
Chassis:
ChassisID: mac
SysName: sonic
SysDescr: SONiC Software Version: SONiC.202412_RC
root@sonic:/home/admin# show lldp table | grep "Ethernet520"
root@sonic:/home/admin#
LLDP buffer errors:
syslog.1:2025 Dec 4 14:39:20.084820 sonic WARNING lldp#lldpd[30]: unable to receive netlink answer: No buffer space available
syslog.1:2025 Dec 4 14:39:20.0850sonic INFO lldp#supervisord: lldpd 2025-12-04T14:39:20 [WARN/netlink] unable to receive netlink answer: No buffer space available
How I did it
By increasing both the minimum and maximum netlink receive buffer in LLDP I was able to fix this issue
How to verify it
Run:
show lldp table
systemctl restart swss
Check without the change to see if the lldp buffer cannot handle all of the neighbors, then install a version of Sonic with the change to check that the larger buffer fixes this issue.
Which release branch to backport (provide reason below if selected)
Description for the changelog
Increase lldp netlink buffer limits to fix neighbors missing on swss restart
A picture of a cute animal (not mandatory but encouraged)