Skip to content

cornell-netlab/yates

Repository files navigation

Build Status

YATES is a software framework that enables rapid prototyping and evaluation of traffic engineering systems. It is open source under a GNU LGPLv3 license.

Getting started

Installation:

Quick start:

  1. Install OPAM

  2. Switch to OCaml version 4.06.0 or greater:

    opam switch 4.06.0    
    
  3. Install the basic required OCaml dependencies. The list of dependencies can be generated as:

    opam install dune
    dune external-lib-deps --missing @install
    

    Install these dependencies using Opam. For example, to install Frenetic,

    opam install frenetic    
    
  4. Build YATES

    make && make install
    

For more details and complete install, please read the installation guide.

Note: YATES needs Gurobi to be installed to solve linear programs. Please follow this guide to install Gurobi and make sure that you have a valid license.

Using YATES

An example run that evaluates performance of ECMP with Internet2's Abilene backbone network.

    $ yates data/topologies/abilene.dot \                                                 
      data/demands/actual/abilene.txt data/demands/predicted/abilene.txt \
      data/hosts/abilene.hosts -ecmp

The usage page describes how to use YATES to evaluate TE systems in more detail.

Extending YATES

If you would like to use YATES to prototype new TE system(s), please see an example on extending YATES.

Credits

See the list of initial contributors here.

License

YATES is released under the GNU Lesser General Public License, version 3. See here