aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/ipv4.c
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2006-11-10 08:46:34 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-03 00:21:56 -0500
commitd23c7107bfbaac955289685c522c7ff99dad3780 (patch)
tree9926a1d0275bd6cf7e05eb4bbceb03f1dabceacd /net/dccp/ipv4.c
parent9b42078ed6edfe04e9dc9a59b946ad912aeef717 (diff)
[DCCP]: Simplify jump labels in dccp_v{4,6}_rcv
This is a code simplification and was singled out from the DCCPv6 Oops patch on http://www.mail-archive.com/dccp@vger.kernel.org/msg00600.html It mainly makes the code consistent between ipv{4,6}.c for the functions dccp_v4_rcv dccp_v6_rcv and removes the do_time_wait label to simplify code somewhat. Commiter note: fixed up a compile problem, trivial. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/dccp/ipv4.c')
-rw-r--r--net/dccp/ipv4.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c
index ce8eed32dbeb..7107885ada7e 100644
--- a/net/dccp/ipv4.c
+++ b/net/dccp/ipv4.c
@@ -910,8 +910,7 @@ static int dccp_v4_rcv(struct sk_buff *skb)
910 dccp_pr_debug_cat("\n"); 910 dccp_pr_debug_cat("\n");
911 } else { 911 } else {
912 DCCP_SKB_CB(skb)->dccpd_ack_seq = dccp_hdr_ack_seq(skb); 912 DCCP_SKB_CB(skb)->dccpd_ack_seq = dccp_hdr_ack_seq(skb);
913 dccp_pr_debug_cat(", ack=%llu\n", 913 dccp_pr_debug_cat(", ack=%llu\n", (unsigned long long)
914 (unsigned long long)
915 DCCP_SKB_CB(skb)->dccpd_ack_seq); 914 DCCP_SKB_CB(skb)->dccpd_ack_seq);
916 } 915 }
917 916
@@ -940,11 +939,10 @@ static int dccp_v4_rcv(struct sk_buff *skb)
940 * Generate Reset(No Connection) unless P.type == Reset 939 * Generate Reset(No Connection) unless P.type == Reset
941 * Drop packet and return 940 * Drop packet and return
942 */ 941 */
943
944 if (sk->sk_state == DCCP_TIME_WAIT) { 942 if (sk->sk_state == DCCP_TIME_WAIT) {
945 dccp_pr_debug("sk->sk_state == DCCP_TIME_WAIT: " 943 dccp_pr_debug("sk->sk_state == DCCP_TIME_WAIT: do_time_wait\n");
946 "do_time_wait\n"); 944 inet_twsk_put(inet_twsk(sk));
947 goto do_time_wait; 945 goto no_dccp_socket;
948 } 946 }
949 947
950 if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb)) 948 if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb))
@@ -968,17 +966,12 @@ no_dccp_socket:
968 } 966 }
969 967
970discard_it: 968discard_it:
971 /* Discard frame. */
972 kfree_skb(skb); 969 kfree_skb(skb);
973 return 0; 970 return 0;
974 971
975discard_and_relse: 972discard_and_relse:
976 sock_put(sk); 973 sock_put(sk);
977 goto discard_it; 974 goto discard_it;
978
979do_time_wait:
980 inet_twsk_put(inet_twsk(sk));
981 goto no_dccp_socket;
982} 975}
983 976
984static struct inet_connection_sock_af_ops dccp_ipv4_af_ops = { 977static struct inet_connection_sock_af_ops dccp_ipv4_af_ops = {