diff options
author | glebius <glebius@FreeBSD.org> | 2005-03-21 15:34:03 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2005-03-21 15:34:03 +0000 |
commit | f55027e9fb92a9b34b346d1411fd9c5b6e779df9 (patch) | |
tree | 2b9e9bfe04960479a0338c324115ba65906d4257 /sys/netgraph/netflow/ng_netflow.c | |
parent | bbe5c42ef2d22e92589ee22ef520eb4da31e3c15 (diff) | |
download | FreeBSD-src-f55027e9fb92a9b34b346d1411fd9c5b6e779df9.zip FreeBSD-src-f55027e9fb92a9b34b346d1411fd9c5b6e779df9.tar.gz |
Refactor node so that it does not modify mbuf contents. Next step would
be pass-thru mode, when traffic is not copied by ng_tee, but passed thru
ng_netflow.
Changes made:
- In ng_netflow_rcvdata() do all necessary pulluping: Ethernet header,
IP header, and TCP/UDP header.
- Pass only pointer to struct ip to ng_netflow_flow_add(). Any TCP/UDP
headers are guaranteed to by after it.
- Merge make_flow_rec() function into ng_netflow_flow_add().
Diffstat (limited to 'sys/netgraph/netflow/ng_netflow.c')
-rw-r--r-- | sys/netgraph/netflow/ng_netflow.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netgraph/netflow/ng_netflow.c b/sys/netgraph/netflow/ng_netflow.c index d6532e8..1944ce4 100644 --- a/sys/netgraph/netflow/ng_netflow.c +++ b/sys/netgraph/netflow/ng_netflow.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004 Gleb Smirnoff <glebius@FreeBSD.org> + * Copyright (c) 2004-2005 Gleb Smirnoff <glebius@FreeBSD.org> * Copyright (c) 2001-2003 Roman V. Palagin <romanp@unshadow.net> * All rights reserved. * @@ -46,6 +46,8 @@ static const char rcs_id[] = #include <netinet/in.h> #include <netinet/in_systm.h> #include <netinet/ip.h> +#include <netinet/tcp.h> +#include <netinet/udp.h> #include <netgraph/ng_message.h> #include <netgraph/ng_parse.h> @@ -410,6 +412,8 @@ ng_netflow_rcvdata (hook_p hook, item_p item) const priv_p priv = NG_NODE_PRIVATE(node); const iface_p iface = NG_HOOK_PRIVATE(hook); struct mbuf *m; + struct ip *ip; + int pullup_len = 0; int error = 0; NGI_GET_M(item, m); |