diff options
author | tuexen <tuexen@FreeBSD.org> | 2011-02-03 19:59:00 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2011-02-03 19:59:00 +0000 |
commit | 8c15a38b6340497a544a77e32996b7209f2e54eb (patch) | |
tree | fb56bb5638afcde827deb48d5b6094fd85ae8d22 /sys/netinet/sctp_input.c | |
parent | 45cdff3dd8dfb77457ff6dd2d900658a98f5c723 (diff) | |
download | FreeBSD-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.c | 4 |
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); } |