nsdi'18-netcomplete-synet安装

netcomplete用于network configuration synthesis,可在给定requirement下,补齐configs(可以是 空/非空 的templates)

原文/介绍:https://netcomplete.ethz.ch/

源码:https://github.com/nsg-ethz/synet-plus

环境:python2.X (py3也行,不过要替换print等一些用法,我手动改了一些)

 

step1: git project

git clone https://github.com/nsg-ethz/synet-plus.git

 

 step2: 安装tekton(这好像是ETH-NSG他们组自己写的python库?所以要手动安装一下,其余的直接install requirement就行)

cd 平常存放py project的文件夹
git clone https://github.com/nsg-ethz/tekton.git
pip install -e .

 

step3: run example test

bgp_peer是最简单的一个demo,custom*1+provider*2+对应router*3的一个网络

synthesis的步骤也是先计算propagation graph,然后synthesis所有context,最后用z3 slover解对应值写入configs

python synet/examples/bgp_peers.py outdir

ps: outdir/是存放configs的文件夹,同时还输出对应的所有smt语句(smt.smt2文件)

 

step4: run nsdi experiement (BGP only)

7个参数依次是:

grampl文件;

reqs文件(不太知道干嘛的,可能是reqs集合);

测试的reqs的数目;

req-type;

fixed从0~1,表示初始configs的确定值占比;

sketch ...?;

run-id...?;

sh ./eval_scripts/run-ebgp.sh $topo-file $reqs-file $reqs-num $req-type $fixed $sketch $RUN-ID

 

SO,这玩意怎么一步步地运行的呢?暂时没看懂,开个坑先。

 

上一篇:CSS学习30-用户界面样式


下一篇:2021.8.24 爬虫7k7k