summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_input.c
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2011-02-03 19:59:00 +0000
committertuexen <tuexen@FreeBSD.org>2011-02-03 19:59:00 +0000
commit8c15a38b6340497a544a77e32996b7209f2e54eb (patch)
treefb56bb5638afcde827deb48d5b6094fd85ae8d22 /sys/netinet/sctp_input.c
parent45cdff3dd8dfb77457ff6dd2d900658a98f5c723 (diff)
downloadFreeBSD-src-8c15a38b6340497a544a77e32996b7209f2e54eb.zip
FreeBSD-src-8c15a38b6340497a544a77e32996b7209f2e54eb.tar.gz
Make sure that changing the ECN sysctl does not affect
exisiting associations and endpoints. MFC after: 3 months.
Diffstat (limited to 'sys/netinet/sctp_input.c')
-rw-r--r--sys/netinet/sctp_input.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet/sctp_input.c b/sys/netinet/sctp_input.c
index f6efa6c..a2215af 100644
--- a/sys/netinet/sctp_input.c
+++ b/sys/netinet/sctp_input.c
@@ -2719,6 +2719,7 @@ sctp_handle_cookie_echo(struct mbuf *m, int iphlen, int offset,
inp->sctp_socket = so;
inp->sctp_frag_point = (*inp_p)->sctp_frag_point;
inp->sctp_cmt_on_off = (*inp_p)->sctp_cmt_on_off;
+ inp->sctp_ecn_enable = (*inp_p)->sctp_ecn_enable;
inp->partial_delivery_point = (*inp_p)->partial_delivery_point;
inp->sctp_context = (*inp_p)->sctp_context;
inp->inp_starting_point_for_iterator = NULL;
@@ -5614,7 +5615,8 @@ sctp_common_input_processing(struct mbuf **mm, int iphlen, int offset,
*/
}
/* take care of ecn */
- if (stcb->asoc.ecn_allowed && ((ecn_bits & SCTP_CE_BITS) == SCTP_CE_BITS)) {
+ if ((stcb->asoc.ecn_allowed == 1) &&
+ ((ecn_bits & SCTP_CE_BITS) == SCTP_CE_BITS)) {
/* Yep, we need to add a ECNE */
sctp_send_ecn_echo(stcb, net, high_tsn);
}
OpenPOWER on IntegriCloud