[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define |
Date: |
Mon, 07 Sep 2015 11:06:14 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Yang Hongyang <address@hidden> writes:
> 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?
This series is in my review queue. I'm struggling with clearing my
queue, and apologize for the delay.
- [Qemu-devel] [PATCH v9 03/10] netfilter: add netfilter_{add|del} commands, (continued)
- [Qemu-devel] [PATCH v9 03/10] netfilter: add netfilter_{add|del} commands, Yang Hongyang, 2015/09/01
- [Qemu-devel] [PATCH v9 09/10] netfilter: add a netbuffer filter, Yang Hongyang, 2015/09/01
- [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/01
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Stefan Hajnoczi, 2015/09/01
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/01
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Stefan Hajnoczi, 2015/09/02
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/02
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Stefan Hajnoczi, 2015/09/04
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/07
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/07
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Stefan Hajnoczi, 2015/09/07
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/07
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/07
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Daniel P. Berrange, 2015/09/07
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/07
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Daniel P. Berrange, 2015/09/07
- Re: [Qemu-devel] [PATCH v9 05/10] move out net queue structs define, Yang Hongyang, 2015/09/07
[Qemu-devel] [PATCH v9 07/10] netfilter: print filter info associate with the netdev, Yang Hongyang, 2015/09/01
[Qemu-devel] [PATCH v9 01/10] net: add a new object netfilter, Yang Hongyang, 2015/09/01