qemu/net
Li Zhijian 25aaadf063 net: always walk through filters in reverse if traffic is egress
Previously, if we attach more than one filters for a single netdev,
both ingress and egress traffic will go through net filters in same
order like:

ingress: netdev ->filter1 ->filter2 ->...filter[n] ->emulated device
egress: emulated device ->filter1 ->filter2 ->...filter[n] ->netdev.

This is against the natural feeling and will complicate filters
configuration since in some scenes, we hope filters handle the egress
traffic in a reverse order. For example, in colo-proxy (will be
implemented later), we have a redirector filter and a colo-rewriter
filter, we need the filter behave like:

ingress(->)/egress(<-): chardev<->redirector<->colo-rewriter<->emulated device

Since both buffer filter and dump do not require strict order of
filters, this patch switches to always let egress traffic walk through
net filters in reverse to simplify the possible filters configuration
in the future.

Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Yang Hongyang <hongyang.yang@easystack.cn>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2016-02-04 14:13:11 +08:00
..
checksum.c net: iovec checksum calculator 2013-03-25 11:13:10 +01:00
clients.h net: Permit incremental conversion of init functions to Error 2015-05-27 09:51:04 +01:00
dump.c trivial patches for 2016-01-11 2016-01-11 12:56:58 +00:00
eth.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
filter-buffer.c netfilter: add a netbuffer filter 2015-10-12 13:31:28 +08:00
filter.c net: always walk through filters in reverse if traffic is egress 2016-02-04 14:13:11 +08:00
hub.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
hub.h net: fix qemu_flush_queued_packets() in presence of a hub 2013-02-27 16:10:23 +01:00
l2tpv3.c l2tpv3: fix cookie decoding 2016-01-11 11:01:35 +08:00
Makefile.objs netfilter: add a netbuffer filter 2015-10-12 13:31:28 +08:00
net.c net: always walk through filters in reverse if traffic is egress 2016-02-04 14:13:11 +08:00
netmap.c net: netmap: use nm_open() to open netmap ports 2016-02-04 14:13:11 +08:00
queue.c net/queue: export qemu_net_queue_append_iov 2015-10-12 13:31:18 +08:00
slirp.c net/slirp: Tell the users when they are using deprecated options 2016-02-04 13:22:06 +08:00
socket.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
tap_int.h tap: add VNET_LE/VNET_BE operations 2015-06-17 17:12:54 +02:00
tap-aix.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-bsd.c tap-bsd: use user-specified tap device if it already exists 2015-11-06 15:42:38 +03:00
tap-haiku.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-linux.c trivial: remove trailing newline from error_report 2015-09-11 10:21:38 +03:00
tap-linux.h tap: add VNET_LE/VNET_BE operations 2015-06-17 17:12:54 +02:00
tap-solaris.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-win32.c tap-win32: disable broken async write path 2015-11-27 10:39:55 +08:00
tap.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
util.c net: reorganize headers 2012-12-19 08:31:29 +01:00
util.h net: move parse_macaddr() to net/util.[ch] 2009-12-03 09:41:34 -06:00
vde.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
vhost-user.c error: Strip trailing '\n' from error string arguments (again) 2016-01-13 15:16:18 +01:00