Add a microbenchmark for tun write performance.

Change-Id: Id73888d25afd9253634356436c57afec630a0846
diff --git a/tun.c b/tun.c
index a1b7254..49f0ea7 100644
--- a/tun.c
+++ b/tun.c
@@ -64,6 +64,26 @@
   return 0;
 }
 
-void send_tun(int fd, clat_packet out, int iov_len) {
-  writev(fd, out, iov_len);
+/* function: set_nonblocking
+ * sets a filedescriptor to non-blocking mode
+ * fd - the filedescriptor
+ * returns: 0 on success, -1 on failure
+ */
+int set_nonblocking(int fd) {
+  int flags = fcntl(fd, F_GETFL);
+  if (flags == -1) {
+    return flags;
+  }
+  return fcntl(fd, F_SETFL, flags | O_NONBLOCK);
+}
+
+/* function: send_tun
+ * sends a clat_packet to a tun interface
+ * fd      - the tun filedescriptor
+ * out     - the packet to send
+ * iov_len - the number of entries in the clat_packet
+ * returns: number of bytes read on success, -1 on failure
+ */
+int send_tun(int fd, clat_packet out, int iov_len) {
+  return writev(fd, out, iov_len);
 }