Reply
Regular Member
Posts: 354
Registered: ‎03-13-2008
Kudos: 32
Solutions: 2

No buffer space available

[ Edited ]

 

Hi,

I was getting these messages on an EdgeRouter v1.5.0 with quite a few VLANs and broadcast OSPF:

 

ospfd[834]: can't setsockopt IP_ADD_MEMBERSHIP (fd 8, addr 10.0.129.1, ifindex 8, AllDRouters): No buffer space available; perhaps a kernel limit on # of multicast group memberships has been exceeded?

 

It seems that net.ipv4.igmp_max_memberships is set to only 20 which is not enough. Is there any systematic way to change this setting ? I fixed it via sysctl, but I would like to make it persistent, though.

 

 

Previous Employee
Posts: 13,551
Registered: ‎06-10-2011
Kudos: 5429
Solutions: 1656
Contributions: 2

Re: No buffer space available

Could you clarify if you mean increasing the igmp_max_memberships through sysctl fixes the issue? We could look into increasing the default. For now you can also try adding a script in /config/scripts/post-config.d to set the value (the script will be executed on boot after configuration is loaded, and the /config directory is preserved across upgrade as well).

Emerging Member
Posts: 71
Registered: ‎03-04-2013
Kudos: 52
Solutions: 3

Re: No buffer space available

Curious how many routers you are running in a single OSPF area?  (I assume more than 20)

Regular Member
Posts: 354
Registered: ‎03-13-2008
Kudos: 32
Solutions: 2

Re: No buffer space available

Yes, increasing igmp_max_memberships fixes it. If I understand the logic correctly, then the script in post-config.d is run after everything is set up ? Or to be precise, after quagga is already running ? Just to know if I need to restart quagga after setting or not...

Veteran Member
Posts: 5,050
Registered: ‎03-12-2011
Kudos: 2495
Solutions: 120

Re: No buffer space available


cz_ranger wrote:

Yes, increasing igmp_max_memberships fixes it. If I understand the logic correctly, then the script in post-config.d is run after everything is set up ? Or to be precise, after quagga is already running ? Just to know if I need to restart quagga after setting or not...


You could put it in pre-config.d to make it happen before quagga starts. Man Happy

Regular Member
Posts: 354
Registered: ‎03-13-2008
Kudos: 32
Solutions: 2

Re: No buffer space available

[ Edited ]

Scissor wrote:

Curious how many routers you are running in a single OSPF area?  (I assume more than 20)


I don't know exactly (probably < 30) - but this router has only 10 neigbors as a matter of fact...

Previous Employee
Posts: 13,551
Registered: ‎06-10-2011
Kudos: 5429
Solutions: 1656
Contributions: 2

Re: No buffer space available


cz_ranger wrote:

Yes, increasing igmp_max_memberships fixes it. If I understand the logic correctly, then the script in post-config.d is run after everything is set up ? Or to be precise, after quagga is already running ? Just to know if I need to restart quagga after setting or not...


Shouldn't need to restart quagga since this is a kernel sysctl setting. Did you have to restart quagga after setting sysctl manually?

Highlighted
Regular Member
Posts: 354
Registered: ‎03-13-2008
Kudos: 32
Solutions: 2

Re: No buffer space available

Just add/remove network...

New Member
Posts: 9
Registered: ‎12-03-2014
Kudos: 5

Re: No buffer space available

I know this thread has been dead for many months but I just ran into this problem tonight. 

 

After doing some googling around I found this post: https://lists.quagga.net/pipermail/quagga-dev/2005-March/002913.html

 

In there I found that by running "echo 200 > /proc/sys/net/ipv4/igmp_max_memberships" as root I was able to fix the issue (to get it to take effect I just disabled and re-enabled the router interface). 

 

It sounds like this workaround is lost at reboot though.  I saw mention of adding it to /config/scripts/post-config.d but when I went to edit the file  "sudo vi /config/scripts/post-config.d" I got: '"/config/scripts/post-config.d" Not a regular file' 

 

1) has anyone sucessfully added this work around to post-config.d?  and has it worked?

 

2) Is this a monumentally bad idea?  If not, why hasn't UBNT fixed it in the recent firmware update (since this thread is a year old).  (that's directed at the UBNT staff on this thread).

 

Thanks,

--Andrew

Veteran Member
Posts: 5,050
Registered: ‎03-12-2011
Kudos: 2495
Solutions: 120

Re: No buffer space available


widerange wrote:

 

It sounds like this workaround is lost at reboot though.  I saw mention of adding it to /config/scripts/post-config.d but when I went to edit the file  "sudo vi /config/scripts/post-config.d" I got: '"/config/scripts/post-config.d" Not a regular file' 

 

1) has anyone sucessfully added this work around to post-config.d?  and has it worked?


 

The pre/post-config.d are not files, they are directories. Make a shell script in them and they are executed on startup.

 

I would use pre-config.d not post-config.d for this change.

 

Fore example: vi /config/scripts/pre-config.d/increase_igmp_max_memberships.sh

 

And then throw that echo command in there (with a #!/bin/bash as the first line) and chmod +x the file.

 

Good idea/bad idea? No idea, I haven't ran into this issue yet.

Reply