Device Configuration Synthesis with NetComplete on Software Gone Wild
When I was still at university the fourth-generation programming languages were all the hype, prompting us to make jokes along the lines “fifth generation will implement do what I don’t know how”
The research team working in Networked Systems Group at ETH Zurich headed by prof. Laurent Vanbever got pretty close. The description of their tool says:
NetComplete automatically autocompletes configurations for routers running multiple interacting protocols, including policy-based protocols (BGP) and shortest-path protocols (OSPF), and it also supports static routes. NetComplete takes as input configurations with “holes” that identify the parameters to be completed and “autocompletes” these with concrete values.
Sounds like magic? Laurent shared some of the implementation details in Episode 103 of Software Gone Wild, and you’ll find even more information on their web site. Want to figure out how it all works? Download the tool and start exploring.
Say that you're running your network with configuration A and you need to change its behavior for some reason. Perhaps you want to increase the amount of load balancing or prevent some transit traffic. For the first requirement, you know that you've to modify the link weights somehow (to get ECMP) and, for the second one, you know that you've to adapt your route-maps (to tag/drop routes accordingly). What you do with NetComplete is "highlight"/"create a hole" for the weights/route-map in your existing configuration A and then ask it to "fill them in" so that the resulting configuration meets the requirements: i.e. it load balances and prevents transit traffic.
I agree with you that "holes" is a perhaps a badly chosen term here: "parts to change" is perhaps a better way to understand it?
Hope it clarifies, if not, please shoot again!!
Laurent
Intent Based !
:)