[Babel-users] some increased setsockopt options

Dave Taht dave.taht at gmail.com
Fri Nov 9 14:48:01 GMT 2018


Overnight, beating up my babeld branch... 8k routes is a pretty
"comfortable" figure for everything running... (but all the openwrt
boxes churn madly
on dnsmasq/odhcpd/babel in general).

4k, nothing even blinksor burps now...

odhcpd:

readv(11, [{iov_base="", iov_len=0}, {iov_base="000000 40
0000000000000000000000"..., iov_len=1024}], 2) = 1024

and dnsmasq spins with poll returning every 6ms....

clock_gettime(CLOCK_REALTIME, {tv_sec=1541773935, tv_nsec=446319458}) = 0
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6,
events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9,
events=POLLIN}, {fd=10, events=POLLIN}, {fd=11, events=POLLIN},
{fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=14,
events=POLLIN}, {fd=15, events=POLLIN}, {fd=16, events=POLLIN},
{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19,
events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN},
{fd=22, events=POLLIN}, {fd=23, events=POLLIN}, {fd=24,
events=POLLIN}, {fd=25, events=POLLIN}, {fd=26, events=POLLIN},
{fd=27, events=POLLIN}, {fd=28, events=POLLIN}, {fd=29,
events=POLLIN}, {fd=30, events=POLLIN}, {fd=31, events=POLLIN},
{fd=32, events=POLLIN}, {fd=33, events=POLLIN}, {fd=34,
events=POLLIN}, {fd=35, events=POLLIN}, ...], 45, -1) = 1 ([{fd=5,
revents=POLLERR}])
clock_gettime(CLOCK_REALTIME, {tv_sec=1541773935, tv_nsec=453018631}) = 0

Even after my 64k routes from yesterday are long gone, dnsmasq keeps
spinning this way. Perhaps that's a bug, or it's hundreds of mb
behind. But I killed and restarted it everywhere...

Anyway...

The attached patch, post-bpf, arbitrarily upping the snd and rcv buf
values, silenced all
the write errors (ENOBUFs) I normally get, and all but one of:

netlink_read: recvmsg(): No buffer space available

I'm not huge on this much buffering on teeny systems,
(the righter answer is to do recv faster)

but perhaps in this modern era, a quick check on how much real memory
is available and upping these would help a bit - or for example,
doubling them when an error happens. I was going to fiddle a bit with
the pacing option, in the case of mcast in particular, and look at
what bird sets for defaults here. I'm out of time this week.


--

Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-205-9740
-------------- next part --------------
A non-text attachment was scrubbed...
Name: setsockopt.patch
Type: application/x-patch
Size: 2038 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/babel-users/attachments/20181109/15f67b60/attachment.bin>


More information about the Babel-users mailing list