Attempt to clean up spacing and long lines.

This commit is contained in:
Gleb Smirnoff 2013-04-12 08:52:19 +00:00
parent 9b35844a16
commit 71336d8c1e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=249400

View File

@ -90,7 +90,7 @@ struct ng_netflow_ifinfo {
uint32_t ifinfo_packets; /* number of packets for this iface */
uint8_t ifinfo_dlt; /* Data Link Type, DLT_XXX */
#define MAXDLTNAMELEN 20
u_int16_t ifinfo_index; /* connected iface index */
uint16_t ifinfo_index; /* connected iface index */
uint32_t conf;
};
@ -98,13 +98,13 @@ struct ng_netflow_ifinfo {
/* This structure is passed to NGM_NETFLOW_SETDLT message */
struct ng_netflow_setdlt {
uint16_t iface; /* which iface dlt change */
uint8_t dlt; /* DLT_XXX from bpf.h */
uint8_t dlt; /* DLT_XXX from bpf.h */
};
/* This structure is passed to NGM_NETFLOW_SETIFINDEX */
struct ng_netflow_setifindex {
u_int16_t iface; /* which iface index change */
u_int16_t index; /* new index */
uint16_t iface; /* which iface index change */
uint16_t index; /* new index */
};
/* This structure is passed to NGM_NETFLOW_SETTIMEOUTS */
@ -126,8 +126,8 @@ struct ng_netflow_settimeouts {
/* This structure is passed to NGM_NETFLOW_SETCONFIG */
struct ng_netflow_setconfig {
u_int16_t iface; /* which iface config change */
u_int32_t conf; /* new config */
uint16_t iface; /* which iface config change */
uint32_t conf; /* new config */
};
/* This structure is passed to NGM_NETFLOW_SETTEMPLATE */
@ -145,7 +145,7 @@ struct ng_netflow_setmtu {
struct ngnf_show_header {
u_char version; /* IPv4 or IPv6 */
uint32_t hash_id; /* current hash index */
uint32_t list_id; /* current record number in given hash */
uint32_t list_id; /* current record number in hash */
uint32_t nentries; /* number of records in response */
};
@ -164,7 +164,7 @@ struct ng_netflow_v9info {
/* This is unique data, which identifies flow */
struct flow_rec {
uint16_t flow_type; /* IPv4 L4/L3 flow, see NETFLOW_V9_FLOW* */
uint16_t flow_type;
uint16_t fib;
struct in_addr r_src;
struct in_addr r_dst;
@ -187,7 +187,7 @@ struct flow_rec {
/* This is unique data, which identifies flow */
struct flow6_rec {
uint16_t flow_type; /* IPv4 L4/L3 Ipv6 L4/L3 flow, see NETFLOW_V9_FLOW* */
uint16_t flow_type;
uint16_t fib;
union {
struct in_addr r_src;
@ -224,48 +224,48 @@ struct flow6_rec {
/* A flow entry which accumulates statistics */
struct flow_entry_data {
uint16_t version; /* Protocol version */
struct flow_rec r;
struct in_addr next_hop;
uint16_t fle_o_ifx; /* output interface index */
#define fle_i_ifx r.misc.i.i_ifx
uint16_t version; /* Protocol version */
struct flow_rec r;
struct in_addr next_hop;
uint16_t fle_o_ifx; /* output interface index */
#define fle_i_ifx r.misc.i.i_ifx
uint8_t dst_mask; /* destination route mask bits */
uint8_t src_mask; /* source route mask bits */
u_long packets;
u_long bytes;
long first; /* uptime on first packet */
long last; /* uptime on last packet */
u_char tcp_flags; /* cumulative OR */
u_long packets;
u_long bytes;
long first; /* uptime on first packet */
long last; /* uptime on last packet */
u_char tcp_flags; /* cumulative OR */
};
struct flow6_entry_data {
uint16_t version; /* Protocol version */
struct flow6_rec r;
union {
struct in_addr next_hop;
struct in6_addr next_hop6;
struct in_addr next_hop;
struct in6_addr next_hop6;
} n;
uint16_t fle_o_ifx; /* output interface index */
#define fle_i_ifx r.misc.i.i_ifx
uint16_t fle_o_ifx; /* output interface index */
#define fle_i_ifx r.misc.i.i_ifx
uint8_t dst_mask; /* destination route mask bits */
uint8_t src_mask; /* source route mask bits */
u_long packets;
u_long bytes;
long first; /* uptime on first packet */
long last; /* uptime on last packet */
u_char tcp_flags; /* cumulative OR */
u_long packets;
u_long bytes;
long first; /* uptime on first packet */
long last; /* uptime on last packet */
u_char tcp_flags; /* cumulative OR */
};
/*
* How many flow records we will transfer at once
* without overflowing socket receive buffer
*/
#define NREC_AT_ONCE 1000
#define NREC6_AT_ONCE (NREC_AT_ONCE * sizeof(struct flow_entry_data) / \
sizeof(struct flow6_entry_data))
#define NGRESP_SIZE (sizeof(struct ngnf_show_header) + (NREC_AT_ONCE * \
sizeof(struct flow_entry_data)))
#define SORCVBUF_SIZE (NGRESP_SIZE + 2 * sizeof(struct ng_mesg))
#define NREC_AT_ONCE 1000
#define NREC6_AT_ONCE (NREC_AT_ONCE * sizeof(struct flow_entry_data) / \
sizeof(struct flow6_entry_data))
#define NGRESP_SIZE (sizeof(struct ngnf_show_header) + (NREC_AT_ONCE * \
sizeof(struct flow_entry_data)))
#define SORCVBUF_SIZE (NGRESP_SIZE + 2 * sizeof(struct ng_mesg))
/* Everything below is for kernel */
@ -283,42 +283,42 @@ struct flow6_entry {
/* Parsing declarations */
/* Parse the info structure */
#define NG_NETFLOW_INFO_TYPE { \
{ "IPv4 bytes", &ng_parse_uint64_type }, \
{ "IPv4 packets", &ng_parse_uint32_type }, \
{ "IPv6 bytes", &ng_parse_uint64_type }, \
{ "IPv6 packets", &ng_parse_uint32_type }, \
{ "IPv4 skipped bytes", &ng_parse_uint64_type }, \
{ "IPv4 skipped packets", &ng_parse_uint32_type }, \
{ "IPv6 skipped bytes", &ng_parse_uint64_type }, \
{ "IPv6 skipped packets", &ng_parse_uint32_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 },\
{ "Active expiries", &ng_parse_uint32_type },\
{ "Inactive expiries", &ng_parse_uint32_type },\
{ "Inactive timeout", &ng_parse_uint32_type },\
{ "Active timeout", &ng_parse_uint32_type },\
{ NULL } \
#define NG_NETFLOW_INFO_TYPE { \
{ "IPv4 bytes", &ng_parse_uint64_type },\
{ "IPv4 packets", &ng_parse_uint32_type },\
{ "IPv6 bytes", &ng_parse_uint64_type },\
{ "IPv6 packets", &ng_parse_uint32_type },\
{ "IPv4 skipped bytes", &ng_parse_uint64_type },\
{ "IPv4 skipped packets", &ng_parse_uint32_type },\
{ "IPv6 skipped bytes", &ng_parse_uint64_type },\
{ "IPv6 skipped packets", &ng_parse_uint32_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 },\
{ "Active expiries", &ng_parse_uint32_type },\
{ "Inactive expiries", &ng_parse_uint32_type },\
{ "Inactive timeout", &ng_parse_uint32_type },\
{ "Active timeout", &ng_parse_uint32_type },\
{ NULL } \
}
/* Parse the ifinfo structure */
#define NG_NETFLOW_IFINFO_TYPE { \
{ "packets", &ng_parse_uint32_type }, \
{ "data link type", &ng_parse_uint8_type }, \
{ "index", &ng_parse_uint16_type }, \
{ "conf", &ng_parse_uint32_type }, \
{ "packets", &ng_parse_uint32_type },\
{ "data link type", &ng_parse_uint8_type }, \
{ "index", &ng_parse_uint16_type },\
{ "conf", &ng_parse_uint32_type },\
{ NULL } \
}
/* Parse the setdlt structure */
#define NG_NETFLOW_SETDLT_TYPE { \
{ "iface", &ng_parse_uint16_type }, \
{ "dlt", &ng_parse_uint8_type }, \
{ "dlt", &ng_parse_uint8_type }, \
{ NULL } \
}
@ -357,11 +357,11 @@ struct flow6_entry {
}
/* Parse the v9info structure */
#define NG_NETFLOW_V9INFO_TYPE { \
#define NG_NETFLOW_V9INFO_TYPE { \
{ "v9 template packets", &ng_parse_uint16_type },\
{ "v9 template time", &ng_parse_uint16_type },\
{ "v9 MTU", &ng_parse_uint16_type },\
{ NULL } \
{ "v9 template time", &ng_parse_uint16_type },\
{ "v9 MTU", &ng_parse_uint16_type },\
{ NULL } \
}
/* Private hook data */
@ -382,30 +382,34 @@ struct netflow_export_item {
/* Structure contatining fib-specific data */
struct fib_export {
uint32_t fib; /* kernel fib id */
struct netflow_export_item exp; /* Various data used for export */
struct mtx export_mtx; /* exp.item mutex */
struct mtx export9_mtx; /* exp.item9 mutex */
uint32_t flow_seq; /* current V5 flow sequence */
uint32_t flow9_seq; /* current V9 flow sequence */
uint32_t domain_id; /* Observartion domain id */
uint32_t fib; /* kernel fib id */
/* Various data used for export */
struct netflow_export_item exp;
struct mtx export_mtx; /* exp.item mutex */
struct mtx export9_mtx; /* exp.item9 mutex */
uint32_t flow_seq; /* current V5 flow sequence */
uint32_t flow9_seq; /* current V9 flow sequence */
uint32_t domain_id; /* Observartion domain id */
/* Netflow V9 counters */
uint32_t templ_last_ts; /* unixtime of last template announce */
uint32_t templ_last_pkt; /* packets count on last template announce */
uint32_t sent_packets; /* packets sent by exporter; */
struct netflow_v9_packet_opt *export9_opt; /* current packet specific options */
uint32_t templ_last_ts; /* unixtime of last template announce */
uint32_t templ_last_pkt; /* packet count on last announce */
uint32_t sent_packets; /* packets sent by exporter; */
/* Current packet specific options */
struct netflow_v9_packet_opt *export9_opt;
};
typedef struct fib_export *fib_export_p;
/* Structure describing our flow engine */
struct netflow {
node_p node; /* link to the node itself */
hook_p export; /* export data goes there */
hook_p export9; /* Netflow V9 export data goes there */
struct ng_netflow_info info;
struct callout exp_callout; /* expiry periodic job */
node_p node; /* link to the node itself */
hook_p export; /* export data goes there */
hook_p export9; /* Netflow V9 export data goes there */
struct ng_netflow_info info;
struct callout exp_callout; /* expiry periodic job */
/*
* Flow entries are allocated in uma(9) zone zone. They are
@ -435,22 +439,28 @@ struct netflow {
uma_zone_t zone6;
struct flow_hash_entry *hash6;
#endif
/* Multiple FIB support */
fib_export_p *fib_data; /* array of pointers to per-fib data */
uint16_t maxfibs; /* number of allocated fibs */
fib_export_p *fib_data; /* vector to per-fib data */
uint16_t maxfibs; /* number of allocated fibs */
/* Netflow v9 configuration options */
/*
* RFC 3954 clause 7.3
* "Both options MUST be configurable by the user on the Exporter."
*/
uint16_t templ_time; /* time between sending templates */
uint16_t templ_packets; /* packets between sending templates */
uint16_t templ_time; /* time between sending templates */
uint16_t templ_packets; /* packets between sending templates */
#define NETFLOW_V9_MAX_FLOWSETS 2
u_char flowsets_count; /* current flowsets used */
u_char flowset_records[NETFLOW_V9_MAX_FLOWSETS - 1]; /* Count of records in each flowset */
uint16_t mtu; /* export interface MTU */
struct netflow_v9_flowset_header *v9_flowsets[NETFLOW_V9_MAX_FLOWSETS - 1]; /* Pointers to pre-compiled flowsets */
u_char flowsets_count; /* current flowsets used */
/* Count of records in each flowset */
u_char flowset_records[NETFLOW_V9_MAX_FLOWSETS - 1];
uint16_t mtu; /* export interface MTU */
/* Pointers to pre-compiled flowsets */
struct netflow_v9_flowset_header
*v9_flowsets[NETFLOW_V9_MAX_FLOWSETS - 1];
struct ng_netflow_iface ifaces[NG_NETFLOW_MAXIFACES];
};
@ -492,18 +502,22 @@ 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 *);
timeout_t ng_netflow_expire;
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);
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 **);
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);
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);
#endif /* _KERNEL */
#endif /* _NG_NETFLOW_H_ */