CNML was designed for a lot of elements that described each zone, node, links and traffic from a Community Network, but finally only was implemented from guifi.net for hierarchy based on this schema:
NetJSON is designed and implemented just for elements described below that include metric and topology values. You can get NetJSON from [Netdiff Netdiff parser. Netdiff provide parsers for OLSR 0.6.x jsoninfo plugin, BATMAN-adv alfred tool, CNML and recently a beta version for BMX6 b6m plugin[1].
Also you can get NetJSON directly from nodes with Netengine tool (python library) which provide a single API to extract common information from network devices using different protocols (eg: SNMP, SSH, HTTP) and different firwmares (OpenWRT and AirOS).
Network Device Configuration
| NetJSON
|
CNML proposed standard
|
CNML from guifi.net
|
| general
|
cnml
|
cnml
|
| hardware
|
hardware capability
|
-
|
| operating_system
|
-
|
-
|
| resources
|
-
|
-
|
| interfaces
|
-
|
interface
|
| physical_devices
|
devices
|
-
|
| routing
|
-
|
-
|
| dns_servers
|
-
|
-
|
| dns_search
|
-
|
-
|
Device Monitoring Data
| NetJSON
|
CNML proposed standard
|
CNML from guifi.net
|
| general
|
not for monitoring
|
N/A (available from SNMP)
|
| interfaces
|
not for monitoring
|
N/A (available from SNMP)
|
| resources
|
not for monitoring
|
N/A
|
Network Routes
| NetJSON
|
CNML proposed standard
|
CNML from guifi.net
|
| protocol
|
not for routes
|
N/A
|
| version
|
not for routes
|
N/A
|
| metric
|
not for routes
|
N/A
|
Network Graph
| NetJSON
|
CNML proposed standard
|
CNML from guifi.net
|
| version
|
cnml
|
cnml
|
| metric
|
-
|
-
|
| nodes
|
node information
|
node
|
| links
|
-
|
link
|
| revision (opt)
|
-
|
-
|
| router_id (opt)
|
-
|
-
|
CNML
| Proposed standard CNML element
|
Used CNML element
|
Attributes
|
| cnml
|
cnml
|
generated, server_id, server_url, version
|
| hardware capability
|
|
|
| mapping
|
class
|
mapping, network_description
|
| network environment
|
network
|
ap, client, devices, links, nodes, services
|
| content sharing
|
|
|
|
|
zone
|
access_points, box, clients, created, devices, dns_servers, graph_server, id, links, ntp_servers, parent_id, services, time_zone, title, updated, zone_nodes
|
| node information
|
node
|
access_points, antenna_elevation, clients, created, devices, graph_server, id, lat, links, lon, services, status, title, updated
|
| devices
|
device
|
created, firmware, graph_server, id, name, snmp_index, status, title, type, updated
|
|
|
radio
|
antenna_angle, antenna_azimuth, antenna_gain, channel, device_id, id, mode, protocol, snmp_index, snmp_name, ssid
|
|
|
service
|
created, id, status, title, type, updated
|
|
|
interface
|
id, ipv4, mac, mask, type
|
|
|
link
|
id, link_status, link_type, linked_device_id, linked_interface_id, linked_node_id
|
| owner of device
|
|
|
| picopeer
|
|
|
| traffic
|
|
|
| scale of interest to the network
|
|
|
| personal keyring
|
|
|
See Also
Notes
- ↑ https://github.com/gabri94/netdiff/commit/718ddbbde9ab9f3170c34d3f58e1f9f82a3c91d8