-
Notifications
You must be signed in to change notification settings - Fork 1
frenetic-lang/slices
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Files -------- --compile.py: Contains mostly static methods to assist in the compilation process. The most important method here is transform(), which will perform the actual compilation process given a list of slices. The helper methods are descriptively named and generally do not do much of the work outside of a recursive descent and modification of the policy tree (much of the work in compilation is of this style). --netcore.py: This module is used to represent the various constructs in Netcore. Once again, it's function is fairly straight-forward and the modules are mostly fairly simple. The most interesting methods are get_physical_predicate() in the Predicate module and get_physical_rep() in the Policy and Action modules. These use the supplied maps to return a copy of the data structure in which each port/switch is replaced by what it maps to in the supplied map. --README-isolation: an incoherent overview of files in the isolation project --slicing.py: This is used to represent a slice, which contains logical and physical topos and the mappings of switches and ports between them. It is really a simple module that wraps these data-structures and provides verification upon construction Building Examples ------------------- A rough (and perhaps incorrect guide) 1. Design and build a physical topology (using nxtop.NXTopo) 2. Design a logical topology and create a mapping from its ports and switches to the ports and switches of the physical topo 3. Create edge policies for all edges in the logical topo that leave the network. (These should be netcore policies) 4. Create a slice using these data structures 5. Repeat 1-5 up to 255 times 6. Put all the slices you have into a list, and hand them to compile.transform. 7. Check your results Numberjack ----------- Numberjack is a constraint solving library we use to minimize the number of VLANs needed for compilation. It can be downloaded from http://numberjack.ucc.ie/
About
Tools for language-based isolation
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published