1) Track when flowid does get set.

MFC after:	3 months
This commit is contained in:
rrs 2011-02-07 08:10:29 +00:00
parent 64b6d5b13c
commit 29653e7e7e
3 changed files with 4 additions and 2 deletions

View File

@ -2617,6 +2617,7 @@ sctp_handle_cookie_echo(struct mbuf *m, int iphlen, int offset,
} }
if ((*netp != NULL) && (m->m_flags & M_FLOWID)) { if ((*netp != NULL) && (m->m_flags & M_FLOWID)) {
(*netp)->flowid = m->m_pkthdr.flowid; (*netp)->flowid = m->m_pkthdr.flowid;
(*netp)->flowidset = 1;
} }
/* /*
* Ok, we built an association so confirm the address we sent the * Ok, we built an association so confirm the address we sent the
@ -5845,6 +5846,7 @@ sctp_skip_csum_4:
} }
if ((net != NULL) && (m->m_flags & M_FLOWID)) { if ((net != NULL) && (m->m_flags & M_FLOWID)) {
net->flowid = m->m_pkthdr.flowid; net->flowid = m->m_pkthdr.flowid;
net->flowidset = 1;
} }
/* inp's ref-count increased && stcb locked */ /* inp's ref-count increased && stcb locked */
if (inp == NULL) { if (inp == NULL) {

View File

@ -4039,6 +4039,7 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr,
net->flowid = stcb->asoc.my_vtag ^ net->flowid = stcb->asoc.my_vtag ^
ntohs(stcb->rport) ^ ntohs(stcb->rport) ^
ntohs(stcb->sctp_ep->sctp_lport); ntohs(stcb->sctp_ep->sctp_lport);
net->flowidset = 1;
return (0); return (0);
} }
@ -5602,7 +5603,6 @@ sctp_startup_mcore_threads(void)
#endif #endif
void void
sctp_pcb_init() sctp_pcb_init()
{ {
@ -5750,7 +5750,6 @@ sctp_pcb_init()
* add the VRF's as addresses are added. * add the VRF's as addresses are added.
*/ */
sctp_init_vrf_list(SCTP_DEFAULT_VRF); sctp_init_vrf_list(SCTP_DEFAULT_VRF);
} }
/* /*

View File

@ -351,6 +351,7 @@ struct sctp_nets {
/* JRS - struct used in HTCP algorithm */ /* JRS - struct used in HTCP algorithm */
struct htcp htcp_ca; struct htcp htcp_ca;
uint32_t flowid; uint32_t flowid;
uint8_t flowidset;
}; };