1e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy#ifndef _NETFILTER_NF_NAT_H 2e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy#define _NETFILTER_NF_NAT_H 3e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy 4e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy#include <linux/netfilter.h> 5e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy#include <linux/netfilter/nf_conntrack_tuple_common.h> 6e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy 73cefc136d13f426fd68808ddfd39ada0c90f23dbDaniel Borkmann#define NF_NAT_RANGE_MAP_IPS (1 << 0) 83cefc136d13f426fd68808ddfd39ada0c90f23dbDaniel Borkmann#define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1) 93cefc136d13f426fd68808ddfd39ada0c90f23dbDaniel Borkmann#define NF_NAT_RANGE_PROTO_RANDOM (1 << 2) 103cefc136d13f426fd68808ddfd39ada0c90f23dbDaniel Borkmann#define NF_NAT_RANGE_PERSISTENT (1 << 3) 113cefc136d13f426fd68808ddfd39ada0c90f23dbDaniel Borkmann#define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4) 123cefc136d13f426fd68808ddfd39ada0c90f23dbDaniel Borkmann 133cefc136d13f426fd68808ddfd39ada0c90f23dbDaniel Borkmann#define NF_NAT_RANGE_PROTO_RANDOM_ALL \ 143cefc136d13f426fd68808ddfd39ada0c90f23dbDaniel Borkmann (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY) 15e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy 16e62f426c7ead7c0025d15860df97426db6509942Patrick McHardystruct nf_nat_ipv4_range { 17e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy unsigned int flags; 18e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be32 min_ip; 19e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy __be32 max_ip; 20e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy union nf_conntrack_man_proto min; 21e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy union nf_conntrack_man_proto max; 22e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy}; 23e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy 24e62f426c7ead7c0025d15860df97426db6509942Patrick McHardystruct nf_nat_ipv4_multi_range_compat { 25e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy unsigned int rangesize; 26e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy struct nf_nat_ipv4_range range[1]; 27e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy}; 28e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy 290e37f00980eb6b4fc2c5f979cc5fa83c0fff9d30Patrick McHardystruct nf_nat_range { 300e37f00980eb6b4fc2c5f979cc5fa83c0fff9d30Patrick McHardy unsigned int flags; 310e37f00980eb6b4fc2c5f979cc5fa83c0fff9d30Patrick McHardy union nf_inet_addr min_addr; 320e37f00980eb6b4fc2c5f979cc5fa83c0fff9d30Patrick McHardy union nf_inet_addr max_addr; 330e37f00980eb6b4fc2c5f979cc5fa83c0fff9d30Patrick McHardy union nf_conntrack_man_proto min_proto; 340e37f00980eb6b4fc2c5f979cc5fa83c0fff9d30Patrick McHardy union nf_conntrack_man_proto max_proto; 350e37f00980eb6b4fc2c5f979cc5fa83c0fff9d30Patrick McHardy}; 360e37f00980eb6b4fc2c5f979cc5fa83c0fff9d30Patrick McHardy 37e62f426c7ead7c0025d15860df97426db6509942Patrick McHardy#endif /* _NETFILTER_NF_NAT_H */ 38