aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2023-04-23 15:48:05 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2023-06-25 19:36:11 +0000
commit17b65b4df95f0d375002a63615aede5d6178fd7f (patch)
tree0dc1f537c3435cdfeb96f7a6aa44e24870f3cf1f
parent462dbcf3ce60ecc3dedca61999e52372b8552810 (diff)
downloadsrc-17b65b4df95f0d375002a63615aede5d6178fd7f.tar.gz
src-17b65b4df95f0d375002a63615aede5d6178fd7f.zip
sctp: use constants from RFC 8260 to improve compliance
Keep the old constants for backwards compatibility. (cherry picked from commit 66d6fd532282fda0cda0ca31d93ff09044f1386a)
-rw-r--r--sys/netinet/sctp.h23
-rw-r--r--sys/netinet/sctp_ss_functions.c10
-rw-r--r--sys/netinet/sctp_usrreq.c18
3 files changed, 30 insertions, 21 deletions
diff --git a/sys/netinet/sctp.h b/sys/netinet/sctp.h
index d67b33acd8ad..f942b1356dbb 100644
--- a/sys/netinet/sctp.h
+++ b/sys/netinet/sctp.h
@@ -191,8 +191,11 @@ struct sctp_paramhdr {
/* JRS - Pluggable Congestion Control Socket option */
#define SCTP_PLUGGABLE_CC 0x00001202
/* RS - Pluggable Stream Scheduling Socket option */
-#define SCTP_PLUGGABLE_SS 0x00001203
-#define SCTP_SS_VALUE 0x00001204
+#define SCTP_STREAM_SCHEDULER 0x00001203
+#define SCTP_STREAM_SCHEDULER_VALUE 0x00001204
+/* The next two are for backwards compatibility. */
+#define SCTP_PLUGGABLE_SS SCTP_STREAM_SCHEDULER
+#define SCTP_SS_VALUE SCTP_STREAM_SCHEDULER_VALUE
#define SCTP_CC_OPTION 0x00001205 /* Options for CC
* modules */
/* For I-DATA */
@@ -308,15 +311,21 @@ struct sctp_paramhdr {
/* Default simple round-robin */
#define SCTP_SS_DEFAULT 0x00000000
/* Real round-robin */
-#define SCTP_SS_ROUND_ROBIN 0x00000001
+#define SCTP_SS_RR 0x00000001
/* Real round-robin per packet */
-#define SCTP_SS_ROUND_ROBIN_PACKET 0x00000002
+#define SCTP_SS_RR_PKT 0x00000002
/* Priority */
-#define SCTP_SS_PRIORITY 0x00000003
+#define SCTP_SS_PRIO 0x00000003
/* Fair Bandwidth */
-#define SCTP_SS_FAIR_BANDWITH 0x00000004
+#define SCTP_SS_FB 0x00000004
/* First-come, first-serve */
-#define SCTP_SS_FIRST_COME 0x00000005
+#define SCTP_SS_FCFS 0x00000005
+/* The next five are for backwards compatibility. */
+#define SCTP_SS_ROUND_ROBIN SCTP_SS_RR
+#define SCTP_SS_ROUND_ROBIN_PACKET SCTP_SS_RR_PKT
+#define SCTP_SS_PRIORITY SCTP_SS_PRIO
+#define SCTP_SS_FAIR_BANDWITH SCTP_SS_FB
+#define SCTP_SS_FIRST_COME SCTP_SS_FCFS
/* fragment interleave constants
* setting must be one of these or
diff --git a/sys/netinet/sctp_ss_functions.c b/sys/netinet/sctp_ss_functions.c
index 049c93767125..465a2bc7de5c 100644
--- a/sys/netinet/sctp_ss_functions.c
+++ b/sys/netinet/sctp_ss_functions.c
@@ -952,7 +952,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = {
.sctp_ss_set_value = sctp_ss_default_set_value,
.sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete
},
-/* SCTP_SS_ROUND_ROBIN */
+/* SCTP_SS_RR */
{
.sctp_ss_init = sctp_ss_default_init,
.sctp_ss_clear = sctp_ss_default_clear,
@@ -967,7 +967,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = {
.sctp_ss_set_value = sctp_ss_default_set_value,
.sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete
},
-/* SCTP_SS_ROUND_ROBIN_PACKET */
+/* SCTP_SS_RR_PKT */
{
.sctp_ss_init = sctp_ss_default_init,
.sctp_ss_clear = sctp_ss_default_clear,
@@ -982,7 +982,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = {
.sctp_ss_set_value = sctp_ss_default_set_value,
.sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete
},
-/* SCTP_SS_PRIORITY */
+/* SCTP_SS_PRIO */
{
.sctp_ss_init = sctp_ss_default_init,
.sctp_ss_clear = sctp_ss_prio_clear,
@@ -997,7 +997,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = {
.sctp_ss_set_value = sctp_ss_prio_set_value,
.sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete
},
-/* SCTP_SS_FAIR_BANDWITH */
+/* SCTP_SS_FB */
{
.sctp_ss_init = sctp_ss_default_init,
.sctp_ss_clear = sctp_ss_fb_clear,
@@ -1012,7 +1012,7 @@ const struct sctp_ss_functions sctp_ss_functions[] = {
.sctp_ss_set_value = sctp_ss_default_set_value,
.sctp_ss_is_user_msgs_incomplete = sctp_ss_default_is_user_msgs_incomplete
},
-/* SCTP_SS_FIRST_COME */
+/* SCTP_SS_FCFS */
{
.sctp_ss_init = sctp_ss_fcfs_init,
.sctp_ss_clear = sctp_ss_fcfs_clear,
diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c
index 7a0b60a9e030..9e7b441ed497 100644
--- a/sys/netinet/sctp_usrreq.c
+++ b/sys/netinet/sctp_usrreq.c
@@ -1750,7 +1750,7 @@ flags_out:
}
break;
}
- case SCTP_PLUGGABLE_SS:
+ case SCTP_STREAM_SCHEDULER:
{
struct sctp_assoc_value *av;
@@ -1777,7 +1777,7 @@ flags_out:
}
break;
}
- case SCTP_SS_VALUE:
+ case SCTP_STREAM_SCHEDULER_VALUE:
{
struct sctp_stream_value *av;
@@ -4045,17 +4045,17 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize,
}
break;
}
- case SCTP_PLUGGABLE_SS:
+ case SCTP_STREAM_SCHEDULER:
{
struct sctp_assoc_value *av;
SCTP_CHECK_AND_CAST(av, optval, struct sctp_assoc_value, optsize);
if ((av->assoc_value != SCTP_SS_DEFAULT) &&
- (av->assoc_value != SCTP_SS_ROUND_ROBIN) &&
- (av->assoc_value != SCTP_SS_ROUND_ROBIN_PACKET) &&
- (av->assoc_value != SCTP_SS_PRIORITY) &&
- (av->assoc_value != SCTP_SS_FAIR_BANDWITH) &&
- (av->assoc_value != SCTP_SS_FIRST_COME)) {
+ (av->assoc_value != SCTP_SS_RR) &&
+ (av->assoc_value != SCTP_SS_RR_PKT) &&
+ (av->assoc_value != SCTP_SS_PRIO) &&
+ (av->assoc_value != SCTP_SS_FB) &&
+ (av->assoc_value != SCTP_SS_FCFS)) {
SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL);
error = EINVAL;
break;
@@ -4094,7 +4094,7 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize,
}
break;
}
- case SCTP_SS_VALUE:
+ case SCTP_STREAM_SCHEDULER_VALUE:
{
struct sctp_stream_value *av;