private static SortedSet<VerboseOspfEdge> getOspfEdges(Map<String, Configuration> configs) {
SortedSet<VerboseOspfEdge> ospfEdges = new TreeSet<>();
for (Configuration c : configs.values()) {
String hostname = c.getHostname();
for (Vrf vrf : c.getVrfs().values()) {
OspfProcess proc = vrf.getOspfProcess();
if (proc != null) {
for (OspfNeighbor ospfNeighbor : proc.getOspfNeighbors().values()) {
OspfNeighbor remoteOspfNeighbor = ospfNeighbor.getRemoteOspfNeighbor();
if (remoteOspfNeighbor != null) {
Configuration remoteHost = remoteOspfNeighbor.getOwner();
String remoteHostname = remoteHost.getHostname();
Ip localIp = ospfNeighbor.getLocalIp();
Ip remoteIp = remoteOspfNeighbor.getLocalIp();
IpEdge edge = new IpEdge(hostname, localIp, remoteHostname, remoteIp);
ospfEdges.add(new VerboseOspfEdge(ospfNeighbor, remoteOspfNeighbor, edge));
}
}
}
}
}
return ospfEdges;
}