diff options
author | rrs <rrs@FreeBSD.org> | 2009-03-06 11:03:52 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2009-03-06 11:03:52 +0000 |
commit | 41426e5a37e0b82c42376621f11df8f9360a937f (patch) | |
tree | 6bc9cbca47c23b6c31885830b9c329da821da819 /sys/netinet/sctp_output.c | |
parent | 28029139153edbfa691205ff8c4cc4fbc62b119f (diff) | |
download | FreeBSD-src-41426e5a37e0b82c42376621f11df8f9360a937f.zip FreeBSD-src-41426e5a37e0b82c42376621f11df8f9360a937f.tar.gz |
Fixes for window probes:
1) WP should never be marked unless flight size is 0
2) When recovering from wp if the peer ack's it we don't mark for retran
3) When recovering, we must assure a timer is still running.
Diffstat (limited to 'sys/netinet/sctp_output.c')
-rw-r--r-- | sys/netinet/sctp_output.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index 00e178b..3729616 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -10036,7 +10036,7 @@ again_one_more_time: SCTP_STAT_INCR_COUNTER64(sctps_fragusrmsgs); } if ((mtu == 0) || (r_mtu == 0) || (one_chunk)) { - if (one_chunk) { + if ((one_chunk) && (stcb->asoc.total_flight == 0)) { data_list[0]->window_probe = 1; net->window_probe = 1; } |