Upgrade LOG's in sctp_* to LOG(FATAL)'s

We've turned die-on-malloc on in message bridge, so regular LOG
statements are pointless.

Also, silently ignore ENOPROTOOPT when encountered. The roborio appears
to hit this codepath, and we aren't going to do anything about it.

Change-Id: I3daa16466268862fba0dd5d586923363892b094f
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/aos/network/sctp_server.cc b/aos/network/sctp_server.cc
index f90b21b..f4dba39 100644
--- a/aos/network/sctp_server.cc
+++ b/aos/network/sctp_server.cc
@@ -81,8 +81,7 @@
   scheduler.assoc_value = SCTP_SS_PRIO;
   if (setsockopt(fd(), IPPROTO_SCTP, SCTP_STREAM_SCHEDULER, &scheduler,
                  sizeof(scheduler)) != 0) {
-    LOG_FIRST_N(WARNING, 1) << "Failed to set scheduler: " << strerror(errno)
-                            << " [" << errno << "]";
+    PLOG(FATAL) << "Failed to set scheduler.";
   }
 #endif
 }
@@ -99,8 +98,13 @@
   sctp_priority.stream_value = priority;
   if (setsockopt(fd(), IPPROTO_SCTP, SCTP_STREAM_SCHEDULER_VALUE,
                  &sctp_priority, sizeof(sctp_priority)) != 0) {
-    LOG_FIRST_N(WARNING, 1) << "Failed to set scheduler: " << strerror(errno)
-                            << " [" << errno << "]";
+    // Treat "Protocol not available" as equivalent to the
+    // SCTP_STREAM_SCHEDULER_VALUE not being defined--silently ignore it.
+    if (errno == ENOPROTOOPT) {
+      VLOG(1) << "Stream scheduler not supported on this kernel.";
+      return;
+    }
+    PLOG(FATAL) << "Failed to set scheduler.";
   }
 #endif
 }