diff options
author | rrs <rrs@FreeBSD.org> | 2006-11-05 13:25:18 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2006-11-05 13:25:18 +0000 |
commit | 20dc61d3a46238522e738dd8dde26965d5ce46dd (patch) | |
tree | 0917b677ec5366916adb9fc52ff977feb016deb1 /sys/netinet/sctp_input.c | |
parent | 21ab4f8a250dc1903e52406d7a88f2bc912fb733 (diff) | |
download | FreeBSD-src-20dc61d3a46238522e738dd8dde26965d5ce46dd.zip FreeBSD-src-20dc61d3a46238522e738dd8dde26965d5ce46dd.tar.gz |
Tons of fixes to get all the 64bit issues removed.
This also moves two 16 bit int's to become 32 bit
values so we do not have to use atomic_add_16.
Most of the changes are %p, casts and other various
nasty's that were in the orignal code base. With this
commit my machine will now do a build universe.. however
I as yet have not tested on a 64bit machine .. it may not work :-(
Diffstat (limited to 'sys/netinet/sctp_input.c')
-rw-r--r-- | sys/netinet/sctp_input.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c index 755d53e..1545e8c 100644 --- a/sys/netinet/sctp_input.c +++ b/sys/netinet/sctp_input.c @@ -587,6 +587,7 @@ sctp_handle_shutdown(struct sctp_shutdown_chunk *cp, } stcb->asoc.control_pdapi = NULL; SCTP_INP_READ_UNLOCK(stcb->sctp_ep); + sctp_sorwakeup(stcb->sctp_ep, stcb->sctp_socket); } /* goto SHUTDOWN_RECEIVED state to block new requests */ if (stcb->sctp_socket) { @@ -677,6 +678,7 @@ sctp_handle_shutdown_ack(struct sctp_shutdown_ack_chunk *cp, } stcb->asoc.control_pdapi = NULL; SCTP_INP_READ_UNLOCK(stcb->sctp_ep); + sctp_sorwakeup(stcb->sctp_ep, stcb->sctp_socket); } /* are the queues empty? */ if (!TAILQ_EMPTY(&asoc->send_queue) || @@ -4314,8 +4316,8 @@ sctp_common_input_processing(struct mbuf **mm, int iphlen, int offset, #ifdef SCTP_DEBUG if (sctp_debug_on & SCTP_DEBUG_INPUT1) { - printf("Ok, Common input processing called, m:%x iphlen:%d offset:%d\n", - (uint32_t) m, iphlen, offset); + printf("Ok, Common input processing called, m:%p iphlen:%d offset:%d\n", + m, iphlen, offset); } #endif /* SCTP_DEBUG */ @@ -4624,8 +4626,8 @@ sctp_input(m, off) if (calc_check != check) { #ifdef SCTP_DEBUG if (sctp_debug_on & SCTP_DEBUG_INPUT1) { - printf("Bad CSUM on SCTP packet calc_check:%x check:%x m:%x mlen:%d iphlen:%d\n", - calc_check, check, (uint32_t) m, mlen, iphlen); + printf("Bad CSUM on SCTP packet calc_check:%x check:%x m:%p mlen:%d iphlen:%d\n", + calc_check, check, m, mlen, iphlen); } #endif @@ -4700,7 +4702,7 @@ sctp_skip_csum_4: * idea, so I will leave it in place. */ - if (ipsec4_in_reject_so(m, inp->ip_inp.inp.inp_socket)) { + if (inp && ipsec4_in_reject(m, &inp->ip_inp.inp)) { ipsecstat.in_polvio++; SCTP_STAT_INCR(sctps_hdrops); goto bad; |