[quagga-dev 1019] Linux and netlink

Hasso Tepper hasso at estpak.ee
Wed Apr 7 00:52:48 BST 2004


I tried to play with idea to move my routers configs to the zebra 
daemon. Would require some custom stuff to handle vlans etc. but 
nothing too hard. Started with ip addresses, but ...

Moved ip addresses of 70 vlan interfaces to the zebra.conf and no go. 
Zebra daemon isn't able to start and machine hangs. All I see is a 
lot of "recvmsg overrun" messages. After some googling I tried to 
play with two ideas.

1) Increasing buffer size with SO_RCVBUF. I got it working with huge 
buffers, but I wouldn't rely on it in production system. There is no 
way I can quarantee that I don't hit limit again if number of vlan 
interfaces is increased.

2) Disabling netlink at all. But in this case I loose features. No 
proto zebra flag, no equalize flag etc. Also, it seems that it's 
missing some privs raise/lower bits (I will look into it later, but 
it's not high priority).

So, there is no go at the moment. I still have to configure my routers 
in two places - interfaces/addresses in init scripts and routing in 
quagga.

But all this netlink stuff sounds quite dangerous for me and should be 
fixed somehow IMHO. According to linux network developers correct 
solution would be detect that something was lost and resync:

http://oss.sgi.com/projects/netdev/archive/2001-01/msg00215.html
(whole thread is quite interesting reading)

Ideas?


-- 
Hasso Tepper
Elion Enterprises Ltd.
WAN administrator



More information about the Quagga-dev mailing list