Skip to contentSkip to conversation

nf_nat: no IP_NAT_RANGE_MAP_IPS flags when alloc_null_binding()

PATCH Superseded Changli Gao 2 participants 3 messages Aug 1, 2010 – Aug 2, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 nf_nat: no IP_NAT_RANGE_MAP_IPS flags when alloc_null_binding()

when alloc_null_binding(), no IP_NAT_RNAGE_MAP_IPS in flags means no IP address translation is needed. It isn't necessary to specify the address explicitly.

----

 net/ipv4/netfilter/nf_nat_rule.c |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)
net/ipv4/netfilter/nf_nat_rule.c +8 -9
index ebbd319..21c3042 100644
@@ -106,16 +106,15 @@ alloc_null_binding(struct nf_conn *ct, unsigned int hooknum)
 {
 	/* Force range to this IP; let proto decide mapping for
 	   per-proto parts (hence not IP_NAT_RANGE_PROTO_SPECIFIED).
-	   Use reply in case it's already been mangled (eg local packet).
 	*/
-	__be32 ip
-		= (HOOK2MANIP(hooknum) == IP_NAT_MANIP_SRC
-		   ? ct->tuplehash[IP_CT_DIR_REPLY].tuple.dst.u3.ip
-		   : ct->tuplehash[IP_CT_DIR_REPLY].tuple.src.u3.ip);
-	struct nf_nat_range range
-		= { IP_NAT_RANGE_MAP_IPS, ip, ip, { 0 }, { 0 } };
-
-	pr_debug("Allocating NULL binding for %p (%pI4)\n", ct, &ip);
+	struct nf_nat_range range;
+
+	range.flags = 0;
+	pr_debug("Allocating NULL binding for %p (%pI4)\n", ct,
+		 HOOK2MANIP(hooknum) == IP_NAT_MANIP_SRC ?
+		 &ct->tuplehash[IP_CT_DIR_REPLY].tuple.dst.u3.ip :
+		 &ct->tuplehash[IP_CT_DIR_REPLY].tuple.src.u3.ip);
+
 	return nf_nat_setup_info(ct, &range, HOOK2MANIP(hooknum));
 }
 
#1 lore raw
Quoted 2 lines · Changli Gao

when alloc_null_binding(), no IP_NAT_RNAGE_MAP_IPS in flags means no IP address translation is needed. It isn't necessary to specify the address explicitly.

When sending updated patches, you have to tell people what has changed.

#2 lore raw
Quoted 6 lines · Patrick McHardy
Quoted 2 lines · Changli Gao

when alloc_null_binding(), no IP_NAT_RNAGE_MAP_IPS in flags means no IP address translation is needed. It isn't necessary to specify the address explicitly.

When sending updated patches, you have to tell people what has changed.

The previous one initializes the whole structure range to 0, and this one only initializes the field flags to 0.

Signature · 2 lines
Regards,
Changli Gao([email protected])