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 struct nf_nat_ipv4_range { 17 unsigned int flags; 18 __be32 min_ip; 19 __be32 max_ip; 20 union nf_conntrack_man_proto min; 21 union nf_conntrack_man_proto max; 22 }; 23 24 struct nf_nat_ipv4_multi_range_compat { 25 unsigned int rangesize; 26 struct nf_nat_ipv4_range range[1]; 27 }; 28 29 struct nf_nat_range { 30 unsigned int flags; 31 union nf_inet_addr min_addr; 32 union nf_inet_addr max_addr; 33 union nf_conntrack_man_proto min_proto; 34 union nf_conntrack_man_proto max_proto; 35 }; 36 37 #endif /* _NETFILTER_NF_NAT_H */ 38