From: Yang Hongyang <yanghy@cn.fujitsu.com>
To: Jason Wang <jasowang@redhat.com>, qemu-devel@nongnu.org
Cc: thuth@redhat.com, mrhines@linux.vnet.ibm.com,
zhang.zhanghailiang@huawei.com, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 10/12] netbuffer: add a public api filter_buffer_release_all
Date: Thu, 30 Jul 2015 17:06:03 +0800 [thread overview]
Message-ID: <55B9E8FB.3080000@cn.fujitsu.com> (raw)
In-Reply-To: <55B9E573.1050209@redhat.com>
On 07/30/2015 04:50 PM, Jason Wang wrote:
>
>
> On 07/30/2015 01:50 PM, Yang Hongyang wrote:
>> On 07/30/2015 01:25 PM, Jason Wang wrote:
>>>
>>>
>>> On 07/29/2015 06:51 PM, Yang Hongyang wrote:
>>>> add a public api filter_buffer_release_all to release all
>>>> buffered packets.
>>>> also introduce qemu_find_netfilters_by_model to find all buffer
>>>> filters.
>>>>
>>>> Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
>>>> ---
>>>> include/net/filter.h | 5 +++++
>>>> net/filter-buffer.c | 41 +++++++++++++++++++++++++++++++++++++++++
>>>> net/filter.c | 18 ++++++++++++++++++
>>>> 3 files changed, 64 insertions(+)
>>>>
>>>> diff --git a/include/net/filter.h b/include/net/filter.h
>>>> index 5292563..798b5b2 100644
>>>> --- a/include/net/filter.h
>>>> +++ b/include/net/filter.h
>>>> @@ -50,5 +50,10 @@ NetFilterState *qemu_new_net_filter(NetFilterInfo
>>>> *info,
>>>> const char *name);
>>>> void netfilter_add(QemuOpts *opts, Error **errp);
>>>> void qmp_netfilter_add(QDict *qdict, QObject **ret, Error **errp);
>>>> +int qemu_find_netfilters_by_model(const char *model, NetFilterState
>>>> **nfs,
>>>> + int max);
>>>> +
>>>> +/* netbuffer filter */
>>>> +void filter_buffer_release_all(void);
>>>>
>>>> #endif /* QEMU_NET_FILTER_H */
>>>> diff --git a/net/filter-buffer.c b/net/filter-buffer.c
>>>> index 628e66f..8bac73b 100644
>>>> --- a/net/filter-buffer.c
>>>> +++ b/net/filter-buffer.c
>>>> @@ -11,12 +11,14 @@
>>>> #include "filters.h"
>>>> #include "qemu-common.h"
>>>> #include "qemu/error-report.h"
>>>> +#include "qemu/main-loop.h"
>>>>
>>>> typedef struct FILTERBUFFERState {
>>>> NetFilterState nf;
>>>> NetClientState dummy; /* used to send buffered packets */
>>>> NetQueue *incoming_queue;
>>>> NetQueue *inflight_queue;
>>>> + QEMUBH *flush_bh;
>>>
>>> bh should be stopped and restarted during vm stop and continue.
>>
>> Sorry, could you explain more about this? do you mean to check
>> the vm state before bh_schedule?
>
> Rethink about this. Looks safe since qemu_can_send_packet() check vmstate.
>
>> how to stop&restart a bh? bh_delete bh_new bh_schedule?
>
> qemu_bh_cancel() and qemu_bh_schedule().
Got it, Thank you!
>
> .
>
--
Thanks,
Yang.
next prev parent reply other threads:[~2015-07-30 9:06 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-29 10:51 [Qemu-devel] [PATCH 00/12] For QEMU 2.5: Add a netfilter object and netbuffer filter Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 01/12] net: add a new object netfilter Yang Hongyang
2015-07-29 13:53 ` Thomas Huth
2015-07-29 14:05 ` Yang Hongyang
2015-07-29 14:20 ` Thomas Huth
2015-07-29 14:32 ` Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 02/12] init/cleanup of netfilter object Yang Hongyang
2015-07-29 13:33 ` Thomas Huth
2015-07-29 13:50 ` Yang Hongyang
2015-07-29 13:58 ` Thomas Huth
2015-07-29 14:08 ` Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 03/12] netfilter: add netfilter_{add|del} commands Yang Hongyang
2015-07-29 14:15 ` Thomas Huth
2015-07-29 14:28 ` Yang Hongyang
2015-07-29 14:30 ` Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 04/12] net: add/remove filters from network backend Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 05/12] netfilter: hook packets before receive Yang Hongyang
2015-07-30 4:51 ` Jason Wang
2015-07-30 7:22 ` Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 06/12] netfilter: provide a compat receive_iov Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 07/12] net/queue: export qemu_net_queue_append Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 08/12] move out net queue structs define Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 09/12] netfilter: add a netbuffer filter Yang Hongyang
2015-07-30 1:45 ` Li Zhijian
2015-07-30 1:53 ` Yang Hongyang
2015-07-30 5:13 ` Jason Wang
2015-07-30 6:47 ` Yang Hongyang
2015-07-30 8:40 ` Jason Wang
2015-07-30 9:04 ` Yang Hongyang
2015-07-30 9:33 ` Jason Wang
2015-07-30 9:49 ` Yang Hongyang
2015-07-30 10:14 ` Jason Wang
2015-07-30 10:28 ` Yang Hongyang
2015-07-30 14:16 ` Thomas Huth
2015-07-30 15:00 ` Yang Hongyang
2015-07-30 13:46 ` Yang Hongyang
2015-07-30 7:00 ` Yang Hongyang
2015-07-30 8:52 ` Jason Wang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 10/12] netbuffer: add a public api filter_buffer_release_all Yang Hongyang
2015-07-30 5:25 ` Jason Wang
2015-07-30 5:50 ` Yang Hongyang
2015-07-30 8:42 ` Jason Wang
2015-07-30 8:53 ` Yang Hongyang
2015-07-30 8:50 ` Jason Wang
2015-07-30 9:06 ` Yang Hongyang [this message]
2015-07-29 10:51 ` [Qemu-devel] [PATCH 11/12] filter/buffer: add an interval option to buffer filter Yang Hongyang
2015-07-30 5:27 ` Jason Wang
2015-07-30 5:37 ` Yang Hongyang
2015-07-30 8:53 ` Jason Wang
2015-07-30 9:12 ` Yang Hongyang
2015-07-29 10:51 ` [Qemu-devel] [PATCH 12/12] filter/buffer: update command description and help Yang Hongyang
2015-07-29 12:56 ` [Qemu-devel] [PATCH 00/12] For QEMU 2.5: Add a netfilter object and netbuffer filter Thomas Huth
2015-07-29 13:39 ` Yang Hongyang
2015-07-29 13:48 ` Thomas Huth
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=55B9E8FB.3080000@cn.fujitsu.com \
--to=yanghy@cn.fujitsu.com \
--cc=jasowang@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.