equal
deleted
inserted
replaced
322 * before we send DATA. |
322 * before we send DATA. |
323 */ |
323 */ |
324 switch (chunk->chunk_hdr->type) { |
324 switch (chunk->chunk_hdr->type) { |
325 case SCTP_CID_DATA: |
325 case SCTP_CID_DATA: |
326 retval = sctp_packet_append_data(packet, chunk); |
326 retval = sctp_packet_append_data(packet, chunk); |
|
327 if (SCTP_XMIT_OK != retval) |
|
328 goto finish; |
327 /* Disallow SACK bundling after DATA. */ |
329 /* Disallow SACK bundling after DATA. */ |
328 packet->has_sack = 1; |
330 packet->has_sack = 1; |
329 /* Disallow AUTH bundling after DATA */ |
331 /* Disallow AUTH bundling after DATA */ |
330 packet->has_auth = 1; |
332 packet->has_auth = 1; |
331 /* Let it be knows that packet has DATA in it */ |
333 /* Let it be knows that packet has DATA in it */ |
332 packet->has_data = 1; |
334 packet->has_data = 1; |
333 if (SCTP_XMIT_OK != retval) |
335 /* timestamp the chunk for rtx purposes */ |
334 goto finish; |
336 chunk->sent_at = jiffies; |
335 break; |
337 break; |
336 case SCTP_CID_COOKIE_ECHO: |
338 case SCTP_CID_COOKIE_ECHO: |
337 packet->has_cookie_echo = 1; |
339 packet->has_cookie_echo = 1; |
338 break; |
340 break; |
339 |
341 |
468 tp->rto_pending = 1; |
470 tp->rto_pending = 1; |
469 } |
471 } |
470 } else |
472 } else |
471 chunk->resent = 1; |
473 chunk->resent = 1; |
472 |
474 |
473 chunk->sent_at = jiffies; |
|
474 has_data = 1; |
475 has_data = 1; |
475 } |
476 } |
476 |
477 |
477 padding = WORD_ROUND(chunk->skb->len) - chunk->skb->len; |
478 padding = WORD_ROUND(chunk->skb->len) - chunk->skb->len; |
478 if (padding) |
479 if (padding) |