From 7d5e293ec5f9cada195b81f02045cfeb5ea141b0 Mon Sep 17 00:00:00 2001
From: Michael Tuexen <tuexen@fh-muenster.de>
Date: Wed, 30 Sep 2015 21:42:15 +0200
Subject: [PATCH] Add support for the SCTP_PLUGGABLE_SS socket option.

---
 gtests/net/packetdrill/symbols_freebsd.c | 46 +++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/gtests/net/packetdrill/symbols_freebsd.c b/gtests/net/packetdrill/symbols_freebsd.c
index a49181ca..ffc7d6cb 100644
--- a/gtests/net/packetdrill/symbols_freebsd.c
+++ b/gtests/net/packetdrill/symbols_freebsd.c
@@ -100,7 +100,51 @@ struct int_symbol platform_symbols_table[] = {
 	{ SCTP_SHUTDOWN_RECEIVED,           "SCTP_SHUTDOWN_RECEIVED"          },
 	{ SCTP_SHUTDOWN_ACK_SENT,           "SCTP_SHUTDOWN_ACK_SENT"          },
 	{ SCTP_SHUTDOWN_PENDING,            "SCTP_SHUTDOWN_PENDING"           },
-
+	/* The following constants are from
+	 * https://tools.ietf.org/html/draft-ietf-tsvwg-sctp-ndata-04
+	 * The old symbols currently being deployed are also provided.
+	 */
+	{ SCTP_PLUGGABLE_SS,                "SCTP_PLUGGABLE_SS"               },
+	{ SCTP_SS_DEFAULT,                  "SCTP_SS_DEFAULT"                 },
+	{ SCTP_SS_ROUND_ROBIN,              "SCTP_SS_ROUND_ROBIN"             },
+	{ SCTP_SS_ROUND_ROBIN_PACKET,       "SCTP_SS_ROUND_ROBIN_PACKET"      },
+	{ SCTP_SS_PRIORITY,                 "SCTP_SS_PRIORITY"                },
+	/* The following is a typo in FreeBSD's sctp.h */
+	{ SCTP_SS_FAIR_BANDWITH,            "SCTP_SS_FAIR_BANDWITH"           },
+	{ SCTP_SS_FIRST_COME,               "SCTP_SS_FIRST_COME"              },
+#if defined(SCTP_SS_FCFS)
+	{ SCTP_SS_FCFS,                     "SCTP_SS_FCFS"                    },
+#endif
+#if defined(SCTP_SS_RR)
+	{ SCTP_SS_RR,                       "SCTP_SS_RR"                      },
+#endif
+#if defined(SCTP_SS_RR_PKT)
+	{ SCTP_SS_RR_PKT,                   "SCTP_SS_RR_PKT"                  },
+#endif
+#if defined(SCTP_SS_PRIO)
+	{ SCTP_SS_PRIO,                     "SCTP_SS_PRIO"                    },
+#endif
+#if defined(SCTP_SS_FB)
+	{ SCTP_SS_FB,                       "SCTP_SS_FB"                      },
+#endif
+#if defined(SCTP_SS_WFQ)
+	{ SCTP_SS_WFQ,                      "SCTP_SS_WFQ"                     },
+#endif
+#if defined(SCTP_SS_RR_INTER)
+	{ SCTP_SS_RR_INTER,                 "SCTP_SS_RR_INTER"                },
+#endif
+#if defined(SCTP_SS_RR_PKT_INTER)
+	{ SCTP_SS_RR_PKT_INTER,             "SCTP_SS_RR_PKT_INTER"            },
+#endif
+#if defined(SCTP_SS_PRIO_INTER)
+	{ SCTP_SS_PRIO_INTER,               "SCTP_SS_PRIO_INTER"              },
+#endif
+#if defined(SCTP_SS_FB_INTER)
+	{ SCTP_SS_FB_INTER,                 "SCTP_SS_FB_INTER"                },
+#endif
+#if defined(SCTP_SS_WFQ_INTER)
+	{ SCTP_SS_WFQ_INTER,                "SCTP_SS_WFQ_INTER"               },
+#endif
 	/* /usr/include/netinet/tcp.h */
 	{ TCP_NODELAY,                      "TCP_NODELAY"                     },
 	{ TCP_MAXSEG,                       "TCP_MAXSEG"                      },
-- 
GitLab