diff options
author | Bernard Pidoux <f6bvp@free.fr> | 2011-02-14 16:33:49 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-02-14 16:33:49 -0500 |
commit | 68aa3fd551e9d54d98794852714dc1edbb21df77 (patch) | |
tree | aa8baf67245bf29c748d6410d005e7e4f64d4dff /net/rose | |
parent | c5d8b24ad0a9a45e163a6769b4eb7e7f1fb9aa7f (diff) |
ROSE: AX25: finding routes simplification
With previous patch, rose_get_neigh() routine
investigates the full list of neighbor nodes
until it finds or not an already connected node whether
it is called locally or through a level 3 transit frame.
If no routes are opened through an adjacent connected node
then a classical connect request is attempted.
Then there is no more reason for an extra loop such
as the one removed by this patch.
Signed-off-by: Bernard Pidoux <f6bvp@free.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rose')
-rw-r--r-- | net/rose/af_rose.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index d952e7eac188..5ee0c62046a0 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c | |||
@@ -803,7 +803,6 @@ static int rose_connect(struct socket *sock, struct sockaddr *uaddr, int addr_le | |||
803 | 803 | ||
804 | rose_insert_socket(sk); /* Finish the bind */ | 804 | rose_insert_socket(sk); /* Finish the bind */ |
805 | } | 805 | } |
806 | rose_try_next_neigh: | ||
807 | rose->dest_addr = addr->srose_addr; | 806 | rose->dest_addr = addr->srose_addr; |
808 | rose->dest_call = addr->srose_call; | 807 | rose->dest_call = addr->srose_call; |
809 | rose->rand = ((long)rose & 0xFFFF) + rose->lci; | 808 | rose->rand = ((long)rose & 0xFFFF) + rose->lci; |
@@ -865,12 +864,6 @@ rose_try_next_neigh: | |||
865 | } | 864 | } |
866 | 865 | ||
867 | if (sk->sk_state != TCP_ESTABLISHED) { | 866 | if (sk->sk_state != TCP_ESTABLISHED) { |
868 | /* Try next neighbour */ | ||
869 | rose->neighbour = rose_get_neigh(&addr->srose_addr, &cause, &diagnostic, 0); | ||
870 | if (rose->neighbour) | ||
871 | goto rose_try_next_neigh; | ||
872 | |||
873 | /* No more neighbours */ | ||
874 | sock->state = SS_UNCONNECTED; | 867 | sock->state = SS_UNCONNECTED; |
875 | err = sock_error(sk); /* Always set at this point */ | 868 | err = sock_error(sk); /* Always set at this point */ |
876 | goto out_release; | 869 | goto out_release; |