qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 1/2] net: assert that tx packets have nonzero


From: Jason Wang
Subject: Re: [Qemu-devel] [PATCH v2 1/2] net: assert that tx packets have nonzero size
Date: Thu, 7 Nov 2019 12:21:04 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0


On 2019/7/22 下午9:24, Oleinik, Alexander wrote:
Virtual devices should not try to send zero-sized packets. The caller
should check the size prior to calling qemu_sendv_packet_async.

Signed-off-by: Alexander Oleinik <address@hidden>
---
v2:
   * Improve the comment to explain the rationale for adding the assert.
  net/net.c | 9 +++++++++
  1 file changed, 9 insertions(+)

diff --git a/net/net.c b/net/net.c
index 7d4098254f..4ad21df36f 100644
--- a/net/net.c
+++ b/net/net.c
@@ -741,6 +741,15 @@ ssize_t qemu_sendv_packet_async(NetClientState *sender,
      size_t size = iov_size(iov, iovcnt);
      int ret;
+ /*
+     * Since this function returns the size of the sent packets, and a return
+     * value of zero indicates that the packet will be sent asynchronously,
+     * there is currently no way to report that a 0-sized packet has been sent
+     * successfully. Forbid it for now, and if someone needs this functionality
+     * later, the API will require a change.
+     */
+    assert(size);


This probably will make the assertion triggerable from guest. Is this better to warn and return NET_BUFSIZE + 1 here?

Thanks


+
      if (size > NET_BUFSIZE) {
          return size;
      }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]