Add counters for MPTP buffers and syscalls.
[swifty.git] / src / kernel / mptp.c
index eaff81e..c46461d 100644 (file)
@@ -341,8 +341,11 @@ static int mptp_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *
         if (likely(!err)) {
             log_debug("Sent %u bytes on wire\n", len);
                        ret += len;
-               } else
+                       dest->bytes = len;
+               } else {
             log_error("ip_queue_xmit failed\n");
+                       dest->bytes = -1;
+               }
     }
 
        return ret;
@@ -402,6 +405,9 @@ static int mptp_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *
 out_free:
            skb_free_datagram(sk, skb);
 
+               if (i == msg->msg_iovlen - 1)
+                       break;
+
                skb = skb_recv_datagram(sk, flags, 1, &err);
                if (likely(err == -EAGAIN)) {
                        log_debug("No more skbs in the queue, returning...\n");