ipt_ULOG.h revision e37d45ce390c2f5a7f1e64742b9100ecef0def54
1/* Header file for IP tables userspace logging, Version 1.8
2 *
3 * (C) 2000-2002 by Harald Welte <laforge@gnumonks.org>
4 *
5 * Distributed under the terms of GNU GPL */
6
7#ifndef _IPT_ULOG_H
8#define _IPT_ULOG_H
9
10#ifndef NETLINK_NFLOG
11#define NETLINK_NFLOG 	5
12#endif
13
14#define ULOG_DEFAULT_NLGROUP	1
15#define ULOG_DEFAULT_QTHRESHOLD	1
16
17#define ULOG_MAC_LEN	80
18#define ULOG_PREFIX_LEN	32
19
20#define ULOG_MAX_QLEN	50
21/* Why 50? Well... there is a limit imposed by the slab cache 131000
22 * bytes. So the multipart netlink-message has to be < 131000 bytes.
23 * Assuming a standard ethernet-mtu of 1500, we could define this up
24 * to 80... but even 50 seems to be big enough. */
25
26/* private data structure for each rule with a ULOG target */
27struct ipt_ulog_info {
28	unsigned int nl_group;
29	size_t copy_range;
30	size_t qthreshold;
31	char prefix[ULOG_PREFIX_LEN];
32};
33
34/* Format of the ULOG packets passed through netlink */
35typedef struct ulog_packet_msg {
36	unsigned long mark;
37	long timestamp_sec;
38	long timestamp_usec;
39	unsigned int hook;
40	char indev_name[IFNAMSIZ];
41	char outdev_name[IFNAMSIZ];
42	size_t data_len;
43	char prefix[ULOG_PREFIX_LEN];
44	unsigned char mac_len;
45	unsigned char mac[ULOG_MAC_LEN];
46	unsigned char payload[0];
47} ulog_packet_msg_t;
48
49#endif /*_IPT_ULOG_H*/
50