Skip to content

Releases: Vadims06/topolograph

v2.40 (10.10.2024)

10 Nov 22:20
85defa2
Compare
Choose a tag to compare

v2.40 (10.10.2024)

Improvements

  • New Watchers format support is added in Real-time monitoring dashboard. #52
  • External/redistributed external sub-type is included on dashboard
    image

Table version interoperability

Topolograph version OSPF Watcher IS-IS Watcher
<2.40 <v2.0.1 <v2.0.1
2.40>= latest latest

v2.39.2

29 Oct 22:20
a146441
Compare
Choose a tag to compare

v2.39.2 (29.10.2024)

Improvements

  • Custom link attributes are shown on YAML diagram. Also color and dotted are available
    image

v2.39 (16.04.2024)

16 Apr 20:24
659b639
Compare
Choose a tag to compare

v2.39 (16.04.2024)

Fixes

  • Mikrotik ROS7.10 LSDB parsing issue fixed. #45
  • Cisco Nexus p2p parsing issue fixed. #47
  • Freeze network button got its description
  • OSPF Watcher demo logs bug fix.

v2.38 (03.03.2024)

03 Mar 02:38
e60fddc
Compare
Choose a tag to compare

v2.38 (03.03.2024)

Fixes

  • IS-IS templates improvements to avoid missing links between the same nodes.

Improvements

  • IS-IS Watcher is released and integrated into Topolograph!
    IS-IS Watcher is a monitoring tool of IS-IS topology changes for network engineers. It works via passively listening to IS-IS control plane messages through a specially established IS-IS adjacency between IS-IS Watcher and one of the network device. The tool logs IS-IS events and/or export by Logstash to Elastic Stack (ELK), Zabbix, WebHooks and Topolograph monitoring dashboard for keeping the history of events, alerting, instant notification. By encapsulating the solution's elements in containers, it becomes exceptionally quick to start. The only thing is needed to configure manually is GRE tunnel setup on the Linux host.

IS-IS Watcher detects the following network events:

  • IS-IS neighbor adjacency Up/Down
  • IS-IS link cost changes
  • IS-IS networks appearance/disappearance from the topology

Gathered attributes

TLV name TLV
IS Reachability 2
Extended IS Reachability (new) 22
IPv4 Internal Reachability (old) 128
IPv4 External Reachability (old) 130
Extended IPv4 Reachability (new) 135
IPv6 Reachability 236

Here is a small demo https://github.com/Vadims06/topolograph/blob/bafd52acf8b832eae34db84cf97e629e4dbab45e/docs/release-notes/v2.38/is_is_watcher_demo.mp4

  • Thanks to Duplicate IPs Issue#6 the new report to find duplicated networks (networks're terminated on multiple not-direct connected hosts). For example, consider the following linear topology: router A connects to router B using the IP x.x.x.x/30, router B connects to router C using the IP y.y.y.y/30, and router C connects to router D using the IP z.z.z.z/30. The correct topology should be A<x.x.x.x/30>B<y.y.y.y/30>C<z.z.z.z/30>D, but in fact it has the following topology: A<x.x.x.x/30>B<y.y.y.y/30>C<x.x.x.x/30>D
Network Number of terminated nodes Node names
x.x.x.x/30 4 [172.16.1.2, 172.26.1.2], [172.30.2.1, 178.20.3.1]

The report shows a group of nodes, where the network is terminated. Additional groupping via [] shows if hosts are direct neighbors.

v2.37 (25.12.2023)

25 Dec 20:24
7419602
Compare
Choose a tag to compare

v2.37 (25.12.2023)

Fixes

  • IS-IS regex for DIS nodes has been fixed. Initially, it included only digits and missed any DISes look like this 0100.0001.0001.a8-00, now it matches all cases.

v2.36 (25.10.2023)

25 Oct 22:12
5960d4e
Compare
Choose a tag to compare

v2.36

New features

  • Ruckus is onboarded

v2.35.3 (16.10.2023)

16 Oct 00:05
c7afc2d
Compare
Choose a tag to compare

v2.35.3

Bug Fix

  1. IS-IS with DIS might be missed (all vendors).
  2. Nokia IS-IS templates with TE enabled Issue 42
  3. Mikrotik OSPF External network templates have been changed

Enhancements

  1. MAX_EDGE_NUM_TO_SWITCH_TO_SINGLE_SPT_PATH = 8000 is added to limit the number of ECMP paths. If a graph will be greater than this value, only a single SPT will be shown. ECMP calculation is quite memory consumable for big graphs. If you need ECMP for a big graph - please reach me.
  2. Backup paths are not shown as backup if they have paths from the shortest paths, i.e. we have four of the shortest paths and we simulate link outage, two out of four SPT link will become unavailable, so next two paths will not be duplicated as backup paths.
    Paths with backup paths from SPT

    Backup paths are not part of SPT
  3. gunicorn's timeout is increased to 90 sec. Default timeout (30sec) caused worker timeout error during big graph upload.

v2.35.2 (18.09.2023)

18 Sep 22:02
4ab3804
Compare
Choose a tag to compare

v2.35.1

Enhancements

Fix Cisco IS-IS IPv6 templates and revision of existed IS-IS templates for Juniper, Huawei, Zte. Issue 42

v2.35.2

Enhancements

  1. Improvement in Upload Multiple OSPF LSDBs via API. Elements of a graph from OSPF and IS-IS can be skipped, if they are in the same area.
  2. Fix Cisco, Huawei IS-IS templates for redistributed networks with narrow metric.

v2.35 (05.08.2023)

05 Aug 16:59
26b0d58
Compare
Choose a tag to compare

New features

OSPFv3 support is added for Arista.

Vendor Command Stub network included External (redistributed) network
Arista show ipv6 ospf database detail YES YES

Enhancements

  1. Subnets from transit interfaces (interfaces with ospf type broadcast) are included into graph properties. Networks are available via RestAPI /network/{graph_time}, take into account in graph diff.


Broadcast subnets of 10.0.0.1 node.

  1. Vendors are placed in alphabet order.

v2.34 (20.07.2023)

19 Jul 23:24
b1d6499
Compare
Choose a tag to compare

New features

Multi LSDBs upload support #37, #39. Available via API.

Multi LSDBs upload via API

If a network has multiple areas, it is needed to get LSDB output from multiple devices and save it into separate files. Example below uses two LSDB outputs saved in the lsdb_samples folder.

import requests
TOPOLOGRAPH_HOST="127.0.0.1"
TOPOLOGRAPH_PORT=5000
TOPOLOGRAPH_WEB_API_USERNAME_EMAIL="your login"
TOPOLOGRAPH_WEB_API_PASSWORD="your password"
from pprint import pprint as pp

lsdbs_attr_ll = []
lsdb_dir = os.path.join(os.getcwd(), 'lsdb_samples')
for vendor_name, protocol_name in [('Cisco', 'ospf'), ('Juniper', 'ospf')]:
  f_name = os.path.join(lsdb_dir, f"{vendor_name}_{protocol_name}.txt")
  with open(f_name) as f:
    lsdbs_attr_ll.append({'lsdb_output': f.read(), 'vendor_device': vendor_name, 'igp_protocol': protocol_name})
r_post = requests.post(f'http://{TOPOLOGRAPH_HOST}:{TOPOLOGRAPH_PORT}/api/graphs', auth=(TOPOLOGRAPH_WEB_API_USERNAME_EMAIL, TOPOLOGRAPH_WEB_API_PASSWORD),  json=lsdbs_attr_ll, timeout=(5, 30))
pp(r_post.json())