Searched defs:sack (Results 1 - 8 of 8) sorted by relevance

/net/netfilter/
H A Dnf_nat_helper.c283 struct tcp_sack_block_wire *sack; local
286 sack = (void *)skb->data + sackoff;
287 if (after(ntohl(sack->start_seq) - natseq->offset_before,
289 new_start_seq = htonl(ntohl(sack->start_seq)
292 new_start_seq = htonl(ntohl(sack->start_seq)
295 if (after(ntohl(sack->end_seq) - natseq->offset_before,
297 new_end_seq = htonl(ntohl(sack->end_seq)
300 new_end_seq = htonl(ntohl(sack->end_seq)
304 ntohl(sack->start_seq), new_start_seq,
305 ntohl(sack
[all...]
H A Dnf_conntrack_proto_tcp.c343 td_maxend = max(sack + max(win,1)) seen in reply packets
344 td_maxwin = max(max(win, 1)) + (sack - ack) seen in sent packets
351 III. Upper bound for valid (s)ack: sack <= receiver.td_end
352 IV. Lower bound for valid (s)ack: sack >= receiver.td_end - MAXACKWINDOW
354 where sack is the highest right edge of sack block found in the packet
438 const struct tcphdr *tcph, __u32 *sack)
487 if (after(tmp, *sack))
488 *sack = tmp;
527 __u32 seq, ack, sack, en local
437 tcp_sack(const struct sk_buff *skb, unsigned int dataoff, const struct tcphdr *tcph, __u32 *sack) argument
[all...]
/net/sctp/
H A Doutput.c252 struct sctp_chunk *sack; local
259 sack = sctp_make_sack(asoc);
260 if (sack) {
261 retval = __sctp_packet_append_chunk(pkt, sack);
263 sctp_chunk_free(sack);
H A Dassociola.c260 * sack to acknowledge the data chunk. Subsequent
1439 struct sctp_chunk *sack; local
1478 sack = sctp_make_sack(asoc);
1479 if (!sack)
1484 sctp_outq_tail(&asoc->outqueue, sack);
H A Doutqueue.c62 static int sctp_acked(struct sctp_sackhdr *sack, __u32 tsn);
67 struct sctp_sackhdr *sack,
520 * triggered during sack processing and the queue
1123 struct sctp_sackhdr *sack)
1131 frags = sack->variable;
1132 for (i = 0; i < ntohs(sack->num_gap_ack_blocks); i++) {
1148 struct sctp_sackhdr *sack = chunk->subh.sack_hdr; local
1152 sctp_sack_variable_t *frags = sack->variable;
1165 sack_ctsn = ntohl(sack->cum_tsn_ack);
1166 gap_ack_blocks = ntohs(sack
1122 sctp_sack_update_unack_data(struct sctp_association *assoc, struct sctp_sackhdr *sack) argument
1332 sctp_check_transmitted(struct sctp_outq *q, struct list_head *transmitted_queue, struct sctp_transport *transport, union sctp_addr *saddr, struct sctp_sackhdr *sack, __u32 *highest_new_tsn_in_sack) argument
1774 sctp_acked(struct sctp_sackhdr *sack, __u32 tsn) argument
[all...]
H A Dsm_sideeffect.c164 struct sctp_chunk *sack; local
226 sack = sctp_make_sack(asoc);
227 if (!sack)
233 sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(sack));
H A Dsm_make_chunk.c734 struct sctp_sackhdr sack; local
752 sack.cum_tsn_ack = htonl(ctsn);
753 sack.a_rwnd = htonl(asoc->a_rwnd);
754 sack.num_gap_ack_blocks = htons(num_gabs);
755 sack.num_dup_tsns = htons(num_dup_tsns);
757 len = sizeof(sack)
799 sctp_addto_chunk(retval, sizeof(sack), &sack);
812 /* Once we have a sack generated, check to see what our sack
[all...]
H A Dsm_statefuns.c2981 * toward sack generation. Note that we need to SACK every
5906 struct sctp_sackhdr *sack; local
5914 sack = (struct sctp_sackhdr *) chunk->skb->data;
5916 num_blocks = ntohs(sack->num_gap_ack_blocks);
5917 num_dup_tsns = ntohs(sack->num_dup_tsns);
5925 return sack;

Completed in 85 milliseconds