Add sctp authentication to sctp_lib

This only works for linux >=5.4. When enabled, it will use
a shared key to authenticate messages. The functionality is
controlled by a flag and behind a linux version check.

Performance degradation is minimal, even for smaller messages
and unnoticeable when measuring overall system performance.

Change-Id: I836e61ec38a0c116fd7244b771437738ccca9828
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/aos/network/sctp_client.cc b/aos/network/sctp_client.cc
index a87dfc6..e044396 100644
--- a/aos/network/sctp_client.cc
+++ b/aos/network/sctp_client.cc
@@ -22,8 +22,9 @@
 namespace message_bridge {
 
 SctpClient::SctpClient(std::string_view remote_host, int remote_port,
-                       int streams, std::string_view local_host,
-                       int local_port) {
+                       int streams, std::string_view local_host, int local_port,
+                       std::vector<uint8_t> sctp_auth_key)
+    : sctp_(std::move(sctp_auth_key)) {
   bool use_ipv6 = Ipv6Enabled();
   sockaddr_local_ = ResolveSocket(local_host, local_port, use_ipv6);
   sockaddr_remote_ = ResolveSocket(remote_host, remote_port, use_ipv6);