由于Floodlight使用nosql数据库,存储在内存中,不像sql等数据库读取方便。需要仔细查找才能分析出各个网络状态信息存储在何处。
最近在开发Floodlight,要使用要Floodlight自身获取的链路/节点信息。
本文主要分析记录public Map<Link,Integer> initLinkCostMap();中的各个metric的定义。
文中定义了5中metric值
PATH_METRIC {
LATENCY("latency"),
HOPCOUNT("hopcount"),
HOPCOUNT_AVOID_TUNNELS("hopcount_avoid_tunnels"),
UTILIZATION("utilization"),
LINK_SPEED("link_speed");
}
latency,从link中获得;
utilization,经过交换机的端口带宽获得bpsTx = spb.getBitsPerSecondTx().getValue();
link_speed从交换机rawLinkSpeed = p.getCurrSpeed();获得;
最终各个metric都可以定义在HashMap<Link, Integer>()中。