Declarative and Expressive Forwarding Optimizer

A new architecture

DEFO is a network controller that automatically translates high-level goals of operators into network configurations. By interacting directly with the optimization layer, DEFO exploits the connetivity layer to control the actual forwarding paths used for any traffic flow crossing the network.

Low congestion

DEFO leverages high connectivity redundancies by natively supporting even traffic splitting over multiple IGP shortest-paths (ECMP). This mechanism allows DEFO to provide efficient solution in terms of congestion.

Fast and Scalable

DEFO is able to provide users with efficient solutions within seconds even on networks with hundreds of nodes and tens of thousands of demands. DEFO can thus be used both offline and online.

Watch DEFO handling link-failures

This demo shows the online optimization of an artificial backbone network of 100 nodes. Black thick edges correspond to failed links. DEFO is used to compute paths such that each link uses at most 90% of its capacity. Each time DEFO succeeds, a new failure is randomly generated.


The Java bytecode of DEFO is openly available here and can be used with the following command line (JVM 1.7 or later):

> java -jar defo.jar topologyFile demandsFile

Here follow instances on which DEFO has been evaluated:

Instance Topologies Demands Constraints
synth50 topology demands constraints
synth100 topology demands constraints
synth200 topology demands constraints
rf1221 topology demands constraints
rf1239 topology demands constraints
rf1755 topology demands constraints
rf3257 topology demands constraints
rf3967 topology demands constraints
rf6461 topology demands constraints

Related publications

This publication describes DEFO and the two-layer architecture separating connectivity and optimization.

A Declarative and Expressive Approach to Control Forwarding Paths in Carrier-Grade Networks, ACM SIGCOMM 2015, London, 2015.

R. Hartert, S. Vissicchio, P. Schaus, O. Bonaventure,
C. Filsfils, T. Telkamp, and P. Fran├žois

Internal algorithms and datastructures of DEFO are described in this publication. The proof that the problem solved by DEFO is NP-Hard is also included.

Solving Segment Routing Problems with Hybrid Constraint Programming Techniques, CP 2015, Cork, 2015.

R. Hartert, P. Schaus, S. Vissicchio, and O. Bonaventure