forked from MJL85/natlas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
133 lines (113 loc) · 4.61 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
---------------------
natlas
Michael Laforest
CHANGE LOG
--------------------
v0.11 -
- Rebranded to natlas
- Reorganized into framework with dynamically loadable modules
- Added Python version check
- Better error info when loading improperly formatted config files
- Added ACL match criteria for discovery: platform, serial, software
- FIX: Platform / IOS / Serial sometimes not captured if SNMP was not available but CDP/LLDP had it
- FIX: SNMP timeout could cause crash
modules
- Renamed: config -> newconfig
- Added: showconfig
- Added: checkconfig
- Added: get-mac-table
- Added: get-arp-table
- Added: get-hosts
- Added: tracemac
- Removed: output_stdout
API
- Created the initial natlas API
- Added: config_generate()
- Added: config_validate()
- Added: config_load()
- Added: snmp_add_credential()
- Added: set_discover_maxdepth()
- Added: set_verbose()
- Added: discover_network()
- Added: new_node()
- Added: query_node()
- Added: write_diagram()
- Added: write_catalog()
- Added: get_switch_vlans()
- Added: get_switch_macs()
- Added: get_discovered_nodes()
- Added: get_node_ip()
- Added: get_arp_table()
- Added: get_neighbors()
v0.10 - 5/5/2018
- Ported to Python 3
- Cleaned up and refactored code
- Improved discovery
- Improved discovery console output
- Fixed VSS chassis detection; now finds correct serial# and platform
- All output referencing node IP now uses best IP instead of first found
- Try all known IPs for a node until one works; no longer fails on unreacable IPs (eg, VRFs/ACL blocks/etc)
- Default depth is now 100
- Added runtime to stdout
- Renamed 'graph' to 'diagram'
- Cisco ACL-style node matching (replaced config subnets/exclude with discover)
- Added 'leaf' option to stop discovery beyond a matching node
- Added 'include' option to stop discovery at a matching node
- Config option diagram/node_text replaces the below:
- include_svi
- include_lo
- include_serials
diagram
- Changed -f option to -o
- If a LAG spans multiple devices (eg, Nexus) override expand_lag for that device
- Output can create multiple files. Ex: -o "file.{svg|png}" will create file.svg and file.png
getmacs
- Added as new module
v0.9 -
graph
- Fixed bug with allowed VLAN lists not showing correct ranges.
- Fixed bug where certain SNMP lookups could return empty sets and cause an exception
v0.8 - 9/21/2015
- Internal code changes.
- Trunks show native VLAN (if mismatched then both P and C will be displayed)
- Trunks show allowed VLANs (if mismatched then both P and C will be displayed) (standard range only)
- Added support for LLDP
- Renamed config option "collapse_stackwise" to "expand_stackwise"
- Renamed config option "collapse_vss" to "expand_vss"
v0.7 - 7/25/2015
graph
- Added config option "include_svi" to include SVI info for nodes
- Added config option "include_lo" to include loopback info for nodes
- Added config option "include_serials" to include serial numbers in diagram for nodes
- Added config option "get_stack_members" to include additional stack member info (serials, mac's etc).
This info is also included in the catalog option, with each stack member being a line item.
- Added config option "get_vss_members" to include additional VSSS member info.
- Added config option "collapse_stackwise" and "collapse_vss". When =0 clusters will be expanded.
- Removed SNMP platform detection and now use CDP. This means a low depth may not get the root platform.
v0.6 - 7/19/2015
graph
- Changed from PyDot to PyDot2
- Fixed bug with CDP neighbors that do not advertise an IP (reported by Kent Coble)
- Added config file option to change font size for node text
- Added config file option to change font size for link text
- Changed internal crawl method
- Improved platform identification
- Added IOS version identification
config
- Added command line module option to output a default config file
v0.4 - 7/10/2015
- Improved speed.
- Cleaned up code base.
- Made PyNetAddr optional (change USE_NETADDR=1 to USE_NETADDR=0 to disable)
v0.3 - 7/8/2015
- Added -C option to write a catalog of the discovery to a csv file.
- Runs for ~1/4 the time.
v0.2 - 7/7/2015
- Config: Changed "ignore" to "exclude". Now a list of CIDR's instead of specific IP addresses (requested by /u/LiftedKilt)
- Config: Added "subnets" block. List of CIDR's of allowed subnets to be crawled. (requeted by /u/1n5aN1aC)
- Fixed bug related to unnumbered layer 3 interface (reported by /u/chazmosis)
- Fixed bug related to Nexus host format (reported by /u/endemic)
- Added OID for Nexus platform (thanks to /u/endemic)
v0.1 - 7/6/2015
- Initial release