Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 */ | |
27 | struct 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 */ | |
35 | typedef 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*/ |