FreeBSD kernel netgraph code
netflow_v9.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  netflow_v9_template
 
struct  netflow_v9_record_ipv4_tcp
 
struct  netflow_v9_record_ipv6_tcp
 
struct  netflow_v9_record_general
 
struct  netflow_v9_export_dgram
 
struct  netflow_v9_flowset_header
 
struct  netflow_v9_packet_opt
 

Macros

#define CNTR   uint32_t
 
#define CNTR_MAX   UINT_MAX
 
#define BASE_MTU   1500
 
#define MIN_MTU   sizeof(struct netflow_v5_header)
 
#define MAX_MTU   16384
 
#define NETFLOW_V9_MAX_SIZE   _NETFLOW_V9_MAX_SIZE(BASE_MTU)
 
#define _NETFLOW_V9_MAX_SIZE(x)   (x) - sizeof(struct ip6_hdr) - sizeof(struct udphdr) - 16
 
#define NETFLOW_V9_MAX_RECORD_SIZE   sizeof(struct netflow_v9_record_ipv6_tcp)
 
#define NETFLOW_V9_MAX_PACKETS_TEMPL   500 /* Send data templates every ... packets */
 
#define NETFLOW_V9_MAX_TIME_TEMPL   600 /* Send data templates every ... seconds */
 
#define NETFLOW_V9_MAX_TEMPLATES   16 /* Not a real value */
 
#define _NETFLOW_V9_TEMPLATE_SIZE(x)   (sizeof(x) / sizeof(struct netflow_v9_template)) * 4
 
#define NETFLOW_V9_FLOW_V4_L4   1 /* IPv4 TCP/UDP packet */
 
#define NETFLOW_V9_FLOW_V4_ICMP   2 /* IPv4 ICMP packet, currently unused */
 
#define NETFLOW_V9_FLOW_V4_L3   3 /* IPv4 IP packet */
 
#define NETFLOW_V9_FLOW_V6_L4   4 /* IPv6 TCP/UDP packet */
 
#define NETFLOW_V9_FLOW_V6_ICMP   5 /* IPv6 ICMP packet, currently unused */
 
#define NETFLOW_V9_FLOW_V6_L3   6 /* IPv6 IP packet */
 
#define NETFLOW_V9_FLOW_FAKE   65535 /* Not uset used in real flowsets! */
 

Functions

struct netflow_v9_record_ipv4_tcp __attribute__ ((__packed__))
 

Variables

uint32_t src_addr
 
uint32_t dst_addr
 
uint32_t next_hop
 
uint16_t i_ifx
 
uint16_t o_ifx
 
CNTR i_packets
 
CNTR i_octets
 
CNTR o_packets
 
CNTR o_octets
 
uint32_t first
 
uint32_t last
 
uint16_t s_port
 
uint16_t d_port
 
uint8_t flags
 
uint8_t prot
 
uint8_t tos
 
uint32_t src_as
 
uint32_t dst_as
 
uint8_t src_mask
 
uint8_t dst_mask
 
struct netflow_v9_record_general __attribute__
 
uint16_t id
 
uint16_t length
 

Macro Definition Documentation

◆ _NETFLOW_V9_MAX_SIZE

#define _NETFLOW_V9_MAX_SIZE (   x)    (x) - sizeof(struct ip6_hdr) - sizeof(struct udphdr) - 16

Definition at line 112 of file netflow_v9.h.

◆ _NETFLOW_V9_TEMPLATE_SIZE

#define _NETFLOW_V9_TEMPLATE_SIZE (   x)    (sizeof(x) / sizeof(struct netflow_v9_template)) * 4

Definition at line 120 of file netflow_v9.h.

◆ BASE_MTU

#define BASE_MTU   1500

Definition at line 107 of file netflow_v9.h.

◆ CNTR

#define CNTR   uint32_t

Definition at line 38 of file netflow_v9.h.

◆ CNTR_MAX

#define CNTR_MAX   UINT_MAX

Definition at line 39 of file netflow_v9.h.

◆ MAX_MTU

#define MAX_MTU   16384

Definition at line 109 of file netflow_v9.h.

◆ MIN_MTU

#define MIN_MTU   sizeof(struct netflow_v5_header)

Definition at line 108 of file netflow_v9.h.

◆ NETFLOW_V9_FLOW_FAKE

#define NETFLOW_V9_FLOW_FAKE   65535 /* Not uset used in real flowsets! */

Definition at line 131 of file netflow_v9.h.

◆ NETFLOW_V9_FLOW_V4_ICMP

