Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ipt_ULOG.h
Go to the documentation of this file.
1 /* Header file for IP tables userspace logging, Version 1.8
2  *
3  * (C) 2000-2002 by Harald Welte <[email protected]>
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;
32 };
33 
34 /* Format of the ULOG packets passed through netlink */
35 typedef struct ulog_packet_msg {
36  unsigned long mark;
39  unsigned int hook;
42  size_t data_len;
44  unsigned char mac_len;
45  unsigned char mac[ULOG_MAC_LEN];
46  unsigned char payload[0];
48 
49 #endif /*_IPT_ULOG_H*/