diff mbox

[13/18] net: insert event-tap to qemu_send_packet() and qemu_sendv_packet_async().

Message ID 1300853426-7054-14-git-send-email-tamura.yoshiaki@lab.ntt.co.jp (mailing list archive)
State New, archived
Headers show

Commit Message

Yoshiaki Tamura March 23, 2011, 4:10 a.m. UTC
None
diff mbox

Patch

diff --git a/net.c b/net.c
index ddcca97..a541ede 100644
--- a/net.c
+++ b/net.c
@@ -37,6 +37,7 @@ 
 #include "qemu_socket.h"
 #include "hw/qdev.h"
 #include "iov.h"
+#include "event-tap.h"
 
 static QTAILQ_HEAD(, VLANState) vlans;
 static QTAILQ_HEAD(, VLANClientState) non_vlan_clients;
@@ -519,6 +520,10 @@  ssize_t qemu_send_packet_async(VLANClientState *sender,
 
 void qemu_send_packet(VLANClientState *vc, const uint8_t *buf, int size)
 {
+    if (event_tap_is_on()) {
+        return event_tap_send_packet(vc, buf, size);
+    }
+
     qemu_send_packet_async(vc, buf, size, NULL);
 }
 
@@ -600,6 +605,10 @@  ssize_t qemu_sendv_packet_async(VLANClientState *sender,
 {
     NetQueue *queue;
 
+    if (event_tap_is_on()) {
+        return event_tap_sendv_packet_async(sender, iov, iovcnt, sent_cb);
+    }
+
     if (sender->link_down || (!sender->peer && !sender->vlan)) {
         return iov_size(iov, iovcnt);
     }