Luca Deri
57e6a93065
Improved scheduling algorithm to guarantee minimum service time when number of entries allow
...
Updated (C)
2020-01-06 23:36:36 +01:00
emanuele-f
d3b9f22b0a
Add missing ARP matrix entries purging
...
This resulted in the ARP matrix hash growing as idle entries were not purged.
Fixes #3152
2019-12-31 12:32:21 +01:00
Simone Mainardi
2d33f550b2
Implements progress bars to express hash tables usage and entries by state
...
Implements #3042
2019-11-18 17:21:54 +01:00
Simone Mainardi
bd5041ead2
Renames walkIdle to walkAllStates and documents method behavior
2019-11-18 11:35:43 +01:00
Simone Mainardi
d685de3ec1
Implements walkIdle fairness among hash table entries
2019-11-13 11:35:55 +01:00
Simone Mainardi
cb15313c15
Performs idling of hash table entries without locks
2019-10-31 17:56:30 +01:00
Simone Mainardi
4f3a6dab85
Precomputes max hash size in the hash table constructor
2019-10-31 11:23:50 +01:00
Simone Mainardi
552ca89959
Counts also idle entries to honor -X and -x
2019-10-31 09:54:00 +01:00
Simone Mainardi
68246efd01
Decouples periodic hash table updates using a thread pool
2019-10-27 17:40:07 +01:00
Simone Mainardi
b8b6c7fac7
Improves purging speed of idle ht entries
2019-10-27 11:55:52 +01:00
Simone Mainardi
96eb183913
Removes unnecessary GenericHash::notify_transition
2019-10-25 19:25:21 +02:00
Luca
796316b64c
Unitialized variable
2019-10-25 19:00:25 +02:00
Simone Mainardi
0414133399
Prints interface name in possible hash table errors
2019-10-25 18:52:10 +02:00
Simone Mainardi
ad03729a81
Fixes inverted quick_update boolean
2019-10-25 18:43:47 +02:00
Simone Mainardi
071bafd223
Fixes AS/Country/VLAN serialization which was performed offline
2019-10-25 14:46:31 +02:00
Alfredo Cardigliano
592aaf80e2
Displaying Active/Idle in the internals page
2019-10-25 12:02:13 +02:00
Simone Mainardi
955eed4b50
Reworks idling and purging of hash table entries to make it faster
2019-10-24 15:48:18 +02:00
Simone Mainardi
15e17a801a
Implements per-state hash entry counters and writes them to ts
2019-10-23 13:09:02 +02:00
Simone Mainardi
35d605e79f
Fixes crash when accessing stats upon startup
2019-10-18 17:53:00 +02:00
Alfredo Cardigliano
b9666f87e4
State transition fix for flows coming from a companion interface
2019-10-17 17:08:55 +02:00
Simone Mainardi
6fd7386c03
Fixes possible collisions when looking up flows by key
2019-10-16 19:04:10 +02:00
Simone Mainardi
ae438ba75a
Prevents unnecessary HT lookups in purgeIdle
2019-10-11 15:18:36 +02:00
Simone Mainardi
453efa749f
Fixes shutdown procedures with new hash entry states
2019-10-11 15:16:42 +02:00
Simone Mainardi
48caf68f69
Fixes invalid state transitions
2019-10-11 11:15:38 +02:00
Luca
263fe3927b
Refactoring fixes
2019-10-11 07:36:06 +02:00
Luca
9870eee2e7
Revisited state hangling
2019-10-10 20:09:42 +02:00
Simone Mainardi
6257cacd9a
Adds handles for busy and free trylocks
2019-10-04 18:11:25 +02:00
Simone Mainardi
2fc7144eb6
Implements hash tables rwlocks
2019-10-04 17:06:24 +02:00
Simone Mainardi
da1dbe4ab0
Reworks hash entries idling
2019-09-24 14:29:20 +02:00
Simone Mainardi
53e1d4e50b
More aggressive purge for ZMQ flows w/o completed TWH
2019-09-10 17:19:26 +02:00
Alfredo Cardigliano
f5a20f1b6b
GenericHash::walk comment
2019-09-06 13:26:47 +02:00
Simone Mainardi
ac2ce0c058
Sets all hash entries to idle during shutdown
2019-08-12 14:05:08 +02:00
Luca Deri
86ab1907df
Added extra checks to idle objects
2019-08-06 09:31:35 +02:00
emanuele-f
f476d7118c
Log invalid hash entry states
2019-08-05 12:56:45 +02:00
Simone Mainardi
f110602192
Refactors hash entry state setters to ease override
2019-08-05 12:12:16 +02:00
Simone Mainardi
9b6714823a
Implements hash entries lifecycle as a finite states machine
...
Fixes certain sporadic race conditions
2019-07-22 15:18:39 +02:00
Simone Mainardi
d9275ac166
Allows an extra runHousekeepingTasks before shutting down to do proper cleanup
2019-07-19 19:11:29 +02:00
Simone Mainardi
34f91bfd9f
Implements new algorithm to allow flows purging control from interface views
2019-07-17 16:15:56 +02:00
Simone Mainardi
94f894454c
Removes useless disablePurge and enablePurge
2019-07-05 16:08:51 +02:00
Simone Mainardi
ef4f98a5a5
Implements lock-free hash table additions
2019-07-05 16:00:43 +02:00
Simone Mainardi
4f4548713e
Fixes protocol detection for flows with a few packets
2019-03-05 12:21:00 +01:00
Luca
509df6a1fc
Improved counter monitoring algorithm
2019-02-03 23:30:07 +01:00
Luca Deri
bedff2c8e2
Updated (C)
2019-01-07 19:28:49 +01:00
Alfredo Cardigliano
479970c384
Implemented flows purging on shutdown (enabled with --shutdown-when-done only for now, it can be controlled with prefs->flushFlowsOnShutdown()), fixes #2229
2018-12-15 17:43:35 +01:00
Luca Deri
5ebaec2867
Added better trace for potential XSS attempts
2018-08-04 19:18:17 +02:00
Luca Deri
22c90d73bd
Added hash tracing
2018-08-04 17:54:43 +02:00
Luca Deri
f0c936c368
Updated (C) to 2018
2018-03-22 21:59:42 +01:00
Luca Deri
c3f81d694b
Partial cleanup to the batch walk
2017-11-23 00:19:17 +01:00
Luca
caaf27d5a6
Implemented batched hosts and l2-devices walk
2017-11-22 19:38:08 +01:00
Simone Mainardi
eaa7a0d313
Separates L3 IPs from L2 MACs
...
Before this commit, multiple L3 hosts were allocated if the same ip
address was seen with multiple mac addresses. We have decided to keep
ip and macs logically sepatated. For this reason, after this commit,
the L3 ip always remains the same even if there are changes in the
mac. A user who wants to monitor mac addresses can use the L2 section
as well as the host pools.
This commit also reverts:
"Add MAC address to the serialized hosts key to fix bad MAC address association and stats"
This reverts commit 89a756fb9a .
2017-07-04 01:41:31 +02:00