FreeBSD kernel netgraph code
ng_netflow.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  ng_netflow_info
 
struct  ng_netflow_ifinfo
 
struct  ng_netflow_setdlt
 
struct  ng_netflow_setifindex
 
struct  ng_netflow_settimeouts
 
struct  ng_netflow_setconfig
 
struct  ng_netflow_settemplate
 
struct  ng_netflow_setmtu
 
struct  ngnf_show_header
 
struct  ng_netflow_v9info
 
struct  flow_rec
 
struct  flow6_rec
 
struct  flow_entry_data
 
struct  flow6_entry_data
 
struct  flow_entry
 
struct  flow6_entry
 
struct  ng_netflow_iface
 
struct  netflow_export_item
 
struct  fib_export
 
struct  netflow
 
struct  flow_hash_entry
 

Macros

#define NG_NETFLOW_NODE_TYPE   "netflow"
 
#define NGM_NETFLOW_COOKIE   1365756954
 
#define NGM_NETFLOW_V9_COOKIE   1349865386
 
#define NG_NETFLOW_MAXIFACES   USHRT_MAX
 
#define NG_NETFLOW_HOOK_DATA   "iface"
 
#define NG_NETFLOW_HOOK_OUT   "out"
 
#define NG_NETFLOW_HOOK_EXPORT   "export"
 
#define NG_NETFLOW_HOOK_EXPORT9   "export9"
 
#define NG_NETFLOW_INFO_TYPE
 
#define MAXDLTNAMELEN   20
 
#define NG_NETFLOW_CONF_INGRESS   0x01 /* Account on ingress */
 
#define NG_NETFLOW_CONF_EGRESS   0x02 /* Account on egress */
 
#define NG_NETFLOW_CONF_ONCE   0x04 /* Add tag to account only once */
 
#define NG_NETFLOW_CONF_THISONCE   0x08 /* Account once in current node */
 
#define NG_NETFLOW_CONF_NOSRCLOOKUP   0x10 /* No radix lookup on src */
 
#define NG_NETFLOW_CONF_NODSTLOOKUP   0x20 /* No radix lookup on dst */
 
#define NG_NETFLOW_IS_FRAG   0x01
 
#define NG_NETFLOW_FLOW_FLAGS
 
#define r_ip_p   misc.i.prot
 
#define r_tos   misc.i.tos
 
#define r_i_ifx   misc.i.i_ifx
 
#define r_misc   misc.all
 
#define r_ports   ports.both
 
#define r_sport   ports.dir.s_port
 
#define r_dport   ports.dir.d_port
 
#define fle_i_ifx   r.misc.i.i_ifx
 
#define fle_i_ifx   r.misc.i.i_ifx
 
#define NREC_AT_ONCE   1000
 
#define NREC6_AT_ONCE
 
#define NGRESP_SIZE
 
#define SORCVBUF_SIZE   (NGRESP_SIZE + 2 * sizeof(struct ng_mesg))
 
#define NG_NETFLOW_IFINFO_TYPE
 
#define NG_NETFLOW_SETDLT_TYPE
 
#define NG_NETFLOW_SETIFINDEX_TYPE
 
#define NG_NETFLOW_SETTIMEOUTS_TYPE
 
#define NG_NETFLOW_SETCONFIG_TYPE
 
#define NG_NETFLOW_SETTEMPLATE_TYPE
 
#define NG_NETFLOW_SETMTU_TYPE
 
#define NG_NETFLOW_V9INFO_TYPE
 
#define CACHESIZE   (65536*16)
 
#define CACHELOWAT   (CACHESIZE * 3/4)
 
#define CACHEHIGHWAT   (CACHESIZE * 9/10)
 
#define NETFLOW_V9_MAX_FLOWSETS   2
 
#define ERROUT(x)   { error = (x); goto done; }
 
#define MTAG_NETFLOW   1221656444
 
#define MTAG_NETFLOW_CALLED   0
 