#define NETFLOW_V9_FLOW_V4_ICMP   2 /* IPv4 ICMP packet, currently unused */

Definition at line 125 of file netflow_v9.h.

◆ NETFLOW_V9_FLOW_V4_L3

#define NETFLOW_V9_FLOW_V4_L3   3 /* IPv4 IP packet */

Definition at line 126 of file netflow_v9.h.

◆ NETFLOW_V9_FLOW_V4_L4

#define NETFLOW_V9_FLOW_V4_L4   1 /* IPv4 TCP/UDP packet */

Definition at line 124 of file netflow_v9.h.

◆ NETFLOW_V9_FLOW_V6_ICMP

#define NETFLOW_V9_FLOW_V6_ICMP   5 /* IPv6 ICMP packet, currently unused */

Definition at line 128 of file netflow_v9.h.

◆ NETFLOW_V9_FLOW_V6_L3

#define NETFLOW_V9_FLOW_V6_L3   6 /* IPv6 IP packet */

Definition at line 129 of file netflow_v9.h.

◆ NETFLOW_V9_FLOW_V6_L4

#define NETFLOW_V9_FLOW_V6_L4   4 /* IPv6 TCP/UDP packet */

Definition at line 127 of file netflow_v9.h.

◆ NETFLOW_V9_MAX_PACKETS_TEMPL

#define NETFLOW_V9_MAX_PACKETS_TEMPL   500 /* Send data templates every ... packets */

Definition at line 117 of file netflow_v9.h.

◆ NETFLOW_V9_MAX_RECORD_SIZE

#define NETFLOW_V9_MAX_RECORD_SIZE   sizeof(struct netflow_v9_record_ipv6_tcp)

Definition at line 116 of file netflow_v9.h.

◆ NETFLOW_V9_MAX_SIZE

#define NETFLOW_V9_MAX_SIZE   _NETFLOW_V9_MAX_SIZE(BASE_MTU)

Definition at line 110 of file netflow_v9.h.

◆ NETFLOW_V9_MAX_TEMPLATES

#define NETFLOW_V9_MAX_TEMPLATES   16 /* Not a real value */

Definition at line 119 of file netflow_v9.h.

◆ NETFLOW_V9_MAX_TIME_TEMPL

#define NETFLOW_V9_MAX_TIME_TEMPL   600 /* Send data templates every ... seconds */

Definition at line 118 of file netflow_v9.h.

Function Documentation

◆ __attribute__()

struct netflow_v9_record_ipv4_tcp __attribute__ ( (__packed__)  )

Variable Documentation

◆ __attribute__

◆ d_port

uint16_t d_port

Definition at line 12 of file netflow_v9.h.

◆ dst_addr

struct in6_addr dst_addr

Definition at line 1 of file netflow_v9.h.

◆ dst_as

uint32_t dst_as

Definition at line 17 of file netflow_v9.h.

◆ dst_mask

uint8_t dst_mask

Definition at line 19 of file netflow_v9.h.

◆ first

uint32_t first

Definition at line 9 of file netflow_v9.h.

◆ flags

uint8_t flags

Definition at line 13 of file netflow_v9.h.

◆ i_ifx

uint16_t i_ifx

Definition at line 3 of file netflow_v9.h.

◆ i_octets

CNTR i_octets

Definition at line 6 of file netflow_v9.h.

◆ i_packets

CNTR i_packets

Definition at line 5 of file netflow_v9.h.

◆ id

uint16_t id

Definition at line 0 of file netflow_v9.h.

Referenced by ubt_attach().

◆ last

uint32_t last

Definition at line 10 of file netflow_v9.h.

◆ length

uint16_t length

Definition at line 1 of file netflow_v9.h.

◆ next_hop

struct in6_addr next_hop

Definition at line 2 of file netflow_v9.h.

◆ o_ifx

uint16_t o_ifx

Definition at line 4 of file netflow_v9.h.

◆ o_octets

CNTR o_octets

Definition at line 8 of file netflow_v9.h.

◆ o_packets

CNTR o_packets

Definition at line 7 of file netflow_v9.h.

◆ prot

uint8_t prot

Definition at line 14 of file netflow_v9.h.

◆ s_port

uint16_t s_port

Definition at line 11 of file netflow_v9.h.

◆ src_addr

struct in6_addr src_addr

Definition at line 0 of file netflow_v9.h.

◆ src_as

uint32_t src_as

Definition at line 16 of file netflow_v9.h.

◆ src_mask

uint8_t src_mask

Definition at line 18 of file netflow_v9.h.

◆ tos

uint8_t tos

Definition at line 15 of file netflow_v9.h.