Releases: Vadims06/topolograph
v2.40 (10.10.2024)
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
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
v2.39 (16.04.2024)
v2.38 (03.03.2024)
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)
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)
v2.36
New features
- Ruckus is onboarded
v2.35.3 (16.10.2023)
v2.35.3
Bug Fix
- IS-IS with DIS might be missed (all vendors).
- Nokia IS-IS templates with TE enabled Issue 42
- Mikrotik OSPF External network templates have been changed
Enhancements
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.- 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 asbackup
paths.
Paths with backup paths from SPT
Backup paths are not part of SPT
- 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)
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
- 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. - Fix Cisco, Huawei IS-IS templates for redistributed networks with narrow metric.
v2.35 (05.08.2023)
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
- 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.
- Vendors are placed in alphabet order.
v2.34 (20.07.2023)
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.
- Cisco_ospf.txt
- Juniper_ospf.txt
Python sample code:
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())