[Xorp-users] error with XRLs

Pavlin Radoslavov pavlin@icir.org
Wed, 09 Feb 2005 17:17:22 -0800


> > I believe you were referring to the call to
> > xrl_static_routes_node(eventloop, &xrl_std_router_static_routes, "fea",
> > "rib"); being as I had mentioned I was making the other calls.
> > 
> > I am writing back to mention that I don't think this declration has to be
> > before the call to wait_until_xrl_router_is_ready().  The only thing that
> I
> > could track down in the chain of calls stemming from this was a call to
> > ctor ServiceBase() that happens in the module's ctor initialization list.
> 
> > But even with this commented out, my program still works now.  (I found
> my
> > other problem.)  I believe the major obstacle was not calling the
> > finalize() method that you wrote about in another one of your emails to
> me.
> > 
> > Just thought I would point this out so that it can sit in the message
> > archive tar file.
> 
> I guess I should add a addendum to this email.  Maybe we need to call the
> ServiceBase() ctor.  Turns out that when I wasn't calling it, my XRL calls
> would work ok SOMETIMES (enough for me to get the confidence to write my
> previous email) but now I see that occassionally I get error 220 Bad XRL. 
> When I put the call to ServiceBase() ctor back in my code I don't seem to
> get it.
> 
> Anyone have any comments on this?

One thing the ServiceBase constructor does is to set the status to
READY. Maybe this makes the difference in your code?

FYI, in case of the other sample file I mentioned to you previously
(fea/tools/show_interfaces.cc) the ServiceBase constructor (invoked
by the InterfaceMonitor constructor) is called right after
finalize().
In your case it all may depend how you use the ServiceStatus codes?

Regards,
Pavlin