On Sun, May 29, 2016 at 05:42:13PM +0800, Xin Long wrote:
> Now we cannot distinguish that one sk is a udp or sctp style when
> we use ss to dump sctp_info. it's necessary to dump it as well.
> 
> For sctp_diag, ss support is not officially available, thus there
> are no official users of this yet, so we can add this field in the
> middle of sctp_info without breaking user API.
> 
> v1->v2:
>   - move 'sctpi_s_type' field to the end of struct sctp_info, so
>     that it won't cause incompatibility with applications already
>     built.
>   - add __reserved3 in sctp_info to make sure sctp_info is 8-byte
>     alignment.
> 
> Signed-off-by: Xin Long <lucien....@gmail.com>
> ---
>  include/linux/sctp.h | 2 ++
>  net/sctp/socket.c    | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/include/linux/sctp.h b/include/linux/sctp.h
> index dacb5e7..de1f643 100644
> --- a/include/linux/sctp.h
> +++ b/include/linux/sctp.h
> @@ -765,6 +765,8 @@ struct sctp_info {
>       __u8    sctpi_s_disable_fragments;
>       __u8    sctpi_s_v4mapped;
>       __u8    sctpi_s_frag_interleave;
> +     __u32   sctpi_s_type;
> +     __u32   __reserved3;
>  };
>  
>  struct sctp_infox {
> diff --git a/net/sctp/socket.c b/net/sctp/socket.c
> index 777d032..67154b8 100644
> --- a/net/sctp/socket.c
> +++ b/net/sctp/socket.c
> @@ -4220,6 +4220,7 @@ int sctp_get_sctp_info(struct sock *sk, struct 
> sctp_association *asoc,
>               info->sctpi_s_disable_fragments = sp->disable_fragments;
>               info->sctpi_s_v4mapped = sp->v4mapped;
>               info->sctpi_s_frag_interleave = sp->frag_interleave;
> +             info->sctpi_s_type = sp->type;
>  
>               return 0;
>       }
> -- 
> 2.1.0
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
Acked-by: Neil Horman <nhor...@tuxdriver.com>

Reply via email to