From 8f59f2b52866c0ca0fe036bac98579cfc5d6abb4 Mon Sep 17 00:00:00 2001 From: rrs Date: Mon, 7 Feb 2011 08:12:24 +0000 Subject: [PATCH] If not set (due to some error Michael is working on fixing) set it for the net. MFC after: 3 months --- sys/netinet/sctp_output.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index 17cb020fa356..fc04190f4442 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -3485,6 +3485,12 @@ sctp_lowlevel_chunk_output(struct sctp_inpcb *inp, SCTP_BUF_NEXT(newm) = m; m = newm; if (net != NULL) { + if (net->flowidset == 0) { + net->flowid = stcb->asoc.my_vtag ^ + ntohs(stcb->rport) ^ + ntohs(stcb->sctp_ep->sctp_lport); + net->flowidset = 1; + } m->m_pkthdr.flowid = net->flowid; m->m_flags |= M_FLOWID; } else { @@ -3815,6 +3821,12 @@ sctp_lowlevel_chunk_output(struct sctp_inpcb *inp, SCTP_BUF_NEXT(newm) = m; m = newm; if (net != NULL) { + if (net->flowidset == 0) { + net->flowid = stcb->asoc.my_vtag ^ + ntohs(stcb->rport) ^ + ntohs(stcb->sctp_ep->sctp_lport); + net->flowidset = 1; + } m->m_pkthdr.flowid = net->flowid; m->m_flags |= M_FLOWID; } else {