Skip to content

croft/merlin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Merlin

Merlin provides techniques for verifying that both the partitioned program components and the delegated sub-policies conform to the global network policy. Overall, Merlin simplifies the task of network administration by providing high-level abstractions for specifying network policies and scalable infrastructure for enforcing them.

Merlin is a new network management framework that allows administrators to express policies in a high-level, declarative language based on regular expressions. The compiler automatically partitions those policies into components that can be placed on a variety of devices including switches, middleboxes, and end hosts. The compiler uses a constraint-solver to determine the optimal placement strategy using paramaterizable heuristics. Sub-policies may be further constrained by network tenants, facilitating management of federated networks.

Building Merlin

Merlin must currently be built from source. To build from source, first ensure that you've installed all dependencies, which are listed in the _oasis file under the merlin Library sections. To install dependencies that are part of the Frenetic project, you may want to install a custom OPAM repository maintained that the Frenetic project maintains.

$ opam repository add frenetic https://github.com/frenetic-lang/opam-bleeding.git
$ opam update

Once that's done, packages that are part of the Frenetic project will be installed from the HEAD of their master branch on Github.

If you prefer to install dependencies from source, you may build them from their Github repositories:

Install those packages and then build and test Merlin using the following commands:

$ make
$ make test

About

The Merlin Network Management System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • OCaml 97.9%
  • Standard ML 1.2%
  • Other 0.9%