summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/netflow
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2005-03-20 21:03:43 +0000
committerglebius <glebius@FreeBSD.org>2005-03-20 21:03:43 +0000
commitc24d32c62d679248ab249e702db03abd3ff41642 (patch)
treeeed93196e64f11e3e22b53d9493f2899e668fa06 /sys/netgraph/netflow
parentc74d7d94bd5054d27537ed5fd287ecc20172149b (diff)
downloadFreeBSD-src-c24d32c62d679248ab249e702db03abd3ff41642.zip
FreeBSD-src-c24d32c62d679248ab249e702db03abd3ff41642.tar.gz
- Don't lose TCP flags of the first packet in a flow.
- Don't account length of the first packet in a flow twice.
Diffstat (limited to 'sys/netgraph/netflow')
-rw-r--r--sys/netgraph/netflow/netflow.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/netgraph/netflow/netflow.c b/sys/netgraph/netflow/netflow.c
index 6011e38..3d1d62a 100644
--- a/sys/netgraph/netflow/netflow.c
+++ b/sys/netgraph/netflow/netflow.c
@@ -220,7 +220,8 @@ bit_count(uint32_t v)
* and insert flow entry.
*/
static __inline int
-hash_insert(priv_p priv, int slot, struct flow_rec *r, int plen)
+hash_insert(priv_p priv, int slot, struct flow_rec *r, int plen,
+ uint8_t tcp_flags)
{
struct flow_hash_entry *h = priv->hash;
struct flow_entry *fle;
@@ -239,8 +240,7 @@ hash_insert(priv_p priv, int slot, struct flow_rec *r, int plen)
bcopy(r, &fle->f.r, sizeof(struct flow_rec));
fle->f.bytes = plen;
fle->f.packets = 1;
-
- priv->info.nfinfo_bytes += plen;
+ fle->f.tcp_flags = tcp_flags;
fle->f.first = fle->f.last = time_uptime;
@@ -521,7 +521,7 @@ ng_netflow_flow_add(priv_p priv, struct mbuf **m, iface_p iface)
} else { /* a new flow entry */
mtx_unlock(&priv->work_mtx);
- return hash_insert(priv, slot, &r, plen);
+ return hash_insert(priv, slot, &r, plen, tcp_flags);
}
OpenPOWER on IntegriCloud