Line 0
Link Here
|
0 |
- |
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*/ |