diff options
author | rrs <rrs@FreeBSD.org> | 2007-06-17 01:36:02 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2007-06-17 01:36:02 +0000 |
commit | a50eb788faabaf4a93e82cc35cc09d3db96c9539 (patch) | |
tree | 4021851b081dca4e0a547aaf328fad5ba03e3112 /sys/netinet/sctp_pcb.c | |
parent | 6a4276ae14305505c7daf6c5c38cf89b26e623a6 (diff) | |
download | FreeBSD-src-a50eb788faabaf4a93e82cc35cc09d3db96c9539.zip FreeBSD-src-a50eb788faabaf4a93e82cc35cc09d3db96c9539.tar.gz |
- For sctp_input/sctp6_input add announcment when a packet arrives (debug)
- re-factor the packet drop in sctp_output a bit more, we don't need the
trim after all, but the size calc is now corrected.
- When a assoc is in the COOKIE-ECHO/COOKIE-WAIT state and the user
closes, it should not matter if data is queued, the assoc should be
purged.
- In error leg a missing free_chunk when iph comes in NULL (should not
happen but just in case).
Diffstat (limited to 'sys/netinet/sctp_pcb.c')
-rw-r--r-- | sys/netinet/sctp_pcb.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index d5d5ffd..66b037e 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -2560,10 +2560,8 @@ sctp_inpcb_free(struct sctp_inpcb *inp, int immediate, int from) if ((SCTP_GET_STATE(&asoc->asoc) == SCTP_STATE_COOKIE_WAIT) || (SCTP_GET_STATE(&asoc->asoc) == SCTP_STATE_COOKIE_ECHOED)) { /* Just abandon things in the front states */ - if (asoc->asoc.total_output_queue_size == 0) { - sctp_free_assoc(inp, asoc, SCTP_PCBFREE_NOFORCE, SCTP_FROM_SCTP_PCB + SCTP_LOC_2); - continue; - } + sctp_free_assoc(inp, asoc, SCTP_PCBFREE_NOFORCE, SCTP_FROM_SCTP_PCB + SCTP_LOC_2); + continue; } SCTP_TCB_LOCK(asoc); /* Disconnect the socket please */ |