forked from mirrors/linux
		
	netfilter: replace NF_NAT_NEEDED with IS_ENABLED(CONFIG_NF_NAT)
NF_NAT_NEEDED is true whenever nat support for either ipv4 or ipv6 is enabled. Now that the af-specific nat configuration switches have been removed, IS_ENABLED(CONFIG_NF_NAT) has the same effect. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
		
							parent
							
								
									c1deb065cf
								
							
						
					
					
						commit
						4806e97572
					
				
					 7 changed files with 21 additions and 26 deletions
				
			
		|  | @ -367,7 +367,7 @@ extern struct nf_nat_hook __rcu *nf_nat_hook; | |||
| static inline void | ||||
| nf_nat_decode_session(struct sk_buff *skb, struct flowi *fl, u_int8_t family) | ||||
| { | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	struct nf_nat_hook *nat_hook; | ||||
| 
 | ||||
| 	rcu_read_lock(); | ||||
|  |  | |||
|  | @ -48,7 +48,7 @@ struct nf_conntrack_expect { | |||
| 	/* Expectation class */ | ||||
| 	unsigned int class; | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	union nf_inet_addr saved_addr; | ||||
| 	/* This is the original per-proto part, used to map the
 | ||||
| 	 * expected connection the way the recipient expects. */ | ||||
|  |  | |||
|  | @ -404,11 +404,6 @@ config NF_NAT | |||
| 	  forms of full Network Address Port Translation. This can be | ||||
| 	  controlled by iptables, ip6tables or nft. | ||||
| 
 | ||||
| config NF_NAT_NEEDED | ||||
| 	bool | ||||
| 	depends on NF_NAT | ||||
| 	default y | ||||
| 
 | ||||
| config NF_NAT_AMANDA | ||||
| 	tristate | ||||
| 	depends on NF_CONNTRACK && NF_NAT | ||||
|  |  | |||
|  | @ -336,7 +336,7 @@ void nf_ct_expect_init(struct nf_conntrack_expect *exp, unsigned int class, | |||
| 
 | ||||
| 	exp->tuple.dst.u.all = *dst; | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	memset(&exp->saved_addr, 0, sizeof(exp->saved_addr)); | ||||
| 	memset(&exp->saved_proto, 0, sizeof(exp->saved_proto)); | ||||
| #endif | ||||
|  |  | |||
|  | @ -45,7 +45,7 @@ | |||
| #include <net/netfilter/nf_conntrack_timestamp.h> | ||||
| #include <net/netfilter/nf_conntrack_labels.h> | ||||
| #include <net/netfilter/nf_conntrack_synproxy.h> | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| #include <net/netfilter/nf_nat.h> | ||||
| #include <net/netfilter/nf_nat_helper.h> | ||||
| #endif | ||||
|  | @ -655,7 +655,7 @@ static size_t ctnetlink_nlmsg_size(const struct nf_conn *ct) | |||
| 	       + nla_total_size(0) /* CTA_HELP */ | ||||
| 	       + nla_total_size(NF_CT_HELPER_NAME_LEN) /* CTA_HELP_NAME */ | ||||
| 	       + ctnetlink_secctx_size(ct) | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	       + 2 * nla_total_size(0) /* CTA_NAT_SEQ_ADJ_ORIG|REPL */ | ||||
| 	       + 6 * nla_total_size(sizeof(u_int32_t)) /* CTA_NAT_SEQ_OFFSET */ | ||||
| #endif | ||||
|  | @ -1494,7 +1494,7 @@ static int ctnetlink_get_ct_unconfirmed(struct net *net, struct sock *ctnl, | |||
| 	return -EOPNOTSUPP; | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| static int | ||||
| ctnetlink_parse_nat_setup(struct nf_conn *ct, | ||||
| 			  enum nf_nat_manip_type manip, | ||||
|  | @ -1586,7 +1586,7 @@ ctnetlink_change_status(struct nf_conn *ct, const struct nlattr * const cda[]) | |||
| static int | ||||
| ctnetlink_setup_nat(struct nf_conn *ct, const struct nlattr * const cda[]) | ||||
| { | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	int ret; | ||||
| 
 | ||||
| 	if (!cda[CTA_NAT_DST] && !cda[CTA_NAT_SRC]) | ||||
|  | @ -2369,7 +2369,7 @@ ctnetlink_glue_build_size(const struct nf_conn *ct) | |||
| 	       + nla_total_size(0) /* CTA_HELP */ | ||||
| 	       + nla_total_size(NF_CT_HELPER_NAME_LEN) /* CTA_HELP_NAME */ | ||||
| 	       + ctnetlink_secctx_size(ct) | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	       + 2 * nla_total_size(0) /* CTA_NAT_SEQ_ADJ_ORIG|REPL */ | ||||
| 	       + 6 * nla_total_size(sizeof(u_int32_t)) /* CTA_NAT_SEQ_OFFSET */ | ||||
| #endif | ||||
|  | @ -2699,7 +2699,7 @@ ctnetlink_exp_dump_expect(struct sk_buff *skb, | |||
| 	struct nf_conn *master = exp->master; | ||||
| 	long timeout = ((long)exp->timeout.expires - (long)jiffies) / HZ; | ||||
| 	struct nf_conn_help *help; | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	struct nlattr *nest_parms; | ||||
| 	struct nf_conntrack_tuple nat_tuple = {}; | ||||
| #endif | ||||
|  | @ -2717,7 +2717,7 @@ ctnetlink_exp_dump_expect(struct sk_buff *skb, | |||
| 				 CTA_EXPECT_MASTER) < 0) | ||||
| 		goto nla_put_failure; | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	if (!nf_inet_addr_cmp(&exp->saved_addr, &any_addr) || | ||||
| 	    exp->saved_proto.all) { | ||||
| 		nest_parms = nla_nest_start(skb, CTA_EXPECT_NAT | NLA_F_NESTED); | ||||
|  | @ -3180,7 +3180,7 @@ ctnetlink_parse_expect_nat(const struct nlattr *attr, | |||
| 			   struct nf_conntrack_expect *exp, | ||||
| 			   u_int8_t u3) | ||||
| { | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	struct nlattr *tb[CTA_EXPECT_NAT_MAX+1]; | ||||
| 	struct nf_conntrack_tuple nat_tuple = {}; | ||||
| 	int err; | ||||
|  |  | |||
|  | @ -928,7 +928,7 @@ static int set_expected_rtp_rtcp(struct sk_buff *skb, unsigned int protoff, | |||
| 		    nfct_help(exp->master)->helper != nfct_help(ct)->helper || | ||||
| 		    exp->class != class) | ||||
| 			break; | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 		if (!direct_rtp && | ||||
| 		    (!nf_inet_addr_cmp(&exp->saved_addr, &exp->tuple.dst.u3) || | ||||
| 		     exp->saved_proto.udp.port != exp->tuple.dst.u.udp.port) && | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ | |||
| #include <net/netfilter/ipv6/nf_defrag_ipv6.h> | ||||
| #include <net/ipv6_frag.h> | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| #include <net/netfilter/nf_nat.h> | ||||
| #endif | ||||
| 
 | ||||
|  | @ -75,7 +75,7 @@ struct ovs_conntrack_info { | |||
| 	struct md_mark mark; | ||||
| 	struct md_labels labels; | ||||
| 	char timeout[CTNL_TIMEOUT_NAME_MAX]; | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	struct nf_nat_range2 range;  /* Only present for SRC NAT and DST NAT. */ | ||||
| #endif | ||||
| }; | ||||
|  | @ -721,7 +721,7 @@ static bool skb_nfct_cached(struct net *net, | |||
| 	return ct_executed; | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| /* Modelled after nf_nat_ipv[46]_fn().
 | ||||
|  * range is only used for new, uninitialized NAT state. | ||||
|  * Returns either NF_ACCEPT or NF_DROP. | ||||
|  | @ -903,7 +903,7 @@ static int ovs_ct_nat(struct net *net, struct sw_flow_key *key, | |||
| 
 | ||||
| 	return err; | ||||
| } | ||||
| #else /* !CONFIG_NF_NAT_NEEDED */ | ||||
| #else /* !CONFIG_NF_NAT */ | ||||
| static int ovs_ct_nat(struct net *net, struct sw_flow_key *key, | ||||
| 		      const struct ovs_conntrack_info *info, | ||||
| 		      struct sk_buff *skb, struct nf_conn *ct, | ||||
|  | @ -1330,7 +1330,7 @@ static int ovs_ct_add_helper(struct ovs_conntrack_info *info, const char *name, | |||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| static int parse_nat(const struct nlattr *attr, | ||||
| 		     struct ovs_conntrack_info *info, bool log) | ||||
| { | ||||
|  | @ -1467,7 +1467,7 @@ static const struct ovs_ct_len_tbl ovs_ct_attr_lens[OVS_CT_ATTR_MAX + 1] = { | |||
| 				    .maxlen = sizeof(struct md_labels) }, | ||||
| 	[OVS_CT_ATTR_HELPER]	= { .minlen = 1, | ||||
| 				    .maxlen = NF_CT_HELPER_NAME_LEN }, | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	/* NAT length is checked when parsing the nested attributes. */ | ||||
| 	[OVS_CT_ATTR_NAT]	= { .minlen = 0, .maxlen = INT_MAX }, | ||||
| #endif | ||||
|  | @ -1547,7 +1547,7 @@ static int parse_ct(const struct nlattr *attr, struct ovs_conntrack_info *info, | |||
| 				return -EINVAL; | ||||
| 			} | ||||
| 			break; | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 		case OVS_CT_ATTR_NAT: { | ||||
| 			int err = parse_nat(a, info, log); | ||||
| 
 | ||||
|  | @ -1677,7 +1677,7 @@ int ovs_ct_copy_action(struct net *net, const struct nlattr *attr, | |||
| 	return err; | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| static bool ovs_ct_nat_to_attr(const struct ovs_conntrack_info *info, | ||||
| 			       struct sk_buff *skb) | ||||
| { | ||||
|  | @ -1783,7 +1783,7 @@ int ovs_ct_action_to_attr(const struct ovs_conntrack_info *ct_info, | |||
| 			return -EMSGSIZE; | ||||
| 	} | ||||
| 
 | ||||
| #ifdef CONFIG_NF_NAT_NEEDED | ||||
| #if IS_ENABLED(CONFIG_NF_NAT) | ||||
| 	if (ct_info->nat && !ovs_ct_nat_to_attr(ct_info, skb)) | ||||
| 		return -EMSGSIZE; | ||||
| #endif | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Florian Westphal
						Florian Westphal