diff --git a/2006-02-26-sctp-part-1.html b/2006-02-26-sctp-part-1.html
new file mode 100644
index 0000000..7899d3a
--- /dev/null
+++ b/2006-02-26-sctp-part-1.html
@@ -0,0 +1,45 @@
+
htmhtmll
+
+
+
+
+I’ve been doing some work with SCTP lately. I’m working through some of the intricacies of the protocol and the brain damage of the APIs (there are two of them, and they both suck). As I write my own API, I thought I’d post a few things here showing, from examples, the nifty stuff that the protocol does. Here’s the first, dealing with message length preservation:
+
+MSG_EOR = 128
+
+
+IPV6/TCP:
+
+send("ABCDEFGH", 8) = 8
+send("01234567", 8) = 8
+recv(16, MSG_DONTWAIT) = 16
+recv(16, MSG_DONTWAIT) = -1
+========
+send("ABCDEFGH", 8) = 8
+send("01234567", 8) = 8
+recvmsg(5, MSG_DONTWAIT) = 5
+-----> msg_flags = 0
+recvmsg(11, MSG_DONTWAIT) = 11
+-----> msg_flags = 0
+recvmsg(11, MSG_DONTWAIT) = -1
+-----> msg_flags = 0
+
+
+IPV6/SCTP:
+
+send("ABCDEFGH", 8) = 8
+send("01234567", 8) = 8
+recv(16, MSG_DONTWAIT) = 8
+recv(16, MSG_DONTWAIT) = 8
+========
+send("ABCDEFGH", 8) = 8
+send("01234567", 8) = 8
+recvmsg(5, MSG_DONTWAIT) = 5
+-----> msg_flags = 0
+recvmsg(11, MSG_DONTWAIT) = 3
+-----> msg_flags = 128
+recvmsg(11, MSG_DONTWAIT) = 8
+-----> msg_flags = 128
+
+
+
diff --git a/index.html b/index.html
index a0268e8..8e080db 100644
--- a/index.html
+++ b/index.html
@@ -38,6 +38,7 @@
2010-Mar-26: Fun with map visualizations
2010-Mar-09: Karaoke project
2009-Sep-11: Confusing BIND with CNAMEs
+2009-Feb-26: SCTP Part #1
2009-Feb-19: The odd case of my mugging
2009-Feb-03: 5-packet TCP connection?
2006-Feb-13: Is sleep(3) effected by time changes?
diff --git a/markdown/2006-02-26-sctp-part-1.md b/markdown/2006-02-26-sctp-part-1.md
new file mode 100644
index 0000000..d424a03
--- /dev/null
+++ b/markdown/2006-02-26-sctp-part-1.md
@@ -0,0 +1,42 @@
+htmhtmll
+
+
+
+
+I’ve been doing some work with SCTP lately. I’m working through some of the intricacies of the protocol and the brain damage of the APIs (there are two of them, and they both suck). As I write my own API, I thought I’d post a few things here showing, from examples, the nifty stuff that the protocol does. Here’s the first, dealing with message length preservation:
+
+ MSG_EOR = 128
+
+IPV6/TCP:
+
+ send("ABCDEFGH", 8) = 8
+ send("01234567", 8) = 8
+ recv(16, MSG_DONTWAIT) = 16
+ recv(16, MSG_DONTWAIT) = -1
+ ========
+ send("ABCDEFGH", 8) = 8
+ send("01234567", 8) = 8
+ recvmsg(5, MSG_DONTWAIT) = 5
+ -----> msg_flags = 0
+ recvmsg(11, MSG_DONTWAIT) = 11
+ -----> msg_flags = 0
+ recvmsg(11, MSG_DONTWAIT) = -1
+ -----> msg_flags = 0
+
+IPV6/SCTP:
+
+ send("ABCDEFGH", 8) = 8
+ send("01234567", 8) = 8
+ recv(16, MSG_DONTWAIT) = 8
+ recv(16, MSG_DONTWAIT) = 8
+ ========
+ send("ABCDEFGH", 8) = 8
+ send("01234567", 8) = 8
+ recvmsg(5, MSG_DONTWAIT) = 5
+ -----> msg_flags = 0
+ recvmsg(11, MSG_DONTWAIT) = 3
+ -----> msg_flags = 128
+ recvmsg(11, MSG_DONTWAIT) = 8
+ -----> msg_flags = 128
+
+
diff --git a/markdown/index.md b/markdown/index.md
index d72381e..94a7c6b 100644
--- a/markdown/index.md
+++ b/markdown/index.md
@@ -37,6 +37,7 @@
1. 2010-Mar-26: [Fun with map visualizations](2010-03-26-fun-with-map-visualizations.html)
1. 2010-Mar-09: [Karaoke project](2010-03-09-karaoke-project.html)
1. 2009-Sep-11: [Confusing BIND with CNAMEs](2009-09-11-confusing-bind-with-cnames.html)
+1. 2009-Feb-26: [SCTP Part #1](2006-02-26-sctp-part-1.html)
1. 2009-Feb-19: [The odd case of my mugging](2019-02-19-the-odd-case-of-my-mugging.html)
1. 2009-Feb-03: [5-packet TCP connection?](2009-02-03-5-packet-tcp-connection.html)
1. 2006-Feb-13: [Is sleep(3) effected by time changes?](2006-02-13-is-sleep-effected-by-time-changes.html)