-
Notifications
You must be signed in to change notification settings - Fork 4
ConnectIT/streamvise
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Streamvise: Open-source router operating system with stream manipulation and redundancy capabilities. The OS uses NETCONF implementation "Yuma". This repository mainly hosts the custom NETCONF modules developed by us, and just a snapshot (image) of the whole OS. A complete description of the development process, along with examples for the module's usage can be found in the Full Diploma Thesis text here: http://bit.ly/19j07un, and in the "extras" document found here: http://bit.ly/12bE8yX. Project folders: - cit-helper: a small library to hold custom functions used by other modules - cit-ifconfig: YANG/Yuma module that implements basic network interface configuration - cit-system: YANG/Yuma module that provides system reboot functionality and live connection view. - cit-vrrp: YANG/Yuma module that configures and starts VRRPd. - cit-udhcpd: YANG/Yuma module that configures and starts UDHCPD, a lightweight DHCP server. - cit-iptables: YANG/Yuma module that controls Iptables rules. INSTALLING: To compile the external C library (cit-helper) run in a terminal: $ cd streamvise/cit-helper $ gcc -c cit-helper.c (on a 64-bit system add "-fPIC" to the above command) $ gcc -o libcit-helper.so cit-helper.o --share # cp libcit-helper.so /usr/lib/yuma/libcit-helper.so export LD_LIBRARY_PATH=/usr/lib/yuma To compile the one of the modules, run in a terminal: $ MODULENAME=cit-ifconfig or $ MODULENAME=cit-system or $ MODULENAME=cit-vrrp or $ MODULENAME=cit-udhcpd or $ MODULENAME=cit-iptables and then: $ cd streamvise/$MODULENAME # cp $MODULENAME.yang /usr/share/yuma/modules/$MODULENAME.yang # cp $MODULENAME.yang /usr/share/yuma/modules/netconfcentral/$MODULENAME.yang $ cd $MODULENAME $ cp ../../cit-helper/cit-helper.h src/cit-helper.h $ cp ../../cit-helper/libcit-helper.so lib/libcit-helper.so $ make clean $ make # make install $ netconfd --module $MODULENAME & (If you get an error during making, e.g. "xmlstring.h: No such file or directory" install the appropriate library, libxml2-dev in this case) Also, in order for the system commands to work properly, the sudoers file of the host system must be edited to allow execution of the relevant commands (iptables, reboot etc) by the user starting the NETCONF server (netconfd). To build for a different device (referred to as "network device" here): 1. use a testbed device/VM of the same architecture (32/64bit) 2. install yuma on both 3. build modules normally on the testbed 4. copy the whole streamvise directory to the /tmp directory of the network device 5. $ cd /tmp/streamvise 6. set MODULENAME to the appropriate module, using the names above 7. $ cp $MODULENAME/$MODULENAME/lib/lib$MODULENAME.so /usr/lib/yuma/lib$MODULENAME.so 8. $ cp $MODULENAME/$MODULENAME.yang /usr/share/yuma/modules/$MODULENAME.yang 9. Repeate steps 7 & 8 for all modules
About
Open-source router operating system with stream manipulation and redundancy capabilities.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published