Bundles are a collection of related YANG modules to make development easier by having them grouped together and should be used when external modules augment a base module, for example: ietf-interfaces.


> make_sil_bundle if-bundle ietf-interfaces iana-if-type  ietf-ip acme-interface --sil-edit2 --sil-get2


This example will generate a bundle named “if-bundle” that contains the “ietf-interfaces”, "ietf-ip", and “acme-interface” modules. The "iana-if-type" module is also loaded but no SIL code is generated for this module.


The "split" feature to separate user and system .c & .h files is automatically used for make_sil_bundle. There is a corresponding make_sil_sa_bundle to create SIL-SA Bundles.
 

List the Base Module First


The first module listed must be the base module, followed by other base modules or modules that augment the base modules.


Modules are Initialized in the Command Order 


The module "init1",  "init2", and "cleanup"  functions are called in the order they are listed in the make_sil_bundle command


Bundles are Loaded at Boot-Time or Run-Time


The SIL bundle library can be loaded dynamically by the server using --bundle=if-bundle or load-bundle if-bundle.


SIL-SA is Also Supported with make_sil_sa_bundle


> make_sil_sa_bundle if-bundle ietf-interfaces iana-if-type  ietf-ip acme-interface  --sil-get2


SIL-SA does not support the --sil-edit2 option at this time.



More details can be found in Section 8 "Development Environment" of the YumaPro Developer Manual.