#define m_pktlen(m)   ((m)->m_pkthdr.len)
 
#define IP6VERSION   6
 
#define priv_to_fib(priv, fib)   (priv)->fib_data[(fib)]
 
#define MILLIUPTIME(t)
 

Typedefs

typedef struct ng_netflow_ifaceiface_p
 
typedef struct ng_netflow_ifinfoifinfo_p
 
typedef struct fib_exportfib_export_p
 
typedef struct netflowpriv_p
 

Enumerations

enum  {
  NGM_NETFLOW_INFO = 1|NGM_READONLY|NGM_HASREPLY , NGM_NETFLOW_IFINFO = 2|NGM_READONLY|NGM_HASREPLY , NGM_NETFLOW_SHOW = 3|NGM_READONLY|NGM_HASREPLY , NGM_NETFLOW_SETDLT = 4 ,
  NGM_NETFLOW_SETIFINDEX = 5 , NGM_NETFLOW_SETTIMEOUTS = 6 , NGM_NETFLOW_SETCONFIG = 7 , NGM_NETFLOW_SETTEMPLATE = 8 ,
  NGM_NETFLOW_SETMTU = 9 , NGM_NETFLOW_V9INFO = 10|NGM_READONLY|NGM_HASREPLY
}
 

Functions

void ng_netflow_cache_init (priv_p)
 
void ng_netflow_cache_flush (priv_p)
 
int ng_netflow_fib_init (priv_p priv, int fib)
 
void ng_netflow_copyinfo (priv_p, struct ng_netflow_info *)
 
void ng_netflow_copyv9info (priv_p, struct ng_netflow_v9info *)
 
int ng_netflow_flow_add (priv_p, fib_export_p, struct ip *, caddr_t, uint8_t, uint8_t, unsigned int)
 
int ng_netflow_flow6_add (priv_p, fib_export_p, struct ip6_hdr *, caddr_t, uint8_t, uint8_t, unsigned int)
 
int ng_netflow_flow_show (priv_p, struct ngnf_show_header *req, struct ngnf_show_header *resp)
 
void ng_netflow_v9_cache_init (priv_p)
 
void ng_netflow_v9_cache_flush (priv_p)
 
item_p get_export9_dgram (priv_p, fib_export_p, struct netflow_v9_packet_opt **)
 
void return_export9_dgram (priv_p, fib_export_p, item_p, struct netflow_v9_packet_opt *, int)
 
int export9_add (item_p, struct netflow_v9_packet_opt *, struct flow_entry *)
 
int export9_send (priv_p, fib_export_p, item_p, struct netflow_v9_packet_opt *, int)
 

Variables

callout_func_t ng_netflow_expire
 

Macro Definition Documentation

◆ CACHEHIGHWAT

#define CACHEHIGHWAT   (CACHESIZE * 9/10)

Definition at line 421 of file ng_netflow.h.

◆ CACHELOWAT

#define CACHELOWAT   (CACHESIZE * 3/4)

Definition at line 420 of file ng_netflow.h.

◆ CACHESIZE

#define CACHESIZE   (65536*16)

Definition at line 419 of file ng_netflow.h.

◆ ERROUT

#define ERROUT (   x)    { error = (x); goto done; }

Definition at line 494 of file ng_netflow.h.

◆ fle_i_ifx [1/2]

#define fle_i_ifx   r.misc.i.i_ifx

Definition at line 274 of file ng_netflow.h.

◆ fle_i_ifx [2/2]

#define fle_i_ifx   r.misc.i.i_ifx

Definition at line 274 of file ng_netflow.h.

◆ IP6VERSION

#define IP6VERSION   6

Definition at line 500 of file ng_netflow.h.

◆ m_pktlen

#define m_pktlen (   m)    ((m)->m_pkthdr.len)

Definition at line 499 of file ng_netflow.h.

◆ MAXDLTNAMELEN

#define MAXDLTNAMELEN   20

