Commit Graph

89 Commits (95823ff9db679b32f0c10c8a9e65971f5dd89423)
 

Author SHA1 Message Date
LEdoian 95823ff9db poor: sort imports 1 year ago
LEdoian 30ac0231e4 Remove dead code 1 year ago
LEdoian db8b1414f0 Add an almost-empty topology
I was clever and forbade myself for creating completely empty
topologies, which is unfortunate, when one wants to just visualise
current state.
1 year ago
LEdoian 3ca253598a Fix a typo, find a bug. 1 year ago
LEdoian 3cbb14c1af poor: Move everything into the QMainWindow and add basic UI 1 year ago
LEdoian 87935c7e3a Set a better(?) fallback for unusable BIRD. 1 year ago
LEdoian 722961d128 Enable dragging the QGraphicsView 1 year ago
LEdoian 0226ba8eb2 Moving items in topo-v3 1 year ago
LEdoian 7b2ff09168 Merge remote-tracking branch 'gitea/moving_topology' into topo-mov 1 year ago
LEdoian c5fe468b9d Fix a few minor bugs
Found by trying to run poor_mans_visualisation :-)
1 year ago
LEdoian 5ea2f5548a poor_mans_visualisation: Add a topo-v3 dumb visualiser
Now we can see something. It does not do anything, but uses topo-v3. Is
that progress? :-)
1 year ago
LEdoian 923b523e84 Let AnnotatedTopology have a VertexFinder attached
Annotators may want to match vertices based on partial information.
Especially, with split visualisation.ospf, we want to be able to match
for networks even without the full details (like DRs or all the
current prefixes.)

This finally uses the VertexFinder :-) Also, it is definitely not a
dataclass, who wrote that? ;-)
1 year ago
LEdoian 57f148d50d Start reimplementing poor_mans_visualisation.py
This script serves as a simple demonstration of how to use birdvisu.
Over time, it should become shorter, as more of its features are
integrated into birdvisu itself, until at last it becomes only a very
thin wrapper.

The functionality will probably be incorporated into some core /
orchestrator birdvisu module, but there is no such thing yet.
1 year ago
LEdoian 266408b99b Add module docstring for annotations.analysis 1 year ago
LEdoian 51fdef55bd Improve annotation core and add basic analysis annotators. 1 year ago
LEdoian 7cfa7ea2bf Split visualisation directives to separate file.
This allows us to safely reuse the OspfFileTopologyParser without having
it ignore unknown directives.
1 year ago
LEdoian c61bc10084 Fix comments in reference.ospf 1 year ago
LEdoian 113c540e19 Fix more dumb mistakes, in annotations this time 1 year ago
LEdoian 8dad17c259 Fix stupid bugs
I can't code, don't tell anyone.

Now it can read the topology from running BIRD without crashing.
1 year ago
LEdoian 61b058bcfc Fix mishandling of BirdErrors in BirdSocketTopologyProvider 1 year ago
LEdoian 2cb43bbc9f Fix assignment instead of type hint 1 year ago
LEdoian f7f064147c Reimplemented TopologyProviders to generate TopologyV3
If this works (it might), we may be able to drop original topology
implementation (which is horrible)
1 year ago
LEdoian b9ae64f643 Add all the networks in a vertex to the index in VertexFinder. 1 year ago
LEdoian 7cf33d0fa2 Allow multiple or none addres ranges for vertices 1 year ago
LEdoian 18b695462d Remove a setter for a frozen dataclass
You cannot set that anyway.
1 year ago
LEdoian a47f3849dd Rename ExternalRouter to ExtraAreaRouter
That is what 'xrouter' in ospffile really means. IIRC OSPF does not
represent (AS-)external ptp links differently.
1 year ago
LEdoian a0ae4abfc7 Fix a few mistakes
thanks mypy
1 year ago
LEdoian d17c8c4585 Guard against bad edges being added to topology 1 year ago
LEdoian b6711dd32e Add a few clarifications
The clarifications sometimes are about change that will come in a future
commit, sorry for that. (But the order of commits on this branch is
broken anyway…)
1 year ago
LEdoian 6a912ec51d Fix a few typos in annotations/__init__.py
Found using mypy.
1 year ago
LEdoian 53098c4b41 Fix exception message 1 year ago
LEdoian e80a4e5424 Reimplement TopologyProvider core
At this moment it no actual providers are present, but the parsing of
ospffile is the bigger part of providing topologies.

Maybe this file is not the good place for that code.
1 year ago
LEdoian 460738b84f Implement the two types of costs in TopologyV3 1 year ago
LEdoian 2ae6c5a44b Reimplement annotators using classes 1 year ago
LEdoian 21dbc83ff5 Add a PoC of moving vertices in the visualisation
This implementation is really barebones, mostly-broken (each vertex can
only remember one line), but demonstrates that implementing moving is
going to be quite simple.
1 year ago
LEdoian 610198ea6b Add topology v3
This is a re-implemented topology, which should be more compatible with
OSPF's idea of a network system.
1 year ago
LEdoian ac3508727d Unify the two READMEs 1 year ago
LEdoian f9f6804f30 Merge remote-tracking branch 'gitea/docs' 1 year ago
LEdoian 765a1944c3 Merge remote-tracking branch 'gitea/toolchain_setup' 1 year ago
LEdoian 682a3e4be2 Reference: Nicer layout.
Layouting using random.random is not really great, unsurprisingly.
1 year ago
LEdoian ef39d1a9a5 Drop the symlink in snippets
Since the project can now be installed with pip editable install, it is
now in sys.path and therefore installable out-of-box
1 year ago
LEdoian b8fc724070 Add a readme with really basic info.
I do not expect the readme to contain much, it will mostly link to the
documentation, which should become really complete.
1 year ago
LEdoian 02b459ad55 Ensure, that sphinx works
This is a trivial intro message, just to make sure docs can be written
and built.

May serve as a reference commit on how to add new pages to
documentation.
1 year ago
LEdoian d62007c2c5 We will use autodoc
… one day, hopefully :-)
1 year ago
LEdoian be03b7fb51 Graphviz: Allow specifying layout engine on cmdline
It's better for demonstration purposes.
1 year ago
LEdoian e95ca088a5 ospfsock: Wait for the socket answer
The error handling is horrible though.
1 year ago
LEdoian cafdd3cd07 Merge branch 'socket_api' 1 year ago
LEdoian 159c122f67 Use the new TopoProvider in poor_mans_visualisation.py 1 year ago
LEdoian 333d415b6c Add a few types to make mypy happier 1 year ago
LEdoian 4b9276621d Fix a few typos 1 year ago