Installation#
I just wanna give it a try#
If you want to try out OpenOptics, the easiest way is to use the pre-built Docker image. Please refer to Quick Start.
Build OpenOptics from Source#
BMv2 is the P4-programmable reference software switch required by the Mininet backend.
OpenOptics contains two custom BMv2 targets in the targets/ directory, and their accompanying compiled P4 files in the p4/ directory. To build BMv2 for OpenOptics:
Clone the BMv2 repo and move it into the OpenOptics directory
Checkout commit 8e183a39b372cb9dc563e9d0cf593323249cd88b of BMv2
Copy the
optical_switchandtor_switchtarget directories into thebehavioral-model/targets/directoryInstall BMv2’s dependencies, either by manually following the instructions in BMv2’s README, or by running the script
behavioral-model/install_deps.shReplace
behavioral-model/configure.acwithtargets/configure.acReplace
behavioral-model/targets/Makefile.amwithtargets/Makefile.amcdintobehavioral-model/and compile BMv2 by running:
./autogen.sh && ./configure && make -j8
Install OpenOptics’ Python dependencies by navigating to
src/and running:
pip3 install .