Definition at line 118 of file ng_netflow.h.

◆ MILLIUPTIME

#define MILLIUPTIME (   t)
Value:
(((t) << 9) + /* 512 */ \
((t) << 8) + /* 256 */ \
((t) << 7) + /* 128 */ \
((t) << 6) + /* 64 */ \
((t) << 5) + /* 32 */ \
((t) << 3)) /* 8 */

Definition at line 509 of file ng_netflow.h.

◆ MTAG_NETFLOW

#define MTAG_NETFLOW   1221656444

Definition at line 496 of file ng_netflow.h.

◆ MTAG_NETFLOW_CALLED

#define MTAG_NETFLOW_CALLED   0

Definition at line 497 of file ng_netflow.h.

◆ NETFLOW_V9_MAX_FLOWSETS

#define NETFLOW_V9_MAX_FLOWSETS   2

Definition at line 473 of file ng_netflow.h.

◆ NG_NETFLOW_CONF_EGRESS

#define NG_NETFLOW_CONF_EGRESS   0x02 /* Account on egress */

Definition at line 142 of file ng_netflow.h.

◆ NG_NETFLOW_CONF_INGRESS

#define NG_NETFLOW_CONF_INGRESS   0x01 /* Account on ingress */

Definition at line 141 of file ng_netflow.h.

◆ NG_NETFLOW_CONF_NODSTLOOKUP

#define NG_NETFLOW_CONF_NODSTLOOKUP   0x20 /* No radix lookup on dst */

Definition at line 146 of file ng_netflow.h.

◆ NG_NETFLOW_CONF_NOSRCLOOKUP

#define NG_NETFLOW_CONF_NOSRCLOOKUP   0x10 /* No radix lookup on src */

Definition at line 145 of file ng_netflow.h.

◆ NG_NETFLOW_CONF_ONCE

#define NG_NETFLOW_CONF_ONCE   0x04 /* Add tag to account only once */

Definition at line 143 of file ng_netflow.h.

◆ NG_NETFLOW_CONF_THISONCE

#define NG_NETFLOW_CONF_THISONCE   0x08 /* Account once in current node */

Definition at line 144 of file ng_netflow.h.

◆ NG_NETFLOW_FLOW_FLAGS

#define NG_NETFLOW_FLOW_FLAGS
Value:
NG_NETFLOW_CONF_NODSTLOOKUP)
#define NG_NETFLOW_CONF_NOSRCLOOKUP
Definition: ng_netflow.h:145

Definition at line 149 of file ng_netflow.h.

◆ NG_NETFLOW_HOOK_DATA

#define NG_NETFLOW_HOOK_DATA   "iface"

Definition at line 45 of file ng_netflow.h.

◆ NG_NETFLOW_HOOK_EXPORT

#define NG_NETFLOW_HOOK_EXPORT   "export"

Definition at line 47 of file ng_netflow.h.

◆ NG_NETFLOW_HOOK_EXPORT9

#define NG_NETFLOW_HOOK_EXPORT9   "export9"

Definition at line 48 of file ng_netflow.h.

◆ NG_NETFLOW_HOOK_OUT

#define NG_NETFLOW_HOOK_OUT   "out"

Definition at line 46 of file ng_netflow.h.

◆ NG_NETFLOW_IFINFO_TYPE

#define NG_NETFLOW_IFINFO_TYPE
Value:
{ \
{ "packets", &ng_parse_uint32_type },\
{ "data link type", &ng_parse_uint8_type }, \
{ "index", &ng_parse_uint16_type },\
{ "conf", &ng_parse_uint32_type },\
{ NULL } \
}
const struct ng_parse_type ng_parse_uint16_type
Definition: ng_parse.c:509
const struct ng_parse_type ng_parse_uint32_type
Definition: ng_parse.c:608
const struct ng_parse_type ng_parse_uint8_type
Definition: ng_parse.c:413

Definition at line 311 of file ng_netflow.h.

