summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2011-10-27 22:38:48 +0000
committertuexen <tuexen@FreeBSD.org>2011-10-27 22:38:48 +0000
commit7d9c272db15897ba386b5cf863f1533d08f5d792 (patch)
treeae0b0d9a40b1c5d70b23c9caf0795fbd15f5b648
parent810e2ec44a9d177ec3a3d382ccff11483393db24 (diff)
downloadFreeBSD-src-7d9c272db15897ba386b5cf863f1533d08f5d792.zip
FreeBSD-src-7d9c272db15897ba386b5cf863f1533d08f5d792.tar.gz
When add a new remote address using sctp_add_remote_addr(),
return the correct net if requested. MFC after: 3 days.
-rw-r--r--sys/netinet/sctp_pcb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index 2b36ba4e..389943e 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -4138,6 +4138,9 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr,
#ifdef INVARIANTS
net->flowidset = 1;
#endif
+ if (netp) {
+ *netp = net;
+ }
netfirst = TAILQ_FIRST(&stcb->asoc.nets);
if (net->ro.ro_rt == NULL) {
/* Since we have no route put it at the back */
@@ -4209,9 +4212,6 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr,
TAILQ_INSERT_HEAD(&stcb->asoc.nets,
stcb->asoc.primary_destination, sctp_next);
}
- if (netp) {
- *netp = net;
- }
return (0);
}
OpenPOWER on IntegriCloud