[Xorp-hackers] [PATCH] add XRL class listing to libxipc/finder

Bruce Simpson bms at incunabulum.net
Mon Nov 9 05:30:32 PST 2009


Hi all,

This is just a quick patch I wrote to expose the XRL class list within 
the Finder for debugging purposes. The Finder itself is currently 
excluded from its output.

Some background:
    If a routing process needs to restart, there may be dependent 
processes requiring its services. Currently, this dependency is 
expressed as a set of process watches within the Finder itself.
    Every process contains at least one XRL target. When this target is 
registered with the Finder by class XrlRouter, it is provided a class 
name (e.g. "rib", "fea") and an MD5 HMAC of some other salt is appended 
to form the instance name.
    The process watches are implemented as watches on both 'class' and 
'instance'. For example, the RIB can register with the Finder to ask 
when a specific instance of the FEA (e.g. the one it's currently talking 
to) has gone away, and when other FEAs arrive on the scene (e.g. if the 
process is restarted by the Router Manager).

By invoking the new XRLs from the command line, using the call_xrl tool, 
you can interrogate the Finder to find out which XRL process classes are 
currently registered, and which XRL targets (instances) implement those 
classes. The new XRLs are named 'get_xrl_classes' and 
'get_xrl_class_instances'.

Please see my posting yesterday about fixing the 'static Xrl*' leak, 
about using call_xrl for debugging purposes.

cheers,
BMS
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: libxipc-list-classes.diff
Url: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20091109/3224f12e/attachment.ksh 


More information about the Xorp-hackers mailing list