]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - include/uapi/linux/netfilter/nf_nat.h
Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd
[mirror_ubuntu-artful-kernel.git] / include / uapi / linux / netfilter / nf_nat.h
1 #ifndef _NETFILTER_NF_NAT_H
2 #define _NETFILTER_NF_NAT_H
3
4 #include <linux/netfilter.h>
5 #include <linux/netfilter/nf_conntrack_tuple_common.h>
6
7 #define NF_NAT_RANGE_MAP_IPS (1 << 0)
8 #define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1)
9 #define NF_NAT_RANGE_PROTO_RANDOM (1 << 2)
10 #define NF_NAT_RANGE_PERSISTENT (1 << 3)
11 #define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4)
12
13 #define NF_NAT_RANGE_PROTO_RANDOM_ALL \
14 (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY)
15
16 #define NF_NAT_RANGE_MASK \
17 (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \
18 NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \
19 NF_NAT_RANGE_PROTO_RANDOM_FULLY)
20
21 struct nf_nat_ipv4_range {
22 unsigned int flags;
23 __be32 min_ip;
24 __be32 max_ip;
25 union nf_conntrack_man_proto min;
26 union nf_conntrack_man_proto max;
27 };
28
29 struct nf_nat_ipv4_multi_range_compat {
30 unsigned int rangesize;
31 struct nf_nat_ipv4_range range[1];
32 };
33
34 struct nf_nat_range {
35 unsigned int flags;
36 union nf_inet_addr min_addr;
37 union nf_inet_addr max_addr;
38 union nf_conntrack_man_proto min_proto;
39 union nf_conntrack_man_proto max_proto;
40 };
41
42 #endif /* _NETFILTER_NF_NAT_H */