A server instrumentation library is usually implemented as a dynamic shared library.

The standard "dlopen" function is used to access the shared library at run-time.

The server uses standard environment variables to configure the search locations.

In some cases a CLI parameter is also available.



Search Order for SIL and SIL-SA Libraries


    1) $YUMAPRO_HOME/target/lib directory

         Default: NONE 


     2) --runpath CLI Parameter path list

          Default: NONE


          3) $YUMAPRO_RUNPATH path list

          Default: NONE


      4) $YUMAPRO_INSTALL/lib

           Default:  /usr/share/yumapro/lib


      5) /usr/lib/yumapro  (or other OS-specific variant of /usr/lib)


   

Example Library Names


       Module Name:  test4.yang

       SIL Name:        libtest4.so

       SIL-SA Name:  libtest4_sa.so



       Bundle Name:  if-bundle

       SIL Name:        libif-bundle.so

       SIL-SA Name:  libif-bundle_sa.so


The netconfd-pro server will only look for the SIL Name format.

The sil-sa-app and combo-app programs will only look for the SIL-SA Name format.  Both formats can exist and both SIL and SIL-SA libraries can be loaded for the same YANG module or bundle.



Example --runpath For SIL-SA


Assume the SIL-SA libraries are installed in /opt/sil-sa-lib and /home/yang/lib directories:


    > sil-sa-app --runpath="/opt/sil-sa-lib:/home/yang/lib"