Propane安装使用

Don’t Mind the Gap: Bridging Network-wide Objectives and Device-level Configurations (SIGCOMM'16)


官方网址:https://www.cs.princeton.edu/courses/archive/fall17/cos561/assignments/BGP/Installation.html

Set up:安装.NET + 安装 VS Code 2017 --> 用VS Code打开 propane.sln -->菜单栏“生成propane”,然后exe文件会自动输出到 /bin下


 摘要:并不是所有语法合格的目标约束propane都能生成相应配置

  • 实验拓扑:        

            F

           /       \

             D  -----   C

          /     \        |

          A  ---  E  ---  B

  • 输入意图:A在无故障场景下需要经过E节点到达F(有故障场景下可达F就行)
define main = {
  1.0.0.0/24 => start(A) & through(E) & end(F), // 这个意图应该和左边语义上是一致的: path(A,_,E,_,F) >> path(A,_,F), 
  true => drop
}
  • 输出报错:无法决定D节点对邻居的 local-preference

  •  PGIR:DFA1的正则表达式是"F*E*A",DFA2的是"F*A"

   ==> 两个location为D的RGIR节点,对于其上游节点F和E所在的PGIR节点,DFA1和DFA2都有状态,所以D无法决定哪个邻居节点的路由设置更高优先级

      

  • 总结:具有优先级约束的一系列路径不应该有包含关系,如上述例子中A*F是包含A*E*F的。(同理,NetComplete里的优先级约束也需要满足该设置条件)

 

posted @ 2024-06-19 11:18  机智蛋  阅读(44)  评论(0)    收藏  举报