[quagga-dev 1380] Re: Dynamic Reconfiguration of Quagga (OSPF)

Paul Jakma paul at clubi.ie
Wed Aug 4 05:00:07 BST 2004

On Wed, 4 Aug 2004, Matt Brown wrote:

> Initial testing with Quagga 0.96.4 indicates that it cannot handle 
> interfaces being taken up and down while it is running, let alone 
> having IP addresses and networks change. When these things happen 
> Quagga (perhaps understandably :)) seems to give up and sit there 
> doing nothing.


> I notice in the changelog for 0.96.5 there were some patches 
> applied to deal with dynamic point-to-point interfaces, but a note 
> seemed to suggest this support was still not complete.

Well, ospfd should be fine. I'm not aware of any major problem with 
interface events in ospfd as of 0.96.4, and if there are, it's a bug.

> My question is twofold.
> 1) Does quagga currently support interface configuration and status
> changing while quagga is running?

It should yes, else it's a bug.

- ospfd should not have issues with dealing with interface events 
(reported to it by zebra). If you see inconsistencies between ospfd's 
view of interfaces and zebra's, and 'debug ospf zebra' shows that 
ospfd is receiving the appropriate events, it's a bug.

- zebra generally does not have issues, however, the netlink method 
on linux does. Netlink is unreliable, and (AIUI) requires users to 
detect inconsistencies and cope (reissue messages and potentially 
resynchronise state with the kernel). zebra does not do this. The 
problem occurs if you have lots of netlink events (eg lots of 
interfaces, and/or a very high rate of events proportional to # of 
interfaces). In this case, zebra will not be consistent with kernel.

This can be worked around bi specifying --disable-netlink as a 
configure option, however you lose ECMP cability.

> 2) If not (which I assume is the answer to 1), would it be feasible to
> implement that functionality? what would be required?

Depends, if zebra loses consistency with kernel, then you're hitting 
the netlink problem, which requires a good bit of work to fix.

Else, if ospfd becomes inconsistent with zebra, that should fixable, 
if you can provide 'debug ospf zebra' logs and other relevant 

> With regards to question 2 my thinking is that there must be some 
> way to do it as I can reconfigure the router via the VTY interface, 
> all I need is some way to do this programmatically.

If I understood your question correctly, you shouldnt need to 
externally (manually or programmatically) adjust zebra/ospfd to deal 
with kernel interface changes.

> I look forward to receiving your feedback.

see above ;)

> Regards

Paul Jakma	paul at clubi.ie	paul at jakma.org	Key ID: 64A2FF6A
Tact, n.:
 	The unsaid part of what you're thinking.

More information about the Quagga-dev mailing list