On Thu, Jan 28, 2016 at 5:05 PM, Michael Tuexen <tue...@freebsd.org> wrote: > Author: tuexen > Date: Thu Jan 28 16:05:46 2016 > New Revision: 294995 > URL: https://svnweb.freebsd.org/changeset/base/294995 > > Log: > Always look in the TCP pool. > This fixes issues with a restarting peer when the listening > 1-to-1 style socket is closed. > > MFC after: 3 days > > Modified: > head/sys/netinet/sctp_input.c > head/sys/netinet/sctp_pcb.c > > Modified: head/sys/netinet/sctp_input.c > ============================================================================== > --- head/sys/netinet/sctp_input.c Thu Jan 28 15:44:14 2016 > (r294994) > +++ head/sys/netinet/sctp_input.c Thu Jan 28 16:05:46 2016 > (r294995) > @@ -5688,6 +5688,7 @@ sctp_common_input_processing(struct mbuf > if (net->port == 0) { > sctp_pathmtu_adjustment(stcb, > net->mtu - sizeof(struct udphdr)); > } > +printf("Changing remote encaps port from %u to %u.\n", ntohs(net->port), > ntohs(port));
Are these debug printf intended? > net->port = port; > } > #endif > @@ -5719,6 +5720,7 @@ sctp_common_input_processing(struct mbuf > if (net->port == 0) { > sctp_pathmtu_adjustment(stcb, net->mtu - > sizeof(struct udphdr)); > } > +printf("Changing remote encaps port from %u to %u.\n", ntohs(net->port), > ntohs(port)); > net->port = port; > } > #endif > @@ -5831,6 +5833,7 @@ sctp_common_input_processing(struct mbuf > if (net->port == 0) { > sctp_pathmtu_adjustment(stcb, > net->mtu - sizeof(struct udphdr)); > } > +printf("Changing remote encaps port from %u to %u.\n", ntohs(net->port), > ntohs(port)); > net->port = port; > } > #endif > > Modified: head/sys/netinet/sctp_pcb.c > ============================================================================== > --- head/sys/netinet/sctp_pcb.c Thu Jan 28 15:44:14 2016 (r294994) > +++ head/sys/netinet/sctp_pcb.c Thu Jan 28 16:05:46 2016 (r294995) > @@ -2256,7 +2256,6 @@ sctp_findassociation_addr(struct mbuf *m > struct sctphdr *sh, struct sctp_chunkhdr *ch, > struct sctp_inpcb **inp_p, struct sctp_nets **netp, uint32_t vrf_id) > { > - int find_tcp_pool; > struct sctp_tcb *stcb; > struct sctp_inpcb *inp; > > @@ -2268,25 +2267,13 @@ sctp_findassociation_addr(struct mbuf *m > return (stcb); > } > } > - find_tcp_pool = 0; > - /* > - * Don't consider INIT chunks since that breaks 1-to-1 sockets: When > - * a server closes the listener, incoming INIT chunks are not > - * responsed by an INIT-ACK chunk. > - */ > - if ((ch->chunk_type != SCTP_INITIATION_ACK) && > - (ch->chunk_type != SCTP_COOKIE_ACK) && > - (ch->chunk_type != SCTP_COOKIE_ECHO)) { > - /* Other chunk types go to the tcp pool. */ > - find_tcp_pool = 1; > - } > if (inp_p) { > stcb = sctp_findassociation_addr_sa(src, dst, inp_p, netp, > - find_tcp_pool, vrf_id); > + 1, vrf_id); > inp = *inp_p; > } else { > stcb = sctp_findassociation_addr_sa(src, dst, &inp, netp, > - find_tcp_pool, vrf_id); > + 1, vrf_id); > } > SCTPDBG(SCTP_DEBUG_PCB1, "stcb:%p inp:%p\n", (void *)stcb, (void > *)inp); > if (stcb == NULL && inp) { > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org" _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"