summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/netflow
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2008-01-27 15:01:16 +0000
committermav <mav@FreeBSD.org>2008-01-27 15:01:16 +0000
commit1a411ba3c50475bed34268c2cefdd83518a4a6d9 (patch)
tree52ba87e93e8f2b3a29cf2db8bf0139d553fa38f9 /sys/netgraph/netflow
parent1587269cee47324512057d6b2fe95f997bc8bcc3 (diff)
downloadFreeBSD-src-1a411ba3c50475bed34268c2cefdd83518a4a6d9.zip
FreeBSD-src-1a411ba3c50475bed34268c2cefdd83518a4a6d9.tar.gz
Run expire even without export hook connected.
PR: kern/119839
Diffstat (limited to 'sys/netgraph/netflow')
-rw-r--r--sys/netgraph/netflow/ng_netflow.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/sys/netgraph/netflow/ng_netflow.c b/sys/netgraph/netflow/ng_netflow.c
index c67d90b..973d5be 100644
--- a/sys/netgraph/netflow/ng_netflow.c
+++ b/sys/netgraph/netflow/ng_netflow.c
@@ -190,6 +190,9 @@ ng_netflow_constructor(node_p node)
if ((error = ng_netflow_cache_init(priv)))
return (error);
+ /* Schedule expiry. */
+ callout_reset(&priv->exp_callout, (1*hz), &ng_netflow_expire,
+ (void *)priv);
return (0);
}
@@ -275,10 +278,6 @@ ng_netflow_newhook(node_p node, hook_p hook, const char *name)
*/
NG_HOOK_FORCE_QUEUE(NG_HOOK_PEER(hook));
#endif
-
- /* Exporter is ready. Let's schedule expiry. */
- callout_reset(&priv->exp_callout, (1*hz), &ng_netflow_expire,
- (void *)priv);
} else
return (EINVAL);
@@ -650,11 +649,8 @@ ng_netflow_disconnect(hook_p hook)
iface->out = NULL;
}
- /* if export hook disconnected stop running expire(). */
- if (hook == priv->export) {
- callout_drain(&priv->exp_callout);
+ if (hook == priv->export)
priv->export = NULL;
- }
/* Removal of the last link destroys the node. */
if (NG_NODE_NUMHOOKS(node) == 0)
OpenPOWER on IntegriCloud