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