summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2011-02-07 08:10:29 +0000
committerrrs <rrs@FreeBSD.org>2011-02-07 08:10:29 +0000
commit29653e7e7e59a428f00d7d2c68c71e1022118f86 (patch)
tree153d153b5ea27fdf589dfb0295e2bffb4d9eb020
parent64b6d5b13c0a4e070ba0c49715d3992a8f208c39 (diff)
downloadFreeBSD-src-29653e7e7e59a428f00d7d2c68c71e1022118f86.zip
FreeBSD-src-29653e7e7e59a428f00d7d2c68c71e1022118f86.tar.gz
1) Track when flowid does get set.
MFC after: 3 months
-rw-r--r--sys/netinet/sctp_input.c2
-rw-r--r--sys/netinet/sctp_pcb.c3
-rw-r--r--sys/netinet/sctp_structs.h1
3 files changed, 4 insertions, 2 deletions
diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c
index ec15e16..8801a3f 100644
--- a/sys/netinet/sctp_input.c
+++ b/sys/netinet/sctp_input.c
@@ -2617,6 +2617,7 @@ sctp_handle_cookie_echo(struct mbuf *m, int iphlen, int offset,
}
if ((*netp != NULL) && (m->m_flags & M_FLOWID)) {
(*netp)->flowid = m->m_pkthdr.flowid;
+ (*netp)->flowidset = 1;
}
/*
* 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)) {
net->flowid = m->m_pkthdr.flowid;
+ net->flowidset = 1;
}
/* inp's ref-count increased && stcb locked */
if (inp == NULL) {
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index 2630ab9..60a9656 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -4039,6 +4039,7 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr,
net->flowid = stcb->asoc.my_vtag ^
ntohs(stcb->rport) ^
ntohs(stcb->sctp_ep->sctp_lport);
+ net->flowidset = 1;
return (0);
}
@@ -5602,7 +5603,6 @@ sctp_startup_mcore_threads(void)
#endif
-
void
sctp_pcb_init()
{
@@ -5750,7 +5750,6 @@ sctp_pcb_init()
* add the VRF's as addresses are added.
*/
sctp_init_vrf_list(SCTP_DEFAULT_VRF);
-
}
/*
diff --git a/sys/netinet/sctp_structs.h b/sys/netinet/sctp_structs.h
index f8fdc90..09aba90 100644
--- a/sys/netinet/sctp_structs.h
+++ b/sys/netinet/sctp_structs.h
@@ -351,6 +351,7 @@ struct sctp_nets {
/* JRS - struct used in HTCP algorithm */
struct htcp htcp_ca;
uint32_t flowid;
+ uint8_t flowidset;
};
OpenPOWER on IntegriCloud