◆ NG_NETFLOW_INFO_TYPE

#define NG_NETFLOW_INFO_TYPE
Value:
{ \
{ "IPv4 bytes", &ng_parse_uint64_type },\
{ "IPv4 packets", &ng_parse_uint64_type },\
{ "IPv6 bytes", &ng_parse_uint64_type },\
{ "IPv6 packets", &ng_parse_uint64_type },\
{ "IPv4 skipped bytes", &ng_parse_uint64_type },\
{ "IPv4 skipped packets", &ng_parse_uint64_type },\
{ "IPv6 skipped bytes", &ng_parse_uint64_type },\
{ "IPv6 skipped packets", &ng_parse_uint64_type },\
{ "Active expiries", &ng_parse_uint64_type },\
{ "Inactive expiries", &ng_parse_uint64_type },\
{ "IPv4 records used", &ng_parse_uint32_type },\
{ "IPv6 records used", &ng_parse_uint32_type },\
{ "Failed allocations", &ng_parse_uint32_type },\
{ "V5 failed exports", &ng_parse_uint32_type },\
{ "V9 failed exports", &ng_parse_uint32_type },\
{ "mbuf reallocations", &ng_parse_uint32_type },\
{ "fibs allocated", &ng_parse_uint32_type },\
{ "Inactive timeout", &ng_parse_uint32_type },\
{ "Active timeout", &ng_parse_uint32_type },\
{ NULL } \
}
const struct ng_parse_type ng_parse_uint64_type
Definition: ng_parse.c:703

Definition at line 91 of file ng_netflow.h.

◆ NG_NETFLOW_IS_FRAG

#define NG_NETFLOW_IS_FRAG   0x01

Definition at line 148 of file ng_netflow.h.

◆ NG_NETFLOW_MAXIFACES

#define NG_NETFLOW_MAXIFACES   USHRT_MAX

Definition at line 41 of file ng_netflow.h.

◆ NG_NETFLOW_NODE_TYPE

#define NG_NETFLOW_NODE_TYPE   "netflow"

Definition at line 37 of file ng_netflow.h.

◆ NG_NETFLOW_SETCONFIG_TYPE

#define NG_NETFLOW_SETCONFIG_TYPE
Value:
{ \
{ "iface", &ng_parse_uint16_type }, \
{ "conf", &ng_parse_uint32_type }, \
{ NULL } \
}

Definition at line 341 of file ng_netflow.h.

◆ NG_NETFLOW_SETDLT_TYPE

#define NG_NETFLOW_SETDLT_TYPE
Value:
{ \
{ "iface", &ng_parse_uint16_type }, \
{ "dlt", &ng_parse_uint8_type }, \
{ NULL } \
}

Definition at line 320 of file ng_netflow.h.

◆ NG_NETFLOW_SETIFINDEX_TYPE

#define NG_NETFLOW_SETIFINDEX_TYPE
Value:
{ \
{ "iface", &ng_parse_uint16_type }, \
{ "index", &ng_parse_uint16_type }, \
{ NULL } \
}

Definition at line 327 of file ng_netflow.h.

◆ NG_NETFLOW_SETMTU_TYPE

#define NG_NETFLOW_SETMTU_TYPE
Value:
{ \
{ "mtu", &ng_parse_uint16_type }, \
{ NULL } \
}

Definition at line 355 of file ng_netflow.h.

◆ NG_NETFLOW_SETTEMPLATE_TYPE

#define NG_NETFLOW_SETTEMPLATE_TYPE
Value:
{ \
{ "time", &ng_parse_uint16_type }, \
{ "packets", &ng_parse_uint16_type }, \
{ NULL } \
}

Definition at line 348 of file ng_netflow.h.

◆ NG_NETFLOW_SETTIMEOUTS_TYPE

#define NG_NETFLOW_SETTIMEOUTS_TYPE
Value:
{ \
{ "inactive", &ng_parse_uint32_type }, \
{ "active", &ng_parse_uint32_type }, \
{ NULL } \
}

