From e5ca08bc258342b45c8a7183a90a76f4430593fc Mon Sep 17 00:00:00 2001 From: Karl Newell Date: Fri, 15 Mar 2019 21:18:59 -0700 Subject: [PATCH] Update main.py, ui/index.html, ui/ui.js Initial UI VRF support Update ui/index.html Add Internet2 logo --- main.py | 4 ++-- ui/index.html | 6 ++++-- ui/internet2.png | Bin 0 -> 33656 bytes ui/ui.js | 12 +++++++++++- 4 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 ui/internet2.png diff --git a/main.py b/main.py index 0347bfb..3ffe42a 100644 --- a/main.py +++ b/main.py @@ -223,7 +223,7 @@ def getActiveFlowRoutes(self): if hex_dig not in self.flow_active: - self.flow_active[hex_dig] = {'router': name, 'term': flow.term, 'destination': destination, + self.flow_active[hex_dig] = {'router': name, 'vrf': flowtable, 'term': flow.term, 'destination': destination, 'commAction': commAction, 'krtAction': krt_actions, 'age': str(_age['current']), 'hash': hex_dig, 'status': 'new'} @@ -273,7 +273,7 @@ def getActiveFlowRouteFilter(self): _item = item.split('=') data[didx] = _item[1] if len(_item) > 1 else _item[0] - self.filter_active[name].append({'data': data, 'packet_count': filter.packet_count, + self.filter_active[name].append({'vrf': table, 'data': data, 'packet_count': filter.packet_count, 'byte_count': filter.byte_count}) return True, self.filter_active diff --git a/ui/index.html b/ui/index.html index 8f2c417..4cc11cc 100644 --- a/ui/index.html +++ b/ui/index.html @@ -53,7 +53,7 @@

Monitoring BGP Flow

- Juniper Networks + Juniper Networks
@@ -102,6 +102,7 @@

Monitoring BGP Flow Router + VRF Name Destination Prefix Source Prefix @@ -129,6 +130,7 @@

Monitoring BGP Flow Name + VRF Destination Prefix Source Prefix Protocol @@ -342,4 +344,4 @@

- \ No newline at end of file + diff --git a/ui/internet2.png b/ui/internet2.png new file mode 100644 index 0000000000000000000000000000000000000000..8b86b7b29792e371cb7acd967a736f7aabfd0c0a GIT binary patch literal 33656 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 y$F#DfG0!xx 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 WF;!?YS&+nlV=I!1PfNrN-~KP6%cdLv literal 0 HcmV?d00001 diff --git a/ui/ui.js b/ui/ui.js index f36a29b..718e380 100644 --- a/ui/ui.js +++ b/ui/ui.js @@ -119,6 +119,7 @@ $(document).ready(function () { return_data.push({ 'router': flow.router, + 'vrf': flow.vrf, 'term': flow.term, 'dstPrefix': flow.destination[0], 'dstPort': flow.destination[3], @@ -147,6 +148,10 @@ $(document).ready(function () { "data": "router", "defaultContent": "" }, + { + "data": "vrf", + "defaultContent": "" + }, { "data": "term", "defaultContent": "" @@ -202,6 +207,7 @@ $(document).ready(function () { return_data.push({ 'name': rname, + 'vrf': filter.vrf, 'dstPrefix': filter.data[0], 'dstPort': filter.data[3], 'srcPrefix': filter.data[1], @@ -223,6 +229,10 @@ $(document).ready(function () { "data": "name", "defaultContent": "" }, + { + "data": "vrf", + "defaultContent": "" + }, { "data": "dstPrefix", "defaultContent": "" @@ -610,4 +620,4 @@ function saveSettings(settings){ $("#errormsg").html(errorText).show(); } }); -} \ No newline at end of file +}