OSDN Git Service

sctp: rename sp strm_interleave to ep intl_enable
authorXin Long <lucien.xin@gmail.com>
Mon, 8 Jul 2019 16:57:07 +0000 (00:57 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Jul 2019 03:16:25 +0000 (20:16 -0700)
Like other endpoint features, strm_interleave should be moved to
sctp_endpoint and renamed to intl_enable.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/structs.h
net/sctp/sm_make_chunk.c
net/sctp/socket.c

index c41b57b..ba5c4f6 100644 (file)
@@ -219,7 +219,6 @@ struct sctp_sock {
                disable_fragments:1,
                v4mapped:1,
                frag_interleave:1,
-               strm_interleave:1,
                recvrcvinfo:1,
                recvnxtinfo:1,
                data_ready_signalled:1;
@@ -1324,6 +1323,7 @@ struct sctp_endpoint {
        struct list_head endpoint_shared_keys;
        __u16 active_key_id;
        __u8  auth_enable:1,
+             intl_enable:1,
              prsctp_enable:1,
              reconf_enable:1;
 
index 31ab2c6..ed39396 100644 (file)
@@ -269,7 +269,7 @@ struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc,
        if (sp->adaptation_ind)
                chunksize += sizeof(aiparam);
 
-       if (sp->strm_interleave) {
+       if (asoc->ep->intl_enable) {
                extensions[num_ext] = SCTP_CID_I_DATA;
                num_ext += 1;
        }
@@ -2027,7 +2027,7 @@ static void sctp_process_ext_param(struct sctp_association *asoc,
                                asoc->peer.asconf_capable = 1;
                        break;
                case SCTP_CID_I_DATA:
-                       if (sctp_sk(asoc->base.sk)->strm_interleave)
+                       if (asoc->ep->intl_enable)
                                asoc->peer.intl_capable = 1;
                        break;
                default:
index 226661f..aa80cda 100644 (file)
@@ -1913,7 +1913,7 @@ static int sctp_sendmsg_to_asoc(struct sctp_association *asoc,
                if (err)
                        goto err;
 
-               if (sp->strm_interleave) {
+               if (asoc->ep->intl_enable) {
                        timeo = sock_sndtimeo(sk, 0);
                        err = sctp_wait_for_connect(asoc, &timeo);
                        if (err) {
@@ -3581,7 +3581,7 @@ static int sctp_setsockopt_fragment_interleave(struct sock *sk,
        sctp_sk(sk)->frag_interleave = !!val;
 
        if (!sctp_sk(sk)->frag_interleave)
-               sctp_sk(sk)->strm_interleave = 0;
+               sctp_sk(sk)->ep->intl_enable = 0;
 
        return 0;
 }
@@ -4484,7 +4484,7 @@ static int sctp_setsockopt_interleaving_supported(struct sock *sk,
                goto out;
        }
 
-       sp->strm_interleave = !!params.assoc_value;
+       sp->ep->intl_enable = !!params.assoc_value;
 
        retval = 0;
 
@@ -7693,7 +7693,7 @@ static int sctp_getsockopt_interleaving_supported(struct sock *sk, int len,
        }
 
        params.assoc_value = asoc ? asoc->peer.intl_capable
-                                 : sctp_sk(sk)->strm_interleave;
+                                 : sctp_sk(sk)->ep->intl_enable;
 
        if (put_user(len, optlen))
                goto out;