Definition at line 334 of file ng_netflow.h.

◆ NG_NETFLOW_V9INFO_TYPE

#define NG_NETFLOW_V9INFO_TYPE
Value:
{ \
{ "v9 template packets", &ng_parse_uint16_type },\
{ "v9 template time", &ng_parse_uint16_type },\
{ "v9 MTU", &ng_parse_uint16_type },\
{ NULL } \
}

Definition at line 361 of file ng_netflow.h.

◆ NGM_NETFLOW_COOKIE

#define NGM_NETFLOW_COOKIE   1365756954

Definition at line 38 of file ng_netflow.h.

◆ NGM_NETFLOW_V9_COOKIE

#define NGM_NETFLOW_V9_COOKIE   1349865386

Definition at line 39 of file ng_netflow.h.

◆ NGRESP_SIZE

#define NGRESP_SIZE
Value:
(sizeof(struct ngnf_show_header) + (NREC_AT_ONCE * \
sizeof(struct flow_entry_data)))
#define NREC_AT_ONCE
Definition: ng_netflow.h:288
Definition: ng_netflow.h:251

Definition at line 291 of file ng_netflow.h.

◆ NREC6_AT_ONCE

#define NREC6_AT_ONCE
Value:
(NREC_AT_ONCE * sizeof(struct flow_entry_data) / \
sizeof(struct flow6_entry_data))
Definition: ng_netflow.h:266

Definition at line 289 of file ng_netflow.h.

◆ NREC_AT_ONCE

#define NREC_AT_ONCE   1000

Definition at line 288 of file ng_netflow.h.

◆ priv_to_fib

#define priv_to_fib (   priv,
  fib 
)    (priv)->fib_data[(fib)]

Definition at line 502 of file ng_netflow.h.

◆ r_dport

#define r_dport   ports.dir.d_port

Definition at line 248 of file ng_netflow.h.

◆ r_i_ifx

#define r_i_ifx   misc.i.i_ifx

Definition at line 244 of file ng_netflow.h.

◆ r_ip_p

#define r_ip_p   misc.i.prot

Definition at line 242 of file ng_netflow.h.

◆ r_misc

#define r_misc   misc.all

Definition at line 245 of file ng_netflow.h.

◆ r_ports

#define r_ports   ports.both

Definition at line 246 of file ng_netflow.h.

◆ r_sport

#define r_sport   ports.dir.s_port

Definition at line 247 of file ng_netflow.h.

◆ r_tos

#define r_tos   misc.i.tos

Definition at line 243 of file ng_netflow.h.

◆ SORCVBUF_SIZE

#define SORCVBUF_SIZE   (NGRESP_SIZE + 2 * sizeof(struct ng_mesg))

Definition at line 293 of file ng_netflow.h.

Typedef Documentation

◆ fib_export_p

typedef struct fib_export* fib_export_p

Definition at line 405 of file ng_netflow.h.

◆ iface_p

typedef struct ng_netflow_iface* iface_p

Definition at line 375 of file ng_netflow.h.

◆ ifinfo_p

typedef struct ng_netflow_ifinfo* ifinfo_p

Definition at line 376 of file ng_netflow.h.

◆ priv_p

typedef struct netflow* priv_p

Definition at line 487 of file ng_netflow.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
NGM_NETFLOW_INFO 
NGM_NETFLOW_IFINFO 
NGM_NETFLOW_SHOW 
NGM_NETFLOW_SETDLT 
NGM_NETFLOW_SETIFINDEX 
NGM_NETFLOW_SETTIMEOUTS 
NGM_NETFLOW_SETCONFIG 
NGM_NETFLOW_SETTEMPLATE 
NGM_NETFLOW_SETMTU 
NGM_NETFLOW_V9INFO 

Definition at line 54 of file ng_netflow.h.

Function Documentation

