slpd.log growing and filling up the SYS volume

  • 7025219
  • 27-Jul-2021
  • 27-Jul-2021

Environment

Open Enterprise Server 2018 (OES 2018) Linux

Situation

Received an error saying that the SYS volume was out of space

Resolution

In this case the /var/log/slpd.log file was taking up all of the space.

The slpd.log file had errors and hex dumps that looked like this:
*** WARNING Parse Error ***
Peer IP address: 10.10.10.1
message size = 1400
message dump follows:
0x02(' ') 0x03(' ') 0x00(' ') 0x05(' ') 0xf7(' ') 0x40('@') 0x00(' ') 0x00(' ') 0x05(' ') 0xee(' ')
0xe6(' ') 0x27(''') 0x00(' ') 0x02(' ') 0x65('e') 0x6e('n') 0x00(' ') 0xff(' ') 0xff(' ') 0x00(' ')
0x4e('N') 0x73('s') 0x65('e') 0x72('r') 0x76('v') 0x69('i') 0x63('c') 0x65('e') 0x3a(':') 0x6d('m')
0x61('a') 0x6e('n') 0x61('a') 0x67('g') 0x65('e') 0x6d('m') 0x65('e') 0x6e('n') 0x74('t') 0x2d('-')
...

Those errors were caused by SLP Service Registration packets received that were larger than the default 1400 bytes SLP MTU.

In the /etc/slp.conf file increase the MTU size.
The default MTU size is 1400 and it looks like this in the slp.conf file.
;net.slp.MTU = 1400

Remove semicolon from the front of the line.
Then increase the MTU value to a size sufficient for all SLP Service Registrations in your environment.
Example:
net.slp.MTU = 2048
openslp.org just says that the default is 1400.
Other documents say that you can go up to 8196.
Just make it large enough to allow your registrations.

Then stop the slp service remove the log file and start the service again.
rcslpd stop
rm /var/log/slpd.log
rcslpd start

Cause

SLP Service Registrations were coming in multiple udp packets and could not be parsed by the SLP daemon with the default net.slp.MTU size of 1400.