]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: add spp_ipv6_flowlabel and spp_dscp for sctp_paddrparams
authorXin Long <lucien.xin@gmail.com>
Mon, 2 Jul 2018 10:21:13 +0000 (18:21 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Jul 2018 02:36:54 +0000 (11:36 +0900)
commitb8b6ead18b1a07facc7e11f782652ce1dd94e7fa
treeb601cf02853ebe24a1530ab1b25cf1e73d3897e0
parentc5b21e48a8ba8d0f6ee0fa25b7e237f21ada492d
sctp: add spp_ipv6_flowlabel and spp_dscp for sctp_paddrparams

spp_ipv6_flowlabel and spp_dscp are added in sctp_paddrparams in
this patch so that users could set sctp_sock/asoc/transport dscp
and flowlabel with spp_flags SPP_IPV6_FLOWLABEL or SPP_DSCP by
SCTP_PEER_ADDR_PARAMS , as described section 8.1.12 in RFC6458.

As said in last patch, it uses '| 0x100000' or '|0x1' to mark
flowlabel or dscp is set,  so that their values could be set
to 0.

Note that to guarantee that an old app built with old kernel
headers could work on the newer kernel, the param's check in
sctp_g/setsockopt_peer_addr_params() is also improved, which
follows the way that sctp_g/setsockopt_delayed_ack() or some
other sockopts' process that accept two types of params does.

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