[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object
From: |
Jason Wang |
Subject: |
Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object |
Date: |
Thu, 06 Aug 2015 15:29:01 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 |
On 08/06/2015 03:22 PM, Yang Hongyang wrote:
> 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 <address@hidden>
>>> ---
>>> 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.
But this is not implemented in this series. And I don't get why you need
a such command. Management should keep track of this.
>
>>
>> [...]
>> .
>>
>
- [Qemu-devel] [PATCH v4 00/11] For QEMU 2.5: Add a netfilter object and netbuffer filter, Yang Hongyang, 2015/08/04
- [Qemu-devel] [PATCH v4 01/11] net: add a new object netfilter, Yang Hongyang, 2015/08/04
- [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object, Yang Hongyang, 2015/08/04
- Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object, Jason Wang, 2015/08/06
- Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object, Yang Hongyang, 2015/08/06
- Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object,
Jason Wang <=
- Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object, Yang Hongyang, 2015/08/06
- Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object, Jason Wang, 2015/08/06
- Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object, Yang Hongyang, 2015/08/06
- Re: [Qemu-devel] [PATCH v4 02/11] init/cleanup of netfilter object, Jason Wang, 2015/08/06
[Qemu-devel] [PATCH v4 06/11] netfilter: add an API to pass the packet to next filter, Yang Hongyang, 2015/08/04
[Qemu-devel] [PATCH v4 05/11] netfilter: hook packets before net queue send, Yang Hongyang, 2015/08/04