130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _NETFILTER_NF_NAT_H 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _NETFILTER_NF_NAT_H 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/netfilter.h> 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/netfilter/nf_conntrack_tuple_common.h> 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7e87eaf040ab639e94ed0a58ff0eac68d1d38fb0aEd Heyl#define NF_NAT_RANGE_MAP_IPS (1 << 0) 8e87eaf040ab639e94ed0a58ff0eac68d1d38fb0aEd Heyl#define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1) 9e87eaf040ab639e94ed0a58ff0eac68d1d38fb0aEd Heyl#define NF_NAT_RANGE_PROTO_RANDOM (1 << 2) 10e87eaf040ab639e94ed0a58ff0eac68d1d38fb0aEd Heyl#define NF_NAT_RANGE_PERSISTENT (1 << 3) 11e87eaf040ab639e94ed0a58ff0eac68d1d38fb0aEd Heyl#define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4) 12e87eaf040ab639e94ed0a58ff0eac68d1d38fb0aEd Heyl 13e87eaf040ab639e94ed0a58ff0eac68d1d38fb0aEd Heyl#define NF_NAT_RANGE_PROTO_RANDOM_ALL \ 14e87eaf040ab639e94ed0a58ff0eac68d1d38fb0aEd Heyl (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY) 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1630692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct nf_nat_ipv4_range { 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng unsigned int flags; 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 min_ip; 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 max_ip; 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng union nf_conntrack_man_proto min; 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng union nf_conntrack_man_proto max; 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2430692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct nf_nat_ipv4_multi_range_compat { 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng unsigned int rangesize; 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng struct nf_nat_ipv4_range range[1]; 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2930692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct nf_nat_range { 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng unsigned int flags; 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng union nf_inet_addr min_addr; 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng union nf_inet_addr max_addr; 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng union nf_conntrack_man_proto min_proto; 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng union nf_conntrack_man_proto max_proto; 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _NETFILTER_NF_NAT_H */ 38