/net/netfilter/ |
D | nf_conntrack_seqadj.c | 82 struct tcp_sack_block_wire *sack; in nf_ct_sack_block_adjust() local 85 sack = (void *)skb->data + sackoff; in nf_ct_sack_block_adjust() 86 if (after(ntohl(sack->start_seq) - seq->offset_before, in nf_ct_sack_block_adjust() 88 new_start_seq = htonl(ntohl(sack->start_seq) - in nf_ct_sack_block_adjust() 91 new_start_seq = htonl(ntohl(sack->start_seq) - in nf_ct_sack_block_adjust() 94 if (after(ntohl(sack->end_seq) - seq->offset_before, in nf_ct_sack_block_adjust() 96 new_end_seq = htonl(ntohl(sack->end_seq) - in nf_ct_sack_block_adjust() 99 new_end_seq = htonl(ntohl(sack->end_seq) - in nf_ct_sack_block_adjust() 103 ntohl(sack->start_seq), ntohl(new_start_seq), in nf_ct_sack_block_adjust() 104 ntohl(sack->end_seq), ntohl(new_end_seq)); in nf_ct_sack_block_adjust() [all …]
|
D | nf_conntrack_proto_tcp.c | 392 const struct tcphdr *tcph, __u32 *sack) in tcp_sack() argument 444 if (after(tmp, *sack)) in tcp_sack() 445 *sack = tmp; in tcp_sack() 518 __u32 seq, ack, sack, end, win, swin; in tcp_in_window() local 527 ack = sack = ntohl(tcph->ack_seq); in tcp_in_window() 533 tcp_sack(skb, dataoff, tcph, &sack); in tcp_in_window() 538 sack -= receiver_offset; in tcp_in_window() 567 receiver->td_end = receiver->td_maxend = sack; in tcp_in_window() 568 } else if (sack == receiver->td_end + 1) { in tcp_in_window() 600 ack = sack = receiver->td_end; in tcp_in_window() [all …]
|
/net/sctp/ |
D | outqueue.c | 42 static int sctp_acked(struct sctp_sackhdr *sack, __u32 tsn); 47 struct sctp_sackhdr *sack, 1226 struct sctp_sackhdr *sack) in sctp_sack_update_unack_data() argument 1234 frags = (union sctp_sack_variable *)(sack + 1); in sctp_sack_update_unack_data() 1235 for (i = 0; i < ntohs(sack->num_gap_ack_blocks); i++) { in sctp_sack_update_unack_data() 1251 struct sctp_sackhdr *sack = chunk->subh.sack_hdr; in sctp_outq_sack() local 1273 sack_ctsn = ntohl(sack->cum_tsn_ack); in sctp_outq_sack() 1274 gap_ack_blocks = ntohs(sack->num_gap_ack_blocks); in sctp_outq_sack() 1317 (union sctp_sack_variable *)(sack + 1); in sctp_outq_sack() 1330 sctp_check_transmitted(q, &q->retransmit, NULL, NULL, sack, &highest_new_tsn); in sctp_outq_sack() [all …]
|
D | output.c | 297 struct sctp_chunk *sack; in sctp_packet_bundle_sack() local 304 sack = sctp_make_sack(asoc); in sctp_packet_bundle_sack() 305 if (sack) { in sctp_packet_bundle_sack() 306 retval = __sctp_packet_append_chunk(pkt, sack); in sctp_packet_bundle_sack() 308 sctp_chunk_free(sack); in sctp_packet_bundle_sack()
|
D | associola.c | 1472 struct sctp_chunk *sack; in sctp_assoc_rwnd_increase() local 1513 sack = sctp_make_sack(asoc); in sctp_assoc_rwnd_increase() 1514 if (!sack) in sctp_assoc_rwnd_increase() 1519 sctp_outq_tail(&asoc->outqueue, sack, GFP_ATOMIC); in sctp_assoc_rwnd_increase()
|
D | sm_sideeffect.c | 143 struct sctp_chunk *sack; in sctp_gen_sack() local 206 sack = sctp_make_sack(asoc); in sctp_gen_sack() 207 if (!sack) { in sctp_gen_sack() 215 sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(sack)); in sctp_gen_sack()
|
D | sm_make_chunk.c | 761 struct sctp_sackhdr sack; in sctp_make_sack() local 775 sack.cum_tsn_ack = htonl(ctsn); in sctp_make_sack() 776 sack.a_rwnd = htonl(asoc->a_rwnd); in sctp_make_sack() 777 sack.num_gap_ack_blocks = htons(num_gabs); in sctp_make_sack() 778 sack.num_dup_tsns = htons(num_dup_tsns); in sctp_make_sack() 780 len = sizeof(sack) in sctp_make_sack() 822 sctp_addto_chunk(retval, sizeof(sack), &sack); in sctp_make_sack()
|
D | sm_statefuns.c | 6293 struct sctp_sackhdr *sack; in sctp_sm_pull_sack() local 6301 sack = (struct sctp_sackhdr *) chunk->skb->data; in sctp_sm_pull_sack() 6303 num_blocks = ntohs(sack->num_gap_ack_blocks); in sctp_sm_pull_sack() 6304 num_dup_tsns = ntohs(sack->num_dup_tsns); in sctp_sm_pull_sack() 6312 return sack; in sctp_sm_pull_sack()
|
/net/rxrpc/ |
D | input.c | 385 unsigned int sack = call->ackr_sack_base; in rxrpc_input_data_one() local 436 trace_rxrpc_sack(call, seq, sack, rxrpc_sack_none); in rxrpc_input_data_one() 439 trace_rxrpc_sack(call, seq, sack, rxrpc_sack_advance); in rxrpc_input_data_one() 440 sack = (sack + 1) % RXRPC_SACK_SIZE; in rxrpc_input_data_one() 459 call->ackr_sack_table[sack] = 0; in rxrpc_input_data_one() 460 trace_rxrpc_sack(call, seq, sack, rxrpc_sack_fill); in rxrpc_input_data_one() 461 sack = (sack + 1) % RXRPC_SACK_SIZE; in rxrpc_input_data_one() 470 call->ackr_sack_base = sack; in rxrpc_input_data_one() 477 sack = (sack + slot) % RXRPC_SACK_SIZE; in rxrpc_input_data_one() 479 if (call->ackr_sack_table[sack % RXRPC_SACK_SIZE]) { in rxrpc_input_data_one() [all …]
|
D | output.c | 87 unsigned int qsize, sack, wrap, to; in rxrpc_fill_out_ack() local 100 sack = call->ackr_sack_base % RXRPC_SACK_SIZE; in rxrpc_fill_out_ack() 105 wrap = RXRPC_SACK_SIZE - sack; in rxrpc_fill_out_ack() 108 if (sack + txb->ack.nAcks <= RXRPC_SACK_SIZE) { in rxrpc_fill_out_ack() 109 memcpy(txb->acks, call->ackr_sack_table + sack, txb->ack.nAcks); in rxrpc_fill_out_ack() 111 memcpy(txb->acks, call->ackr_sack_table + sack, wrap); in rxrpc_fill_out_ack()
|
/net/ipv4/ |
D | tcp_input.c | 3296 struct tcp_sacktag_state *sack, bool ece_ack) in tcp_clean_rtx_queue() argument 3363 tcp_rate_skb_delivered(sk, skb, sack->rate); in tcp_clean_rtx_queue() 3411 sack->rate->prior_delivered + 1 == tp->delivered && in tcp_clean_rtx_queue() 3420 if (sack->first_sackt) { in tcp_clean_rtx_queue() 3421 sack_rtt_us = tcp_stamp_us_delta(tp->tcp_mstamp, sack->first_sackt); in tcp_clean_rtx_queue() 3422 ca_rtt_us = tcp_stamp_us_delta(tp->tcp_mstamp, sack->last_sackt); in tcp_clean_rtx_queue() 3426 ca_rtt_us, sack->rate); in tcp_clean_rtx_queue() 3468 .rtt_us = sack->rate->rtt_us }; in tcp_clean_rtx_queue() 3471 (tp->delivered - sack->rate->prior_delivered); in tcp_clean_rtx_queue()
|