diff --git a/brian_dashboard_manager/templating/helpers.py b/brian_dashboard_manager/templating/helpers.py index 5e466b61b5e238525a86431e2dcd908e9338d74c..cc7fa18a6a436cf7939defe3d7a6813aa8a72cb5 100644 --- a/brian_dashboard_manager/templating/helpers.py +++ b/brian_dashboard_manager/templating/helpers.py @@ -303,9 +303,19 @@ def get_panel_fields(panel, panel_type, datasource): egress = ['Egress Traffic', 'Egress 95th Percentile'] is_v6 = panel_type == 'IPv6' + is_multicast = panel_type == 'multicast' is_error = panel_type == 'errors' - in_field = 'ingressv6' if is_v6 else 'ingress' - out_field = 'egressv6' if is_v6 else 'egress' + in_field = 'ingressv6' if is_v6 else \ + 'ingressMulticast' if is_multicast else 'ingress' + + out_field = 'egressv6' if is_v6 else \ + 'egressMulticast' if is_multicast else 'egress' + + if is_multicast: + def add_multicast(label): + return 'Multicast ' + label + ingress = list(map(add_multicast, ingress)) + egress = list(map(add_multicast, egress)) fields = [*product(ingress, [in_field]), *product(egress, [out_field])] @@ -333,6 +343,8 @@ def get_dashboard_data(data, datasource, tag, errors=False): if panel.get('has_v6', False): result.append(get_panel_fields( {**panel, **next(gridPos)}, 'IPv6', datasource)) + result.append(get_panel_fields( + {**panel, **next(gridPos)}, 'multicast', datasource)) if errors: result.append(get_panel_fields( {**panel, **next(gridPos)}, 'errors', datasource)) diff --git a/brian_dashboard_manager/templating/nren_access.py b/brian_dashboard_manager/templating/nren_access.py index 9417bd366220ecc54bd3dbbf8100a04d35604e1c..f9bf4d9baceae1860ded4372059ca65a41817be3 100644 --- a/brian_dashboard_manager/templating/nren_access.py +++ b/brian_dashboard_manager/templating/nren_access.py @@ -73,6 +73,8 @@ def get_panel_definitions(panels, datasource, errors=False): if panel.get('has_v6', False): result.append(get_panel_fields( {**panel, **next(gridPos)}, 'IPv6', datasource)) + result.append(get_panel_fields( + {**panel, **next(gridPos)}, 'multicast', datasource)) if errors: result.append(get_panel_fields( {**panel, **next(gridPos)}, 'errors', datasource))