diff options
author | mav <mav@FreeBSD.org> | 2008-01-27 15:01:16 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2008-01-27 15:01:16 +0000 |
commit | 1a411ba3c50475bed34268c2cefdd83518a4a6d9 (patch) | |
tree | 52ba87e93e8f2b3a29cf2db8bf0139d553fa38f9 /sys/netgraph/netflow | |
parent | 1587269cee47324512057d6b2fe95f997bc8bcc3 (diff) | |
download | FreeBSD-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.c | 12 |
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) |