diff options
author | Changli Gao <xiaosuo@gmail.com> | 2010-07-23 13:27:08 +0200 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2010-07-23 13:27:08 +0200 |
commit | c36952e524b2b898a3c9e9b137f64d72d43cd393 (patch) | |
tree | 6fdc6d67bd40c0cff79e49e8a3e6423354503180 | |
parent | e8648a1fdb54da1f683784b36a17aa65ea56e931 (diff) | |
download | blackbird-op-linux-c36952e524b2b898a3c9e9b137f64d72d43cd393.tar.gz blackbird-op-linux-c36952e524b2b898a3c9e9b137f64d72d43cd393.zip |
netfilter: nf_nat_core: merge the same lines
proto->unique_tuple() will be called finally, if the previous calls fail. This
patch checks the false condition of (range->flags &IP_NAT_RANGE_PROTO_RANDOM)
instead to avoid duplicate line of code: proto->unique_tuple().
Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r-- | net/ipv4/netfilter/nf_nat_core.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/net/ipv4/netfilter/nf_nat_core.c b/net/ipv4/netfilter/nf_nat_core.c index c7719b283ada..037a3a659930 100644 --- a/net/ipv4/netfilter/nf_nat_core.c +++ b/net/ipv4/netfilter/nf_nat_core.c @@ -261,14 +261,9 @@ get_unique_tuple(struct nf_conntrack_tuple *tuple, rcu_read_lock(); proto = __nf_nat_proto_find(orig_tuple->dst.protonum); - /* Change protocol info to have some randomization */ - if (range->flags & IP_NAT_RANGE_PROTO_RANDOM) { - proto->unique_tuple(tuple, range, maniptype, ct); - goto out; - } - /* Only bother mapping if it's not already in range and unique */ - if ((!(range->flags & IP_NAT_RANGE_PROTO_SPECIFIED) || + if (!(range->flags & IP_NAT_RANGE_PROTO_RANDOM) && + (!(range->flags & IP_NAT_RANGE_PROTO_SPECIFIED) || proto->in_range(tuple, maniptype, &range->min, &range->max)) && !nf_nat_used_tuple(tuple, ct)) goto out; |