flowprobe: fix clearing interface state on feature disabling 39/40039/2
authorAlexander Chernavin <achernavin@netgate.com>
Thu, 26 Oct 2023 11:48:06 +0000 (11:48 +0000)
committerDave Wallace <dwallacelf@gmail.com>
Fri, 1 Dec 2023 19:29:08 +0000 (19:29 +0000)
commitbec4f4a7abf363e6793aca95f2d683d4b5ff99bd
tree5ef097f1b10d9d18741c4b5696c8543eee9b2469
parentb8b02937b1a0ef8b02cc1dcf09e93e512d6fc234
flowprobe: fix clearing interface state on feature disabling

As a result of recent fixes, all currently stored flows of an interface
are deleted when the feature is being disabled for the interface. This
includes stopping the timer and freeing the flow entries for further
reuse. The problem is that meta information is not cleared in the flow
entries being deleted. For example, packet delta count will keep its
value. The next flow that gets one of these pool entries will already
have a non-zero packet count. So the counting of packets will start from
a non-zero value. And incorrect packet delta count will be exported for
that flow.

With this fix, clear meta information too when clearing interface state.
Also, update the corresponding test to cover this case.

Type: fix
Change-Id: I9a73b3958adfd1676e66b0ed50f1478920671cca
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
(cherry picked from commit dab1dfeea9fec04a9a90a82dc5d770fbff344540)
src/plugins/flowprobe/flowprobe.c
test/test_flowprobe.py