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"