mirror of
https://github.com/ntop/ntopng.git
synced 2026-05-10 00:42:14 +00:00
Initial system interface data delete
This commit is contained in:
parent
8dfb66fe82
commit
0748ef191d
5 changed files with 70 additions and 25 deletions
|
|
@ -193,6 +193,35 @@ end
|
|||
|
||||
-- ################################################################
|
||||
|
||||
local function delete_keys_patterns(keys_patterns, preserve_prefs)
|
||||
for _, pattern in pairs(keys_patterns) do
|
||||
local matching_keys = ntop.getKeysCache(pattern)
|
||||
|
||||
for matching_key, _ in pairs(matching_keys or {}) do
|
||||
if((not preserve_prefs) or
|
||||
((not starts(matching_key, "ntopng.prefs.")) and
|
||||
(not starts(matching_key, "ntopng.user.")))) then
|
||||
if not dry_run then
|
||||
ntop.delCache(matching_key)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- ################################################################
|
||||
|
||||
local function delete_system_interface_redis(preserve_prefs)
|
||||
local keys_patterns = {
|
||||
"ntopng.prefs.snmp_devices*",
|
||||
"ntopng.prefs.system_rtt_hosts*",
|
||||
}
|
||||
|
||||
delete_keys_patterns(keys_patterns, preserve_prefs)
|
||||
end
|
||||
|
||||
-- ################################################################
|
||||
|
||||
local function delete_interfaces_redis_keys(interfaces_list, preserve_prefs)
|
||||
local pref_prefix = "ntopng.prefs"
|
||||
local status = "OK"
|
||||
|
|
@ -234,18 +263,10 @@ local function delete_interfaces_redis_keys(interfaces_list, preserve_prefs)
|
|||
string.format("%s.%s_*", pref_prefix, if_name),
|
||||
}
|
||||
|
||||
for _, pattern in pairs(keys_patterns) do
|
||||
local matching_keys = ntop.getKeysCache(pattern)
|
||||
delete_keys_patterns(keys_patterns, preserve_prefs)
|
||||
|
||||
for matching_key, _ in pairs(matching_keys or {}) do
|
||||
if((not preserve_prefs) or
|
||||
((not starts(matching_key, "ntopng.prefs.")) and
|
||||
(not starts(matching_key, "ntopng.user.")))) then
|
||||
if not dry_run then
|
||||
ntop.delCache(matching_key)
|
||||
end
|
||||
end
|
||||
end
|
||||
if(if_id == getSystemInterfaceId()) then
|
||||
delete_system_interface_redis(preserve_prefs)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -433,12 +454,9 @@ end
|
|||
|
||||
-- ################################################################
|
||||
|
||||
function delete_data_utils.request_delete_active_interface_data(if_name)
|
||||
local if_id = getInterfaceId(if_name)
|
||||
|
||||
if tonumber(if_id) >= 0 then
|
||||
ntop.setHashCache(ACTIVE_INTERFACES_DELETE_HASH, tostring(if_id), if_name)
|
||||
end
|
||||
function delete_data_utils.request_delete_active_interface_data(if_id)
|
||||
local if_name = getInterfaceName(if_name)
|
||||
ntop.setHashCache(ACTIVE_INTERFACES_DELETE_HASH, tostring(if_id), if_name)
|
||||
end
|
||||
|
||||
-- ################################################################
|
||||
|
|
|
|||
|
|
@ -65,6 +65,10 @@ end
|
|||
-- ##############################################
|
||||
|
||||
function getInterfaceName(interface_id, windows_skip_description)
|
||||
if(interface_id == getSystemInterfaceId()) then
|
||||
return(getSystemInterfaceName())
|
||||
end
|
||||
|
||||
local ifnames = interface.getIfNames()
|
||||
local iface = ifnames[tostring(interface_id)]
|
||||
|
||||
|
|
@ -88,6 +92,10 @@ end
|
|||
-- ##############################################
|
||||
|
||||
function getInterfaceId(interface_name)
|
||||
if(interface_name == getSystemInterfaceName()) then
|
||||
return(getSystemInterfaceId())
|
||||
end
|
||||
|
||||
local ifnames = interface.getIfNames()
|
||||
|
||||
for if_id, if_name in pairs(ifnames) do
|
||||
|
|
|
|||
|
|
@ -248,3 +248,10 @@ function getSystemInterfaceId()
|
|||
-- This must be a string as it is passed in interface.select
|
||||
return "-1"
|
||||
end
|
||||
|
||||
-- ##############################################
|
||||
|
||||
function getSystemInterfaceName()
|
||||
-- NOTE: keep in sync with SYSTEM_INTERFACE_NAME in ntop_defines.h
|
||||
return "__system__"
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue