From: Yang Hongyang <yanghy@cn.fujitsu.com>
To: Stefan Hajnoczi <stefanha@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Andreas Faerber <afaerber@suse.de>
Cc: thuth@redhat.com, zhang.zhanghailiang@huawei.com,
lizhijian@cn.fujitsu.com, jasowang@redhat.com,
qemu-devel@nongnu.org, mrhines@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define
Date: Mon, 7 Sep 2015 15:37:20 +0800 [thread overview]
Message-ID: <55ED3EB0.1030902@cn.fujitsu.com> (raw)
In-Reply-To: <20150904103255.GB8683@stefanha-thinkpad.redhat.com>
Hi Stefan,
On 09/04/2015 06:32 PM, Stefan Hajnoczi wrote:
[...]
>
> net/queue.c has logic to send/queue/flush packets but a
> qemu_deliver_packet() call is hardcoded.
>
> Maybe you can extend qemu_new_net_queue() like this:
>
> /* Returns:
> * >0 - success
> * 0 - queue packet for future redelivery
> * <0 - failure (discard packet)
> */
> typedef ssize_t NetQueueDeliverFunc(NetClientState *sender,
> unsigned flags,
> const struct iovec *iov,
> int iovcnt,
> void *opaque);
>
> NetQueue *qemu_new_net_queue(NetQueueDeliverFunc deliver,
> void *opaque);
>
> Now net/net.c:qemu_net_client_setup() needs to call:
>
> nc->incoming_queue = qemu_new_net_queue(qemu_deliver_packet_iov, nc);
>
> And the filter code can use qemu_net_queue_send_iov() and
> qemu_net_queue_flush(). The filter just needs to provide its own
> NetQueueDeliveryFunc.
>
> I haven't checked the details (e.g. non-iov delivery, etc) but the idea
> is to use the net/queue.c API instead of duplicating similar logic in
> the filter code.
Thanks very much for the suggestion, I've already implemented it and tested,
the code looks cleaner now.
The last issue is the QOM thing, do Markus and Andreas have more input
about that?
> .
>
--
Thanks,
Yang.
next prev parent reply other threads:[~2015-09-07 7:37 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-01 9:06 [Qemu-devel] [PATCH v9 00/10] Add a netfilter object and netbuffer filter Yang Hongyang
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 01/10] net: add a new object netfilter Yang Hongyang
2015-09-01 14:36 ` Stefan Hajnoczi
2015-09-02 1:39 ` Yang Hongyang
2015-09-02 12:58 ` Stefan Hajnoczi
2015-09-02 13:04 ` Daniel P. Berrange
2015-09-02 13:06 ` Stefan Hajnoczi
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 02/10] init/cleanup of netfilter object Yang Hongyang
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 03/10] netfilter: add netfilter_{add|del} commands Yang Hongyang
2015-09-01 14:37 ` Stefan Hajnoczi
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 04/10] netfilter: hook packets before net queue send Yang Hongyang
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 05/10] move out net queue structs define Yang Hongyang
2015-09-01 14:43 ` Stefan Hajnoczi
2015-09-02 1:49 ` Yang Hongyang
2015-09-02 13:02 ` Stefan Hajnoczi
2015-09-02 16:18 ` Yang Hongyang
2015-09-04 10:32 ` Stefan Hajnoczi
2015-09-07 7:37 ` Yang Hongyang [this message]
2015-09-07 9:06 ` Markus Armbruster
2015-09-07 9:21 ` Yang Hongyang
2015-09-07 9:11 ` Stefan Hajnoczi
2015-09-07 9:26 ` Yang Hongyang
2015-09-07 10:53 ` Yang Hongyang
2015-09-07 11:00 ` Daniel P. Berrange
2015-09-07 11:41 ` Yang Hongyang
2015-09-07 11:43 ` Daniel P. Berrange
2015-09-07 11:46 ` Yang Hongyang
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 06/10] netfilter: add an API to pass the packet to next filter Yang Hongyang
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 07/10] netfilter: print filter info associate with the netdev Yang Hongyang
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 08/10] net/queue: export qemu_net_queue_append_iov Yang Hongyang
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 09/10] netfilter: add a netbuffer filter Yang Hongyang
2015-09-01 9:06 ` [Qemu-devel] [PATCH v9 10/10] tests: add test cases for netfilter object Yang Hongyang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55ED3EB0.1030902@cn.fujitsu.com \
--to=yanghy@cn.fujitsu.com \
--cc=afaerber@suse.de \
--cc=armbru@redhat.com \
--cc=jasowang@redhat.com \
--cc=lizhijian@cn.fujitsu.com \
--cc=mrhines@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
--cc=zhang.zhanghailiang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).