SINIC: Commit old code from ASPLOS 2006 studies.
[gem5.git] / src / dev / ethertap.cc
index c7b292c8a878f3fc7c1d125a8d5c6f2960abbe62..f1fd1800ba7ad091587df19f24ee05171adb2a4d 100644 (file)
@@ -182,8 +182,12 @@ EtherTap::recvPacket(EthPacketPtr packet)
     DPRINTF(Ethernet, "EtherTap output len=%d\n", packet->length);
     DDUMP(EthernetData, packet->data, packet->length);
     uint32_t len = htonl(packet->length);
-    write(socket, &len, sizeof(len));
-    write(socket, packet->data, packet->length);
+    ssize_t ret = write(socket, &len, sizeof(len));
+    if (ret != sizeof(len))
+        return false;
+    ret = write(socket, packet->data, packet->length);
+    if (ret != packet->length)
+        return false;
 
     interface->recvDone();