extract VPN interfaces from nodeinfo
This commit is contained in:
parent
1141aa766f
commit
3caf00be07
13
backend.py
13
backend.py
|
@ -120,6 +120,19 @@ def main(params):
|
||||||
if params['vpn']:
|
if params['vpn']:
|
||||||
graph.mark_vpn(batadv_graph, frozenset(params['vpn']))
|
graph.mark_vpn(batadv_graph, frozenset(params['vpn']))
|
||||||
|
|
||||||
|
def extract_tunnel(nodes):
|
||||||
|
macs = set()
|
||||||
|
for id, node in nodes.items():
|
||||||
|
try:
|
||||||
|
for mac in node["nodeinfo"]["network"]["mesh"]["bat0"]["interfaces"]["tunnel"]:
|
||||||
|
macs.add(mac)
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return macs
|
||||||
|
|
||||||
|
graph.mark_vpn(batadv_graph, extract_tunnel(nodedb['nodes']))
|
||||||
|
|
||||||
batadv_graph = graph.merge_nodes(batadv_graph)
|
batadv_graph = graph.merge_nodes(batadv_graph)
|
||||||
batadv_graph = graph.to_undirected(batadv_graph)
|
batadv_graph = graph.to_undirected(batadv_graph)
|
||||||
|
|
||||||
|
|
27
lib/nodes.py
27
lib/nodes.py
|
@ -97,12 +97,29 @@ def import_mesh_ifs_vis_data(nodes, vis_data):
|
||||||
for v in mesh_nodes:
|
for v in mesh_nodes:
|
||||||
node = v[0]
|
node = v[0]
|
||||||
|
|
||||||
try:
|
ifs = set()
|
||||||
mesh_ifs = set(node['nodeinfo']['network']['mesh_interfaces'])
|
|
||||||
except KeyError:
|
|
||||||
mesh_ifs = set()
|
|
||||||
|
|
||||||
node['nodeinfo']['network']['mesh_interfaces'] = list(mesh_ifs | v[1])
|
try:
|
||||||
|
ifs = ifs.union(set(node['nodeinfo']['network']['mesh_interfaces']))
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
ifs = ifs.union(set(node['nodeinfo']['network']['mesh']['bat0']['interfaces']['wireless']))
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
ifs = ifs.union(set(node['nodeinfo']['network']['mesh']['bat0']['interfaces']['tunnel']))
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
ifs = ifs.union(set(node['nodeinfo']['network']['mesh']['bat0']['interfaces']['other']))
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
node['nodeinfo']['network']['mesh_interfaces'] = list(ifs | v[1])
|
||||||
|
|
||||||
|
|
||||||
def import_vis_clientcount(nodes, vis_data):
|
def import_vis_clientcount(nodes, vis_data):
|
||||||
|
|
Loading…
Reference in a new issue