diff options
author | glebius <glebius@FreeBSD.org> | 2011-07-05 14:48:39 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2011-07-05 14:48:39 +0000 |
commit | 35e375273c4d350f9050b25880c156f47f57314a (patch) | |
tree | 90c632d697ca94f2c776769a5f8fbe98fef5d535 /sys/netgraph/netflow/ng_netflow.c | |
parent | 384aa0c6964cf9f105c817090d97e648700f4539 (diff) | |
download | FreeBSD-src-35e375273c4d350f9050b25880c156f47f57314a.zip FreeBSD-src-35e375273c4d350f9050b25880c156f47f57314a.tar.gz |
o Eliminate flow6_hash_entry in favor of flow_hash_entry. We don't need
a separate struct to start a slist of semi-opaque structs. This
makes some code more compact.
o Rewrite ng_netflow_flow_show() and its API/ABI:
- Support for IPv6 is added.
- Request and response now use same struct. Structure specifies
version (6 or 4), index of last retrieved hash, and also index
of last retrieved entry in the hash entry.
Diffstat (limited to 'sys/netgraph/netflow/ng_netflow.c')
-rw-r--r-- | sys/netgraph/netflow/ng_netflow.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/netgraph/netflow/ng_netflow.c b/sys/netgraph/netflow/ng_netflow.c index 780a127..64adc28 100644 --- a/sys/netgraph/netflow/ng_netflow.c +++ b/sys/netgraph/netflow/ng_netflow.c @@ -504,19 +504,20 @@ ng_netflow_rcvmsg (node_p node, item_p item, hook_p lasthook) } case NGM_NETFLOW_SHOW: { - uint32_t *last; - - if (msg->header.arglen != sizeof(uint32_t)) + if (msg->header.arglen != sizeof(struct ngnf_show_header)) ERROUT(EINVAL); - last = (uint32_t *)msg->data; - NG_MKRESPONSE(resp, msg, NGRESP_SIZE, M_NOWAIT); if (!resp) ERROUT(ENOMEM); - error = ng_netflow_flow_show(priv, *last, resp); + error = ng_netflow_flow_show(priv, + (struct ngnf_show_header *)msg->data, + (struct ngnf_show_header *)resp->data); + + if (error) + NG_FREE_MSG(resp); break; } |