diff options
| author | Andrea Bittau <a.bittau@cs.ucl.ac.uk> | 2006-01-03 17:26:15 -0500 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2006-01-03 17:26:15 -0500 | 
| commit | e84a9f5e9cd2b229dda24002334bc3cd36c1109d (patch) | |
| tree | 4b4f51efb168618f507ce89645e4cb7d443e3742 | |
| parent | 9e377202d2c968dde8efd6121d94c7f0a77787aa (diff) | |
[DCCP]: Notify CCID only after ACK vectors have been processed.
The CCID should be notified of packet reception only when a packet is
valid.  Therefore, the ACK vector needs to be processed before
notifying the CCID.  Also, the CCID might need information provided by
the ACK vector.
Signed-off-by: Andrea Bittau <a.bittau@cs.ucl.ac.uk>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | net/dccp/input.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/net/dccp/input.c b/net/dccp/input.c index cb0f5c9af1ba..b6cba72b44e8 100644 --- a/net/dccp/input.c +++ b/net/dccp/input.c | |||
| @@ -492,14 +492,14 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb, | |||
| 492 | if (dcb->dccpd_ack_seq != DCCP_PKT_WITHOUT_ACK_SEQ) | 492 | if (dcb->dccpd_ack_seq != DCCP_PKT_WITHOUT_ACK_SEQ) | 
| 493 | dccp_event_ack_recv(sk, skb); | 493 | dccp_event_ack_recv(sk, skb); | 
| 494 | 494 | ||
| 495 | ccid_hc_rx_packet_recv(dp->dccps_hc_rx_ccid, sk, skb); | ||
| 496 | ccid_hc_tx_packet_recv(dp->dccps_hc_tx_ccid, sk, skb); | ||
| 497 | |||
| 498 | if (dp->dccps_options.dccpo_send_ack_vector && | 495 | if (dp->dccps_options.dccpo_send_ack_vector && | 
| 499 | dccp_ackvec_add(dp->dccps_hc_rx_ackvec, sk, | 496 | dccp_ackvec_add(dp->dccps_hc_rx_ackvec, sk, | 
| 500 | DCCP_SKB_CB(skb)->dccpd_seq, | 497 | DCCP_SKB_CB(skb)->dccpd_seq, | 
| 501 | DCCP_ACKVEC_STATE_RECEIVED)) | 498 | DCCP_ACKVEC_STATE_RECEIVED)) | 
| 502 | goto discard; | 499 | goto discard; | 
| 500 | |||
| 501 | ccid_hc_rx_packet_recv(dp->dccps_hc_rx_ccid, sk, skb); | ||
| 502 | ccid_hc_tx_packet_recv(dp->dccps_hc_tx_ccid, sk, skb); | ||
| 503 | } | 503 | } | 
| 504 | 504 | ||
| 505 | /* | 505 | /* | 
