diff options
author | Xin Long <lucien.xin@gmail.com> | 2018-07-02 06:21:12 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-03 22:36:54 -0400 |
commit | 8a9c58d28d0f66569737a3295116710ed24573cd (patch) | |
tree | 4d530788207cca98e68faee6d5a4145d5d8befc4 /include/linux/sctp.h | |
parent | 69b9e1e07d98b57b972df3c44647ca8795284d39 (diff) |
sctp: add support for dscp and flowlabel per transport
Like some other per transport params, flowlabel and dscp are added
in transport, asoc and sctp_sock. By default, transport sets its
value from asoc's, and asoc does it from sctp_sock. flowlabel
only works for ipv6 transport.
Other than that they need to be passed down in sctp_xmit, flow4/6
also needs to set them before looking up route in get_dst.
Note that it uses '& 0x100000' to check if flowlabel is set and
'& 0x1' (tos 1st bit is unused) to check if dscp is set by users,
so that they could be set to 0 by sockopt in next patch.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/sctp.h')
-rw-r--r-- | include/linux/sctp.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/sctp.h b/include/linux/sctp.h index b36c76635f18..83d94341e003 100644 --- a/include/linux/sctp.h +++ b/include/linux/sctp.h | |||
@@ -801,4 +801,11 @@ struct sctp_strreset_resptsn { | |||
801 | __be32 receivers_next_tsn; | 801 | __be32 receivers_next_tsn; |
802 | }; | 802 | }; |
803 | 803 | ||
804 | enum { | ||
805 | SCTP_DSCP_SET_MASK = 0x1, | ||
806 | SCTP_DSCP_VAL_MASK = 0xfc, | ||
807 | SCTP_FLOWLABEL_SET_MASK = 0x100000, | ||
808 | SCTP_FLOWLABEL_VAL_MASK = 0xfffff | ||
809 | }; | ||
810 | |||
804 | #endif /* __LINUX_SCTP_H__ */ | 811 | #endif /* __LINUX_SCTP_H__ */ |