diff options
author | rrs <rrs@FreeBSD.org> | 2011-02-07 08:10:29 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2011-02-07 08:10:29 +0000 |
commit | 29653e7e7e59a428f00d7d2c68c71e1022118f86 (patch) | |
tree | 153d153b5ea27fdf589dfb0295e2bffb4d9eb020 | |
parent | 64b6d5b13c0a4e070ba0c49715d3992a8f208c39 (diff) | |
download | FreeBSD-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.c | 2 | ||||
-rw-r--r-- | sys/netinet/sctp_pcb.c | 3 | ||||
-rw-r--r-- | sys/netinet/sctp_structs.h | 1 |
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; }; |