X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnetflow.c.old;fp=src%2Fnetflow.c.old;h=3e5435e14c0c6bd5d900e6bfdcd44960b7c85c83;hb=71860e4ef1daf17655d09770a9305a2a291a86b7;hp=0000000000000000000000000000000000000000;hpb=9e2aa473263ccadaf85675cc526df3978fe01e04;p=iptables.git diff --git a/src/netflow.c.old b/src/netflow.c.old new file mode 100644 index 0000000..3e5435e --- /dev/null +++ b/src/netflow.c.old @@ -0,0 +1,145 @@ +/* + Copyright (C) Slava Astashonok + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License. + + $Id: netflow.c,v 1.2.2.4 2004/02/02 08:06:24 sla Exp $ +*/ + +#include + +#include + +static uint16_t NetFlow1_Header[] = { + NETFLOW_VERSION, + NETFLOW_COUNT, + NETFLOW_UPTIME, + NETFLOW_UNIX_SECS, + NETFLOW_UNIX_NSECS +}; + +static uint16_t NetFlow1_Flow[] = { + NETFLOW_IPV4_SRC_ADDR, + NETFLOW_IPV4_DST_ADDR, + NETFLOW_IPV4_NEXT_HOP, + NETFLOW_INPUT_SNMP, + NETFLOW_OUTPUT_SNMP, + NETFLOW_PKTS_32, + NETFLOW_BYTES_32, + NETFLOW_FIRST_SWITCHED, + NETFLOW_LAST_SWITCHED, + NETFLOW_L4_SRC_PORT, + NETFLOW_L4_DST_PORT, + NETFLOW_PAD16, + NETFLOW_PROT, + NETFLOW_SRC_TOS, + NETFLOW_TCP_FLAGS, + NETFLOW_PAD8, NETFLOW_PAD8, NETFLOW_PAD8, + NETFLOW_PAD32 +}; + +static uint16_t NetFlow5_Header[] = { + NETFLOW_VERSION, + NETFLOW_COUNT, + NETFLOW_UPTIME, + NETFLOW_UNIX_SECS, + NETFLOW_UNIX_NSECS, + NETFLOW_FLOW_SEQUENCE, + NETFLOW_ENGINE_TYPE, + NETFLOW_ENGINE_ID, + NETFLOW_PAD16 +}; + +static uint16_t NetFlow5_Flow[] = { + NETFLOW_IPV4_SRC_ADDR, + NETFLOW_IPV4_DST_ADDR, + NETFLOW_IPV4_NEXT_HOP, + NETFLOW_INPUT_SNMP, + NETFLOW_OUTPUT_SNMP, + NETFLOW_PKTS_32, + NETFLOW_BYTES_32, + NETFLOW_FIRST_SWITCHED, + NETFLOW_LAST_SWITCHED, + NETFLOW_L4_SRC_PORT, + NETFLOW_L4_DST_PORT, + NETFLOW_PAD8, + NETFLOW_TCP_FLAGS, + NETFLOW_PROT, + NETFLOW_SRC_TOS, + NETFLOW_SRC_AS, + NETFLOW_DST_AS, + NETFLOW_SRC_MASK, + NETFLOW_DST_MASK, + NETFLOW_PAD16 +}; + +static uint16_t NetFlow7_Header[] = { + NETFLOW_VERSION, + NETFLOW_COUNT, + NETFLOW_UPTIME, + NETFLOW_UNIX_SECS, + NETFLOW_UNIX_NSECS, + NETFLOW_FLOW_SEQUENCE, + NETFLOW_PAD32 +}; + +static uint16_t NetFlow7_Flow[] = { + NETFLOW_IPV4_SRC_ADDR, + NETFLOW_IPV4_DST_ADDR, + NETFLOW_IPV4_NEXT_HOP, + NETFLOW_INPUT_SNMP, + NETFLOW_OUTPUT_SNMP, + NETFLOW_PKTS_32, + NETFLOW_BYTES_32, + NETFLOW_FIRST_SWITCHED, + NETFLOW_LAST_SWITCHED, + NETFLOW_L4_SRC_PORT, + NETFLOW_L4_DST_PORT, + NETFLOW_FLAGS7_1, + NETFLOW_TCP_FLAGS, + NETFLOW_PROT, + NETFLOW_SRC_TOS, + NETFLOW_SRC_AS, + NETFLOW_DST_AS, + NETFLOW_SRC_MASK, + NETFLOW_DST_MASK, + NETFLOW_FLAGS7_2, + NETFLOW_ROUTER_SC +}; + +struct NetFlow NetFlow1 = { + NETFLOW1_VERSION, + NETFLOW1_HEADER_SIZE, + NETFLOW1_MAX_FLOWS, + NETFLOW1_FLOW_SIZE, + NETFLOW1_SEQ_OFFSET, + sizeof(NetFlow1_Header) / sizeof(uint16_t), + NetFlow1_Header, + sizeof(NetFlow1_Flow) / sizeof(uint16_t), + NetFlow1_Flow +}; + +struct NetFlow NetFlow5 = { + NETFLOW5_VERSION, + NETFLOW5_HEADER_SIZE, + NETFLOW5_MAX_FLOWS, + NETFLOW5_FLOW_SIZE, + NETFLOW5_SEQ_OFFSET, + sizeof(NetFlow5_Header) / sizeof(uint16_t), + NetFlow5_Header, + sizeof(NetFlow5_Flow) / sizeof(uint16_t), + NetFlow5_Flow +}; + +struct NetFlow NetFlow7 = { + NETFLOW7_VERSION, + NETFLOW7_HEADER_SIZE, + NETFLOW7_MAX_FLOWS, + NETFLOW7_FLOW_SIZE, + NETFLOW7_SEQ_OFFSET, + sizeof(NetFlow7_Header) / sizeof(uint16_t), + NetFlow7_Header, + sizeof(NetFlow7_Flow) / sizeof(uint16_t), + NetFlow7_Flow +};