Skip to content
/ openmul Public
forked from mxfgit/openmul

OpenMuL SDN Platform

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING
Notifications You must be signed in to change notification settings

slab14/openmul

Repository files navigation

 How to build MUL Controller on Ubuntu ?

1. Get necessary packages 

    a) For Ubuntu 10.04.3 LTS, the following packages should be installed :
   
       > sudo apt-get install flex bison libwxgtk2.6-dev build-essential 
         expect g++-multilib tofrodos zlib1g-dev gawk

       Not verified with recent ubuntu versions but should work fine.

    b) Source libffi package

       libffi is required by glib which is one of the libs used by MUL. It is 
       recommended that libffi be compiled and installed by hand if it does not
       exist in the build system. Can confirm by : find /usr/lib | grep libffi 
       OR find /usr/local/lib | grep libffi 

       Steps to build libffi (if it does not exist):
         i) Download from http://sourceware.org/libffi/ or simply use the one 
            in <mul-dir>/common_libs/3rd_party/libffi-3.0.11.tar.gz
        ii) Unzip the src tarball 
       iii) cd <liffi-dir>; ./configure; make install;

    c) [Optional for performance] Install google's tcmalloc  

       > sudo apt-get install libtcmalloc-minimal0
    
       Before running MuL,  execute the following :
 
       > export LD_PRELOAD=/usr/lib/libtcmalloc_minimal.so.0

2. Select module build options

    Open <mul-dir>/.config
    
   Select how you want to build the apps. Currently there is only one application
   ie l2switch so not much of a choice in number of apps. But, you can select how
   to build a module by editing .config:

    <module-name>=y     : The module will be built separately and run as a 
                          separate process [Preferred Mode]

    <module-name>=m     : The module will be built as a module and run on top of 
                          controller as part of same process.

3. Build MuL

   > ./configure
   > make common-libs
   > make 

   This might take a few minutes.

4. Executable will be built as bin/mul.bin

   - You need to run using sudo or as admin.

    Options to use -
    mul.bin -d      : Daemon mode
            -S <n>  : Num of switch threads
            -A <n>  : Num of app threads

5. [Optional if you opt for modules  to run as a separate process]

    Go to application directory and make opted for application

    > cd applications/l2switch
    > ./configure 
    > make clean; make
    
    Executable :  mul-l2sw.bin

About

OpenMuL SDN Platform

Resources

License

Unknown, GPL-2.0 licenses found

Licenses found

Unknown
LICENSE
GPL-2.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 85.7%
  • Makefile 6.0%
  • Shell 5.7%
  • Python 1.8%
  • C++ 0.5%
  • M4 0.3%