diff --git a/brian_dashboard_manager/templating/helpers.py b/brian_dashboard_manager/templating/helpers.py index 96e2c4399126cdf1cf28db13cbdec51e89c60dcc..6426eb71d86c0d0f5d29ecb6b3c836407c3ee010 100644 --- a/brian_dashboard_manager/templating/helpers.py +++ b/brian_dashboard_manager/templating/helpers.py @@ -231,11 +231,20 @@ def get_nren_interface_data(services, interfaces, excluded_dashboards): # MDVPN type services don't have data in BRIAN continue + has_v6_interface = False + for interface in _interfaces: + if 'addresses' in interface: + for address in interface['addresses']: + if address.find(':') > 0: + has_v6_interface = True + break + dashboard['SERVICES'].append({ 'measurement': measurement, 'title': title, 'scid': scid, - 'sort': (sid[:2], name) + 'sort': (sid[:2], name), + 'has_v6': has_v6_interface }) def _check_in_aggregate(router, interface): @@ -518,11 +527,12 @@ def default_interface_panel_generator(gridPos, ipv6_only=False): for panel in panels: if ipv6_only: if panel.get('has_v6', False): + result.append(get_panel_fields({ + **panel, + **next(gridPos) + }, 'IPv6', datasource)) + else: continue - result.append(get_panel_fields({ - **panel, - **next(gridPos) - }, 'IPv6', datasource)) else: result.append(get_panel_fields({ **panel,