◆ export9_add()

int export9_add ( item_p  item,
struct netflow_v9_packet_opt t,
struct flow_entry fle 
)

Definition at line 241 of file netflow_v9.c.

References _NETFLOW_V9_MAX_SIZE, flow_entry_data::bytes, flow6_entry_data::bytes, close_flowset(), netflow_v9_packet_opt::count, netflow_v9_record_ipv4_tcp::d_port, netflow_v9_record_ipv6_tcp::d_port, flow6_rec::dst, netflow_v9_record_ipv4_tcp::dst_addr, netflow_v9_record_ipv6_tcp::dst_addr, netflow_v9_record_ipv4_tcp::dst_as, netflow_v9_record_ipv6_tcp::dst_as, netflow_v9_record_ipv4_tcp::dst_mask, netflow_v9_record_ipv6_tcp::dst_mask, flow_entry_data::dst_mask, flow6_entry_data::dst_mask, flow_entry::f, netflow_v9_record_ipv4_tcp::first, netflow_v9_record_ipv6_tcp::first, flow_entry_data::first, flow6_entry_data::first, netflow_v9_record_ipv4_tcp::flags, netflow_v9_record_ipv6_tcp::flags, flow_entry_data::fle_o_ifx, flow6_entry_data::fle_o_ifx, netflow_v9_packet_opt::flow_header, netflow_v9_packet_opt::flow_type, flow_rec::flow_type, netflow_v9_record_ipv4_tcp::i_ifx, netflow_v9_record_ipv6_tcp::i_ifx, netflow_v9_record_ipv4_tcp::i_octets, netflow_v9_record_ipv6_tcp::i_octets, netflow_v9_record_ipv4_tcp::i_packets, netflow_v9_record_ipv6_tcp::i_packets, netflow_v9_flowset_header::id, netflow_v9_record_ipv4_tcp::last, netflow_v9_record_ipv6_tcp::last, flow_entry_data::last, flow6_entry_data::last, netflow_v9_flowset_header::length, m_pktlen, MILLIUPTIME, netflow_v9_packet_opt::mtu, flow6_entry_data::n, NETFLOW_V9_FLOW_V4_L4, NETFLOW_V9_FLOW_V6_L4, NETFLOW_V9_MAX_RESERVED_FLOWSET, netflow_v9_record_ipv4_tcp::next_hop, netflow_v9_record_ipv6_tcp::next_hop, flow_entry_data::next_hop, flow6_entry_data::next_hop6, NGI_M, netflow_v9_record_ipv4_tcp::o_ifx, netflow_v9_record_ipv6_tcp::o_ifx, netflow_v9_record_ipv4_tcp::o_octets, netflow_v9_record_ipv6_tcp::o_octets, netflow_v9_record_ipv4_tcp::o_packets, netflow_v9_record_ipv6_tcp::o_packets, flow_entry_data::packets, flow6_entry_data::packets, netflow_v9_record_ipv4_tcp::prot, netflow_v9_record_ipv6_tcp::prot, flow_entry_data::r, flow6_entry_data::r, flow_rec::r_dst, flow6_rec::r_dst6, flow_rec::r_src, flow6_rec::r_src6, netflow_v9_record_general::rec, netflow_v9_record_ipv4_tcp::s_port, netflow_v9_record_ipv6_tcp::s_port, flow6_rec::src, netflow_v9_record_ipv4_tcp::src_addr, netflow_v9_record_ipv6_tcp::src_addr, netflow_v9_record_ipv4_tcp::src_as, netflow_v9_record_ipv6_tcp::src_as, netflow_v9_record_ipv4_tcp::src_mask, netflow_v9_record_ipv6_tcp::src_mask, flow_entry_data::src_mask, flow6_entry_data::src_mask, flow_entry_data::tcp_flags, flow6_entry_data::tcp_flags, netflow_v9_record_ipv4_tcp::tos, netflow_v9_record_ipv6_tcp::tos, netflow_v9_record_general::v4_tcp, and netflow_v9_record_general::v6_tcp.

