Tuesday, January 6, 2015

Network Policy Management

Way too many times we had come across about the complexities with setting up policies / rules in network equipments following their proprietary approaches.

In the end , there is no one-stop-shop ( a CLI or single pane ) to set up this classic multi-vendor problem.

As a simple rule of thumb, a network service policy , when written as words looks like this
"Input trunk + forwarding policy = output truck"

A centralized control traffic management standards is the Open Flow Protocol and managing policies to be applied with distinct network equipment.

An orchestrator project like openstack , drives this thru initiatives like https://wiki.openstack.org/wiki/Congress

Policy Language

The policy language for Congress is Datalog, which is basically SQL but with a syntax that is closer to traditional programming languages. This declarative language was chosen because its semantics are well-known to a broad range of DevOps, yet its syntax is more terse making it better suited for expressing real-world policies. The grammar is given below.
<policy> ::= <rule>*
<rule> ::= <atom> COLONMINUS <literal> (COMMA <literal>)*
<literal> ::= <atom>
<literal> ::= NOT <atom>
<atom> ::= TABLENAME LPAREN <term> (COMMA <term>)* RPAREN
<term> ::= INTEGER | FLOAT | STRING | VARIABLE  

No comments:

Post a Comment

bee-social