|
|
@ -157,7 +157,7 @@ stored only in the incident Vertices.
|
|
|
|
|
|
|
|
|
|
|
|
A Topology can be marked as \uv{frozen}. This denotes an intent that it really
|
|
|
|
A Topology can be marked as \uv{frozen}. This denotes an intent that it really
|
|
|
|
should not be modified, because other code might rely on the particular shape
|
|
|
|
should not be modified, because other code might rely on the particular shape
|
|
|
|
of the Topology. However, making the Topology trully immutable would be
|
|
|
|
of the Topology. However, making the Topology truly immutable would be
|
|
|
|
impractical in Python, so we opted for this approach. In case our solution
|
|
|
|
impractical in Python, so we opted for this approach. In case our solution
|
|
|
|
turns out to be prone to accidental modification of the Topology, we will
|
|
|
|
turns out to be prone to accidental modification of the Topology, we will
|
|
|
|
deploy additional countermeasures against that.
|
|
|
|
deploy additional countermeasures against that.
|
|
|
@ -176,7 +176,7 @@ There are a few caveats with parsing topologies from the ospffile format.
|
|
|
|
First, the edges from routers to networks can only be resolved after the
|
|
|
|
First, the edges from routers to networks can only be resolved after the
|
|
|
|
networks are known, since network's level-2 block contains information not
|
|
|
|
networks are known, since network's level-2 block contains information not
|
|
|
|
present in the level-3 directive for the router (namely, the designated router
|
|
|
|
present in the level-3 directive for the router (namely, the designated router
|
|
|
|
for OSPFv2 natworks and the set of addresses for OSPFv3).
|
|
|
|
for OSPFv2 networks and the set of addresses for OSPFv3).
|
|
|
|
|
|
|
|
|
|
|
|
Since BIRD may be running more than one instance of OSPF, the
|
|
|
|
Since BIRD may be running more than one instance of OSPF, the
|
|
|
|
BirdSocketTopologyProvider contains an ad-hoc parser of the response to the
|
|
|
|
BirdSocketTopologyProvider contains an ad-hoc parser of the response to the
|
|
|
@ -243,7 +243,7 @@ As with frozen Topologies, this is not enforced by the code.
|
|
|
|
Annotators may be used for various tasks, including but not limited to
|
|
|
|
Annotators may be used for various tasks, including but not limited to
|
|
|
|
performing analysis of the Topology, enhancing it with additional data (e.g.
|
|
|
|
performing analysis of the Topology, enhancing it with additional data (e.g.
|
|
|
|
ping response times from other system), or specifying parameters for
|
|
|
|
ping response times from other system), or specifying parameters for
|
|
|
|
visualisation. As a part of Birdvisu itself, we ship several anotators:
|
|
|
|
visualisation. As a part of Birdvisu itself, we ship several annotators:
|
|
|
|
TopologyDifference outputs the differences between the reference and current
|
|
|
|
TopologyDifference outputs the differences between the reference and current
|
|
|
|
Topology, and ShortestPathTree marks the edges of the shortest path DAG. The
|
|
|
|
Topology, and ShortestPathTree marks the edges of the shortest path DAG. The
|
|
|
|
next section describes how Annotators aid visualising the data.
|
|
|
|
next section describes how Annotators aid visualising the data.
|
|
|
@ -344,7 +344,7 @@ were not satisfied with its result. To demonstrate, the
|
|
|
|
listing~\ref{lst:graphviz} describes the topology of our home network with
|
|
|
|
listing~\ref{lst:graphviz} describes the topology of our home network with
|
|
|
|
Gennet attached. Figure~\ref{fig:graphviz} then shows how each of Graphviz's
|
|
|
|
Gennet attached. Figure~\ref{fig:graphviz} then shows how each of Graphviz's
|
|
|
|
layout engines draws the topology. While it could be possible to tweak the
|
|
|
|
layout engines draws the topology. While it could be possible to tweak the
|
|
|
|
engine setings, we believe the user still knows better, so we did not continue
|
|
|
|
engine settings, we believe the user still knows better, so we did not continue
|
|
|
|
exploring this idea.
|
|
|
|
exploring this idea.
|
|
|
|
|
|
|
|
|
|
|
|
\lstinputlisting[float=h,label=lst:graphviz,caption=Author's home topology]{../img/graphviz-fail/source.dot}
|
|
|
|
\lstinputlisting[float=h,label=lst:graphviz,caption=Author's home topology]{../img/graphviz-fail/source.dot}
|
|
|
|