Referenced by expire_flow().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ export9_send()

int export9_send ( priv_p  priv,
fib_export_p  fe,
item_p  item,
struct netflow_v9_packet_opt t,
int  flags 
)

◆ get_export9_dgram()

◆ ng_netflow_cache_flush()

void ng_netflow_cache_flush ( priv_p  priv)

Definition at line 572 of file netflow.c.

References expire_flow(), export9_send(), export_send(), flow_entry::f, flow_rec::fib, flow_hash_entry::mtx, NBUCKETS, ng_netflow_v9_cache_flush(), NG_QUEUE, priv_to_fib, and flow_entry_data::r.

Referenced by ng_netflow_close().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ng_netflow_cache_init()

void ng_netflow_cache_init ( priv_p  priv)

Definition at line 478 of file netflow.c.

References CACHESIZE, flow_hash_entry::mtx, NBUCKETS, and ng_netflow_v9_cache_init().

Referenced by ng_netflow_constructor().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ng_netflow_copyinfo()

◆ ng_netflow_copyv9info()

void ng_netflow_copyv9info ( priv_p  priv,
struct ng_netflow_v9info i 
)

Definition at line 484 of file netflow_v9.c.

References ng_netflow_v9info::mtu, ng_netflow_v9info::templ_packets, and ng_netflow_v9info::templ_time.

Referenced by ng_netflow_rcvmsg().

Here is the caller graph for this function:

◆ ng_netflow_fib_init()

int ng_netflow_fib_init ( priv_p  priv,
int  fib 
)

Definition at line 534 of file netflow.c.

References fib_export::domain_id, fib_export::export9_mtx, fib_export::export_mtx, fib_export::fib, and priv_to_fib.

Referenced by ng_netflow_rcvdata().

Here is the caller graph for this function:

◆ ng_netflow_flow6_add()

int ng_netflow_flow6_add ( priv_p  ,
fib_export_p  ,
struct ip6_hdr *  ,
caddr_t  ,
uint8_t  ,
uint8_t  ,
unsigned int   
)

Referenced by ng_netflow_rcvdata().

Here is the caller graph for this function:

◆ ng_netflow_flow_add()

int ng_netflow_flow_add ( priv_p  ,
fib_export_p  ,
struct ip *  ,
caddr_t  ,
uint8_t  ,
uint8_t  ,
unsigned int   
)

Referenced by ng_netflow_rcvdata().

Here is the caller graph for this function:

◆ ng_netflow_flow_show()

int ng_netflow_flow_show ( priv_p  priv,
struct ngnf_show_header req,
struct ngnf_show_header resp 
)

◆ ng_netflow_v9_cache_flush()

void ng_netflow_v9_cache_flush ( priv_p  priv)

Definition at line 473 of file netflow_v9.c.

Referenced by ng_netflow_cache_flush().

Here is the caller graph for this function:

◆ ng_netflow_v9_cache_init()

void ng_netflow_v9_cache_init ( priv_p  priv)

Definition at line 462 of file netflow_v9.c.

References BASE_MTU, generate_v9_templates(), NETFLOW_V9_MAX_PACKETS_TEMPL, and NETFLOW_V9_MAX_TIME_TEMPL.

Referenced by ng_netflow_cache_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ return_export9_dgram()

void return_export9_dgram ( priv_p  priv,
fib_export_p  fe,
item_p  item,
struct netflow_v9_packet_opt t,
int  flags 
)

Definition at line 442 of file netflow_v9.c.

References fib_export::exp, fib_export::export9_mtx, export9_send(), flags, netflow_export_item::item9, and netflow_export_item::item9_opt.

Referenced by expire_flow().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ ng_netflow_expire

callout_func_t ng_netflow_expire

Definition at line 522 of file ng_netflow.h.

Referenced by ng_netflow_newhook().