OpenOptics: Democratizing Optical DCNs#
Easy design, testing, and deployment of optical DCNs for everyone.
Note
The OpenOptics paper has been accepted by NSDI’26!
OpenOptics is a general framework for realizing different optical data center network architectures in a plug-and-play manner. With OpenOptics, users can deploy customized optical data center networks on the testbed, emulation, or simulation with ~10 lines of Python code. Under the hood, user configurations are translated into table entries and control plane programs, which are then deployed to the underlying optical and P4-programmable switches.
from openoptics import Toolbox, OpticalTopo, OpticalRouting
net = Toolbox.BaseNetwork(name="demo", backend="Mininet",
nb_node=8, time_slice_duration_ms=512)
circuits = OpticalTopo.round_robin(nb_node=8)
net.deploy_topo(circuits)
paths = OpticalRouting.routing_direct(net.get_topo())
net.deploy_routing(paths, routing_mode="Per-hop")
net.start()
After deployment, users can monitor the network with OpenOptics Dashboard.
OpenOptics ships with three backends: a Mininet backend that runs optical DCNs as full software emulations on BMv2 switches, a Tofino backend that deploys the same Python code onto real Tofino2 hardware, and an ns-3 backend for packet-level simulation.
Imprint / Data Protection