Computing L4 protocol statistics for flows

This commit is contained in:
Alfredo Cardigliano 2019-07-12 16:27:34 +02:00
parent 2ba6b6f4f9
commit c63831bfa3
10 changed files with 58 additions and 34 deletions

View file

@ -324,7 +324,7 @@ end
-- ##############################################
function printL4ProtoDropdown(base_url, page_params)
function printL4ProtoDropdown(base_url, page_params, l4_protocols)
local l4proto = _GET["l4proto"]
local l4proto_filter
if not isEmptyString(l4proto) then
@ -338,13 +338,16 @@ function printL4ProtoDropdown(base_url, page_params)
print[[\
<button class="btn btn-link dropdown-toggle" data-toggle="dropdown">]] print(i18n("flows_page.l4_protocol")) print[[]] print(l4proto_filter) print[[<span class="caret"></span></button>\
<ul class="dropdown-menu" role="menu" id="flow_dropdown">\
<li><a href="]] print(getPageUrl(base_url, l4proto_params)) print[[">]] print(i18n("flows_page.all_l4_protocols")) print[[</a></li>\
<li]] if l4proto == "6" then print(' class="active"') end print[[><a href="]] l4proto_params["l4proto"] = "6"; print(getPageUrl(base_url, l4proto_params)); print[[">]] print(i18n("flows_page.tcp_only")) print[[</a></li>\
<li]] if l4proto == "17" then print(' class="active"') end print[[><a href="]] l4proto_params["l4proto"] = "17"; print(getPageUrl(base_url, l4proto_params)); print[[">]] print(i18n("flows_page.udp_only")) print[[</a></li>\
<li]] if l4proto == "1" then print(' class="active"') end print[[><a href="]] l4proto_params["l4proto"] = "1"; print(getPageUrl(base_url, l4proto_params)); print[[">]] print(i18n("flows_page.icmp_only")) print[[</a></li>\
</ul>]]
end
<li><a href="]] print(getPageUrl(base_url, l4proto_params)) print[[">]] print(i18n("flows_page.all_l4_protocols")) print[[</a></li>]]
if l4_protocols then
for key, value in pairsByKeys(l4_protocols, asc) do
print[[<li]] if tonumber(l4proto) == key then print(' class="active"') end print[[><a href="]] l4proto_params["l4proto"] = key; print(getPageUrl(base_url, l4proto_params)); print[[">]] print(l4_proto_to_string(key)) print [[ (]] print(string.format("%d",value.count)) print [[)</a></li>]]
end
end
print[[</ul>]]
end
-- ##############################################