/* Note that it is important that an implementation that allows this option to be turned on, have it off by default. Otherwise an unaware application using the one to many model may become confused and act incorrectly.  */
static int sctp_setsockopt_fragment_interleave(struct sock *sk, char __user *optval, unsigned int optlen)
/* Note that it is important that an implementation that allows this option to be turned on, have it off by default. Otherwise an unaware application using the one to many model may become confused and act incorrectly.  */
static int sctp_setsockopt_fragment_interleave(struct sock *sk, char __user *optval, unsigned int optlen)
{
	int val;
	if (optlen != sizeof(int))
		return -EINVAL;
	if (get_user(val, (int __user *)optval))
		return -EFAULT;
	sctp_sk(sk)->frag_interleave = (val == 0) ? 0 : 1;
	return 0;
}