diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2006-11-20 15:39:23 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-03 00:24:38 -0500 |
commit | 59348b19efebfd6a8d0791ff81d207b16594c94b (patch) | |
tree | a9212a7bf62bd594cf02d23b9e33eb45a46d414d /net/dccp/input.c | |
parent | b1308dc015eb09cf094ca169296738a13ae049ad (diff) |
[DCCP]: Simplified conditions due to use of enum:8 states
This reaps the benefit of the earlier patch, which changed the type of
CCID 3 states to use enums, in that many conditions are now simplified
and the number of possible (unexpected) values is greatly reduced.
In a few instances, this also allowed to simplify pre-conditions; where
care has been taken to retain logical equivalence.
[DCCP]: Introduce a consistent BUG/WARN message scheme
This refines the existing set of DCCP messages so that
* BUG(), BUG_ON(), WARN_ON() have meaningful DCCP-specific counterparts
* DCCP_CRIT (for severe warnings) is not rate-limited
* DCCP_WARN() is introduced as rate-limited wrapper
Using these allows a faster and cleaner transition to their original
counterparts once the code has matured into a full DCCP implementation.
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/input.c')
-rw-r--r-- | net/dccp/input.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/net/dccp/input.c b/net/dccp/input.c index 97ccdc30fd89..7371a2f3acf4 100644 --- a/net/dccp/input.c +++ b/net/dccp/input.c | |||
@@ -128,21 +128,18 @@ static int dccp_check_seqno(struct sock *sk, struct sk_buff *skb) | |||
128 | DCCP_PKT_WITHOUT_ACK_SEQ)) | 128 | DCCP_PKT_WITHOUT_ACK_SEQ)) |
129 | dp->dccps_gar = DCCP_SKB_CB(skb)->dccpd_ack_seq; | 129 | dp->dccps_gar = DCCP_SKB_CB(skb)->dccpd_ack_seq; |
130 | } else { | 130 | } else { |
131 | LIMIT_NETDEBUG(KERN_WARNING "DCCP: Step 6 failed for %s packet, " | 131 | DCCP_WARN("DCCP: Step 6 failed for %s packet, " |
132 | "(LSWL(%llu) <= P.seqno(%llu) <= S.SWH(%llu)) and " | 132 | "(LSWL(%llu) <= P.seqno(%llu) <= S.SWH(%llu)) and " |
133 | "(P.ackno %s or LAWL(%llu) <= P.ackno(%llu) <= S.AWH(%llu), " | 133 | "(P.ackno %s or LAWL(%llu) <= P.ackno(%llu) <= S.AWH(%llu), " |
134 | "sending SYNC...\n", | 134 | "sending SYNC...\n", dccp_packet_name(dh->dccph_type), |
135 | dccp_packet_name(dh->dccph_type), | 135 | (unsigned long long) lswl, |
136 | (unsigned long long) lswl, | 136 | (unsigned long long) DCCP_SKB_CB(skb)->dccpd_seq, |
137 | (unsigned long long) | 137 | (unsigned long long) dp->dccps_swh, |
138 | DCCP_SKB_CB(skb)->dccpd_seq, | 138 | (DCCP_SKB_CB(skb)->dccpd_ack_seq == |
139 | (unsigned long long) dp->dccps_swh, | ||
140 | (DCCP_SKB_CB(skb)->dccpd_ack_seq == | ||
141 | DCCP_PKT_WITHOUT_ACK_SEQ) ? "doesn't exist" : "exists", | 139 | DCCP_PKT_WITHOUT_ACK_SEQ) ? "doesn't exist" : "exists", |
142 | (unsigned long long) lawl, | 140 | (unsigned long long) lawl, |
143 | (unsigned long long) | 141 | (unsigned long long) DCCP_SKB_CB(skb)->dccpd_ack_seq, |
144 | DCCP_SKB_CB(skb)->dccpd_ack_seq, | 142 | (unsigned long long) dp->dccps_awh); |
145 | (unsigned long long) dp->dccps_awh); | ||
146 | dccp_send_sync(sk, DCCP_SKB_CB(skb)->dccpd_seq, DCCP_PKT_SYNC); | 143 | dccp_send_sync(sk, DCCP_SKB_CB(skb)->dccpd_seq, DCCP_PKT_SYNC); |
147 | return -1; | 144 | return -1; |
148 | } | 145 | } |