All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zhijian <lizhijian@cn.fujitsu.com>
To: Yang Hongyang <hongyang.yang@easystack.cn>,
	Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Cc: zhanghailiang <zhang.zhanghailiang@huawei.com>,
	Gui jianfeng <guijianfeng@cn.fujitsu.com>,
	Jason Wang <jasowang@redhat.com>,
	"eddie.dong" <eddie.dong@intel.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] net/filter: rename qemu_netfilter_pass_to_next() to qemu_netfilter_iterate()
Date: Wed, 9 Mar 2016 16:02:38 +0800	[thread overview]
Message-ID: <56DFD89E.4040508@cn.fujitsu.com> (raw)
In-Reply-To: <CAN+wFu+P3J89SzxV-=nS+hziXqQ4DFi7mWpFkDNR_i47MXNhgQ@mail.gmail.com>



On 03/08/2016 04:04 PM, Yang Hongyang wrote:
> Hi Chen,
>
>    What's the motivation that you want to change this name? The function actually is not
> intent to iterate every filter.

Right. but this function isn't always pass packet to *a* next filter.
Actually, it iterates filters until the packet is stolen(filter receiving handler return non-zero).
In other words, packet could be handled by several filters at this function.

BTW, it's difficult to determine what name is better.

Thanks
Li Zhijian

>
> On Mon, Mar 7, 2016 at 6:03 PM, Zhang Chen <zhangchen.fnst@cn.fujitsu.com <mailto:zhangchen.fnst@cn.fujitsu.com>> wrote:
>
>     This API will iterate the filters attached to netdev
>
>     Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com <mailto:zhangchen.fnst@cn.fujitsu.com>>
>     Signed-off-by: Wen Congyang <wency@cn.fujitsu.com <mailto:wency@cn.fujitsu.com>>
>     Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com <mailto:lizhijian@cn.fujitsu.com>>
>     ---
>       include/net/filter.h | 10 +++++-----
>       net/filter-buffer.c  |  2 +-
>       net/filter.c         | 12 ++++++------
>       3 files changed, 12 insertions(+), 12 deletions(-)
>
>     diff --git a/include/net/filter.h b/include/net/filter.h
>     index 5639976..ab00d54 100644
>     --- a/include/net/filter.h
>     +++ b/include/net/filter.h
>     @@ -67,10 +67,10 @@ ssize_t qemu_netfilter_receive(NetFilterState *nf,
>                                      NetPacketSent *sent_cb);
>
>       /* pass the packet to the next filter */
>     -ssize_t qemu_netfilter_pass_to_next(NetClientState *sender,
>     -                                    unsigned flags,
>     -                                    const struct iovec *iov,
>     -                                    int iovcnt,
>     -                                    void *opaque);
>     +ssize_t qemu_netfilter_iterate(NetClientState *sender,
>     +                               unsigned flags,
>     +                               const struct iovec *iov,
>     +                               int iovcnt,
>     +                               void *opaque);
>
>       #endif /* QEMU_NET_FILTER_H */
>     diff --git a/net/filter-buffer.c b/net/filter-buffer.c
>     index 12ad2e3..a74f8c8 100644
>     --- a/net/filter-buffer.c
>     +++ b/net/filter-buffer.c
>     @@ -114,7 +114,7 @@ static void filter_buffer_setup(NetFilterState *nf, Error **errp)
>               return;
>           }
>
>     -    s->incoming_queue = qemu_new_net_queue(qemu_netfilter_pass_to_next, nf);
>     +    s->incoming_queue = qemu_new_net_queue(qemu_netfilter_iterate, nf);
>           if (s->interval) {
>               timer_init_us(&s->release_timer, QEMU_CLOCK_VIRTUAL,
>                             filter_buffer_release_timer, nf);
>     diff --git a/net/filter.c b/net/filter.c
>     index d2a514e..7c504c3 100644
>     --- a/net/filter.c
>     +++ b/net/filter.c
>     @@ -50,11 +50,11 @@ static NetFilterState *netfilter_next(NetFilterState *nf,
>           return next;
>       }
>
>     -ssize_t qemu_netfilter_pass_to_next(NetClientState *sender,
>     -                                    unsigned flags,
>     -                                    const struct iovec *iov,
>     -                                    int iovcnt,
>     -                                    void *opaque)
>     +ssize_t qemu_netfilter_iterate(NetClientState *sender,
>     +                               unsigned flags,
>     +                               const struct iovec *iov,
>     +                               int iovcnt,
>     +                               void *opaque)
>       {
>           int ret = 0;
>           int direction;
>     @@ -80,7 +80,7 @@ ssize_t qemu_netfilter_pass_to_next(NetClientState *sender,
>           next = netfilter_next(nf, direction);
>           while (next) {
>               /*
>     -         * if qemu_netfilter_pass_to_next been called, means that
>     +         * if qemu_netfilter_iterate been called, means that
>                * the packet has been hold by filter and has already retured size
>                * to the sender, so sent_cb shouldn't be called later, just
>                * pass NULL to next.
>     --
>     1.9.1
>
>
>
>
>
>
>
> --
> Thanks,
> Yang

  reply	other threads:[~2016-03-09  8:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-07 10:03 [Qemu-devel] [PATCH] net/filter: rename qemu_netfilter_pass_to_next() to qemu_netfilter_iterate() Zhang Chen
2016-03-08  8:04 ` Yang Hongyang
2016-03-09  8:02   ` Li Zhijian [this message]
2016-03-15  3:08     ` Jason Wang
2016-03-15  3:33       ` Li Zhijian
2016-03-15  3:42         ` Jason Wang

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=56DFD89E.4040508@cn.fujitsu.com \
    --to=lizhijian@cn.fujitsu.com \
    --cc=dgilbert@redhat.com \
    --cc=eddie.dong@intel.com \
    --cc=guijianfeng@cn.fujitsu.com \
    --cc=hongyang.yang@easystack.cn \
    --cc=jasowang@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=zhang.zhanghailiang@huawei.com \
    --cc=zhangchen.fnst@cn.fujitsu.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.