From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44052) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNFVf-0002Oa-LY for qemu-devel@nongnu.org; Thu, 06 Aug 2015 03:22:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZNFVc-0006Xc-7f for qemu-devel@nongnu.org; Thu, 06 Aug 2015 03:22:39 -0400 Received: from [59.151.112.132] (port=45671 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNFVZ-0006H0-GU for qemu-devel@nongnu.org; Thu, 06 Aug 2015 03:22:36 -0400 Message-ID: <55C30B1D.1070304@cn.fujitsu.com> Date: Thu, 6 Aug 2015 15:22:05 +0800 From: Yang Hongyang MIME-Version: 1.0 References: <1438677044-13030-1-git-send-email-yanghy@cn.fujitsu.com> <1438677044-13030-3-git-send-email-yanghy@cn.fujitsu.com> <55C307B5.8060201@redhat.com> In-Reply-To: <55C307B5.8060201@redhat.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jason Wang , qemu-devel@nongnu.org Cc: thuth@redhat.com, zhang.zhanghailiang@huawei.com, lizhijian@cn.fujitsu.com, eddie.dong@intel.com, mrhines@linux.vnet.ibm.com, stefanha@redhat.com On 08/06/2015 03:07 PM, Jason Wang wrote: > > > On 08/04/2015 04:30 PM, Yang Hongyang wrote: >> QTAILQ_ENTRY global_list but used by filter layer, so that we can >> manage all filters together. >> QTAILQ_ENTRY next used by netdev, filter belongs to the specific netdev is >> in this queue. >> This is mostly the same with init/cleanup of netdev object. >> >> Signed-off-by: Yang Hongyang >> --- >> include/net/filter.h | 39 +++++++++++++ >> include/net/net.h | 1 + >> include/qemu/typedefs.h | 1 + >> net/filter.c | 147 ++++++++++++++++++++++++++++++++++++++++++++++++ >> net/net.c | 1 + >> qapi-schema.json | 37 ++++++++++++ >> 6 files changed, 226 insertions(+) >> >> diff --git a/include/net/filter.h b/include/net/filter.h >> index 4242ded..9aafe08 100644 >> --- a/include/net/filter.h >> +++ b/include/net/filter.h >> @@ -9,7 +9,46 @@ >> #define QEMU_NET_FILTER_H >> >> #include "qemu-common.h" >> +#include "qemu/typedefs.h" >> + >> +/* the netfilter chain */ >> +enum { >> + NET_FILTER_IN, >> + NET_FILTER_OUT, >> + NET_FILTER_ALL, >> +}; >> + >> +typedef void (FilterCleanup) (NetFilterState *); >> +/* >> + * Return: >> + * 0: finished handling the packet, we should continue >> + * size: filter stolen this packet, we stop pass this packet further >> + */ >> +typedef ssize_t (FilterReceiveIOV)(NetFilterState *, NetClientState *sender, >> + unsigned flags, const struct iovec *, int); > > Please name all parameters. Ok, thanks. > >> + >> +typedef struct NetFilterInfo { >> + NetFilterOptionsKind type; >> + size_t size; >> + FilterCleanup *cleanup; >> + FilterReceiveIOV *receive_iov; >> +} NetFilterInfo; >> + >> +struct NetFilterState { >> + NetFilterInfo *info; >> + char *model; > > Looks like model is never used? It can be used when we want to find filters by model. For example, when we need to find all "buffer" filter, and release all buffered packets. > > [...] > . > -- Thanks, Yang.