diff options
author | Folkert van Heusden <folkert@vanheusden.com> | 2005-05-03 23:36:08 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-05-03 23:36:08 +0200 |
commit | 0b2531bdc54e19717de5cb161d57e5ee0a7725ff (patch) | |
tree | 09660a0562dd1bdc6c1539d24d539ea49973335f /net | |
parent | [PKT_SCHED]: fix typo on Kconfig (diff) | |
download | linux-0b2531bdc54e19717de5cb161d57e5ee0a7725ff.tar.xz linux-0b2531bdc54e19717de5cb161d57e5ee0a7725ff.zip |
[TCP]: Optimize check in port-allocation code.
Signed-off-by: Folkert van Heusden <folkert@vanheusden.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 3ac6659869c4..dad98e4a5043 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -222,10 +222,13 @@ static int tcp_v4_get_port(struct sock *sk, unsigned short snum) int rover; spin_lock(&tcp_portalloc_lock); - rover = tcp_port_rover; + if (tcp_port_rover < low) + rover = low; + else + rover = tcp_port_rover; do { rover++; - if (rover < low || rover > high) + if (rover > high) rover = low; head = &tcp_bhash[tcp_bhashfn(rover)]; spin_lock(&head->lock); |