Home
last modified time | relevance | path

Searched refs:sack (Results 1 – 11 of 11) sorted by relevance

/net/netfilter/
Dnf_conntrack_seqadj.c82 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 …]
Dnf_conntrack_proto_tcp.c392 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/
Doutqueue.c42 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 …]
Doutput.c297 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()
Dassociola.c1472 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()
Dsm_sideeffect.c143 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()
Dsm_make_chunk.c761 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()
Dsm_statefuns.c6293 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/
Dinput.c385 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 …]
Doutput.c87 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/
Dtcp_input.c3296 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()