[ovs-dev] [PATCH] tests: fix PTAP system test to check only OF stats
Zoltán Balogh
zoltan.balogh at ericsson.com
Wed Jul 12 07:28:23 UTC 2017
Thank you for pointing this out! I've sent v2 to the list.
https://patchwork.ozlabs.org/patch/787037/
/Zoltan
> -----Original Message-----
> From: Darrell Ball [mailto:dball at vmware.com]
> Sent: Tuesday, July 11, 2017 6:11 PM
> To: Zoltán Balogh <zoltan.balogh at ericsson.com>; 'dev at openvswitch.org' <dev at openvswitch.org>
> Subject: Re: [ovs-dev] [PATCH] tests: fix PTAP system test to check only OF stats
>
> signoff is missing
> maybe suggested by Jan ?
>
> On 7/11/17, 9:07 AM, "ovs-dev-bounces at openvswitch.org on behalf of Zoltán Balogh" <ovs-dev-bounces at openvswitch.org
> on behalf of zoltan.balogh at ericsson.com> wrote:
>
>
> It turned out, checking datapath flow statistics during system-userspace
> test is not reliable. Unwanted packets can be injected depending on
> system configuration. As a workaround, this commit removes checking
> statistics of datapath flows and does check OpenFlow statistics of the
> integrator bridges. Datapath flows can be checked in normal PTAP unit
> tests by running 'make check'.
>
> Reported-by: Darrell Ball <dball at vmware.com>
> ---
> tests/system-userspace-packet-type-aware.at | 127 +++++++++++++++-------------
> 1 file changed, 67 insertions(+), 60 deletions(-)
>
> diff --git a/tests/system-userspace-packet-type-aware.at b/tests/system-userspace-packet-type-aware.at
> index 65d81ce8e..24a7698ab 100644
> --- a/tests/system-userspace-packet-type-aware.at
> +++ b/tests/system-userspace-packet-type-aware.at
> @@ -33,9 +33,9 @@ AT_SETUP([ptap - triangle bridge setup with L2 and L3 GRE tunnels])
> # 1030 br-in1 gre-13 l2 br-in3 3010 (l2)
> # 2010 br-in2 gre-21 ptap br-in1 1020 (l2), 1021 (l3)
> # 2030 br-in2 gre-23 ptap br-in3 3020 (l2), 3021 (l3)
> -# 3010 br-in1 gre-31 l2 br-in1 1030 (l2)
> -# 3020 br-in1 gre-32 l2 br-in2 2010 (ptap)
> -# 3021 br-in1 gre-32_l3 l3 same
> +# 3010 br-in3 gre-31 l2 br-in1 1030 (l2)
> +# 3020 br-in3 gre-32 l2 br-in2 2010 (ptap)
> +# 3021 br-in3 gre-32_l3 l3 same
>
>
> AT_SKIP_IF([test $HAVE_NC = no])
> @@ -176,15 +176,15 @@ AT_CHECK([
>
> ### Flows in br-p<x>to twist TEP IP addresses in tunnel IP headers
> AT_CHECK([
> - ovs-ofctl add-flow br-p1 in_port:LOCAL,actions=2
> + ovs-ofctl add-flow br-p1 in_port:LOCAL,ip,actions=2
> ovs-ofctl add-flow br-p1 in_port:2,ip,nw_dst:20.0.0.1,actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.2,LOCAL
> ovs-ofctl add-flow br-p1 in_port:2,ip,nw_dst:30.0.0.1,actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.3,LOCAL
>
> - ovs-ofctl add-flow br-p2 in_port:LOCAL,actions=2
> + ovs-ofctl add-flow br-p2 in_port:LOCAL,ip,actions=2
> ovs-ofctl add-flow br-p2 in_port:2,ip,nw_dst:10.0.0.2,actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.1,LOCAL
> ovs-ofctl add-flow br-p2 in_port:2,ip,nw_dst:30.0.0.2,actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.3,LOCAL
>
> - ovs-ofctl add-flow br-p3 in_port:LOCAL,actions=2
> + ovs-ofctl add-flow br-p3 in_port:LOCAL,ip,actions=2
> ovs-ofctl add-flow br-p3 in_port:2,ip,nw_dst:10.0.0.3,actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.1,LOCAL
> ovs-ofctl add-flow br-p3 in_port:2,ip,nw_dst:20.0.0.3,actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.2,LOCAL
> ], [0])
> @@ -204,15 +204,15 @@ AT_CHECK([
> ovs-ofctl dump-flows br-p2 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
> ovs-ofctl dump-flows br-p3 | ofctl_strip | strip_n_packets | strip_n_bytes | sort | grep actions
> ], [0], [dnl
> - in_port=LOCAL actions=output:2
> ip,in_port=2,nw_dst=20.0.0.1 actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.2,LOCAL
> ip,in_port=2,nw_dst=30.0.0.1 actions=mod_nw_dst:10.0.0.1,mod_nw_src:10.0.0.3,LOCAL
> - in_port=LOCAL actions=output:2
> + ip,in_port=LOCAL actions=output:2
> ip,in_port=2,nw_dst=10.0.0.2 actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.1,LOCAL
> ip,in_port=2,nw_dst=30.0.0.2 actions=mod_nw_dst:20.0.0.2,mod_nw_src:20.0.0.3,LOCAL
> - in_port=LOCAL actions=output:2
> + ip,in_port=LOCAL actions=output:2
> ip,in_port=2,nw_dst=10.0.0.3 actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.1,LOCAL
> ip,in_port=2,nw_dst=20.0.0.3 actions=mod_nw_dst:30.0.0.3,mod_nw_src:30.0.0.2,LOCAL
> + ip,in_port=LOCAL actions=output:2
> ])
>
> ### Setup test ports for traffic injection
> @@ -331,9 +331,6 @@ AT_CHECK([
> ])
>
>
> -# Clear up megaflow cache
> -sleep 10
> -
> # Ping between N1 and N3, via the L2 GRE tunnel between br-in1 and br-in3
> NS_CHECK_EXEC([ns1], [ping -q -c 3 -i 0.3 -w 2 $N3_IP | FORMAT_PING], [0], [dnl
> 3 packets transmitted, 3 received, 0% packet loss, time 0ms
> @@ -342,26 +339,25 @@ NS_CHECK_EXEC([ns1], [ping -q -c 3 -i 0.3 -w 2 $N3_IP | FORMAT_PING], [0], [dnl
> sleep 1
>
> AT_CHECK([
> - ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp |sort
> -], [0], [flow-dump from non-dpdk interfaces:
> -
> recirc_id(0),in_port(10),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:03),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10
> .0.0.3,proto=47,frag=no), packets:2, bytes:272, used:0.0s, actions:set(ipv4(src=30.0.0.1,dst=30.0.0.3)),tnl_pop(14)
> -recirc_id(0),in_port(11),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:03),eth_type(0x0800),ipv4(frag=no),
> packets:2, bytes:272, used:0.0s, actions:13
> -recirc_id(0),in_port(12),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(frag=no),
> packets:2, bytes:244, used:0.0s, actions:11
> -recirc_id(0),in_port(13),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(frag=no),
> packets:2, bytes:244, used:0.0s, actions:12
> -recirc_id(0),in_port(15),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.30,tos=0/0x3,frag=no),
> packets:2, bytes:196, used:0.0s,
> actions:tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:03,src=aa:55:00:00:00:01,dl_type=0x0800),
> ipv4(src=10.0.0.1,dst=10.0.0.3,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(5))
> -recirc_id(0),in_port(17),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no),
> packets:2, bytes:196, used:0.0s,
> actions:pop_eth,tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:02,src=aa:55:00:00:00:03,dl_type=
> 0x0800),ipv4(src=30.0.0.3,dst=30.0.0.2,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(7))
> -recirc_id(0),in_port(5),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:272, used:0.0s,
> actions:8
> -recirc_id(0),in_port(6),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:244, used:0.0s,
> actions:9
> -recirc_id(0),in_port(7),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:244, used:0.0s,
> actions:10
> -
> recirc_id(0),in_port(8),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(src=20.0.0.2,dst=20.
> 0.0.1,proto=47,frag=no), packets:2, bytes:244, used:0.0s, actions:set(ipv4(src=10.0.0.2,dst=10.0.0.1)),tnl_pop(14)
> -
> recirc_id(0),in_port(9),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(src=30.0.0.3,dst=30.
> 0.0.2,proto=47,frag=no), packets:2, bytes:244, used:0.0s, actions:set(ipv4(src=20.0.0.3,dst=20.0.0.2)),tnl_pop(14)
> -tunnel(src=10.0.0.2,dst=10.0.0.1,flags(-df-
> csum)),recirc_id(0),in_port(14),packet_type(ns=1,id=0x800),ipv4(dst=192.168.10.10,frag=no), packets:2, bytes:168,
> used:0.0s, actions:push_eth(src=00:00:00:00:00:00,dst=aa:55:aa:55:00:01),15
> -tunnel(src=20.0.0.3,dst=20.0.0.2,flags(-df-
> csum)),recirc_id(0),in_port(14),packet_type(ns=1,id=0x800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no), packets:2,
> bytes:168, used:0.0s,
> actions:tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:01,src=aa:55:00:00:00:02,dl_type=0x0800),
> ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(6))
> -tunnel(src=30.0.0.1,dst=30.0.0.3,flags(-df-
> csum)),recirc_id(0),in_port(14),packet_type(ns=0,id=0),eth(dst=aa:55:aa:55:00:03),eth_type(0x0800),ipv4(dst=192.168.
> 10.30,frag=no), packets:2, bytes:196, used:0.0s, actions:17
> + ovs-ofctl dump-flows br-in1 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=3, n_bytes=252, ip,nw_dst=192.168.10.10 actions=mod_dl_dst:aa:55:aa:55:00:01,output:10
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.30 actions=output:1030
> +])
> +
> +AT_CHECK([
> + ovs-ofctl dump-flows br-in2 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=3, n_bytes=252, packet_type=(1,0x800),nw_dst=192.168.10.10 actions=output:2010
> +])
> +
> +AT_CHECK([
> + ovs-ofctl dump-flows br-in3 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.10 actions=output:3021
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.30 actions=mod_dl_dst:aa:55:aa:55:00:03,output:30
> ])
>
> -# Clear up megaflow cache
> -sleep 10
>
> # Ping between N1 and N2, via the L2 GRE tunnel between br-in1 and br-in2
> NS_CHECK_EXEC([ns1], [ping -q -c 3 -i 0.3 -w 2 $N2_IP | FORMAT_PING], [0], [dnl
> @@ -371,22 +367,28 @@ NS_CHECK_EXEC([ns1], [ping -q -c 3 -i 0.3 -w 2 $N2_IP | FORMAT_PING], [0], [dnl
> sleep 1
>
> AT_CHECK([
> - ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp | sort
> -], [0], [flow-dump from non-dpdk interfaces:
> -recirc_id(0),in_port(11),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(frag=no),
> packets:2, bytes:272, used:0.0s, actions:12
> -recirc_id(0),in_port(12),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(frag=no),
> packets:2, bytes:272, used:0.0s, actions:11
> -recirc_id(0),in_port(15),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.20,tos=0/0x3,frag=no),
> packets:2, bytes:196, used:0.0s,
> actions:tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:02,src=aa:55:00:00:00:01,dl_type=0x0800),
> ipv4(src=10.0.0.1,dst=10.0.0.2,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(5))
> -recirc_id(0),in_port(16),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no),
> packets:2, bytes:196, used:0.0s,
> actions:tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:01,src=aa:55:00:00:00:02,dl_type=0x0800),
> ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(6))
> -recirc_id(0),in_port(5),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:272, used:0.0s,
> actions:8
> -recirc_id(0),in_port(6),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:272, used:0.0s,
> actions:9
> -
> recirc_id(0),in_port(8),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(src=20.0.0.2,dst=20.
> 0.0.1,proto=47,frag=no), packets:2, bytes:272, used:0.0s, actions:set(ipv4(src=10.0.0.2,dst=10.0.0.1)),tnl_pop(14)
> -
> recirc_id(0),in_port(9),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.
> 0.0.2,proto=47,frag=no), packets:2, bytes:272, used:0.0s, actions:set(ipv4(src=20.0.0.1,dst=20.0.0.2)),tnl_pop(14)
> -tunnel(src=10.0.0.2,dst=10.0.0.1,flags(-df-
> csum)),recirc_id(0),in_port(14),packet_type(ns=0,id=0),eth(dst=aa:55:aa:55:00:01),eth_type(0x0800),ipv4(dst=192.168.
> 10.10,frag=no), packets:2, bytes:196, used:0.0s, actions:15
> -tunnel(src=20.0.0.1,dst=20.0.0.2,flags(-df-
> csum)),recirc_id(0),in_port(14),packet_type(ns=0,id=0),eth(dst=aa:55:aa:55:00:02),eth_type(0x0800),ipv4(dst=192.168.
> 10.20,frag=no), packets:2, bytes:196, used:0.0s, actions:16
> + ovs-ofctl dump-flows br-in1 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.20 actions=output:1020
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.30 actions=output:1030
> + n_packets=6, n_bytes=546, ip,nw_dst=192.168.10.10 actions=mod_dl_dst:aa:55:aa:55:00:01,output:10
> +])
> +
> +AT_CHECK([
> + ovs-ofctl dump-flows br-in2 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=3, n_bytes=252, packet_type=(1,0x800),nw_dst=192.168.10.10 actions=output:2010
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.10 actions=output:2010
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.20 actions=mod_dl_dst:aa:55:aa:55:00:02,output:20
> +])
> +
> +AT_CHECK([
> + ovs-ofctl dump-flows br-in3 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.10 actions=output:3021
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.30 actions=mod_dl_dst:aa:55:aa:55:00:03,output:30
> ])
>
> -# Clear up megaflow cache
> -sleep 10
>
> # Ping between N3 and N2, via the L3 GRE tunnel between br-in3 and br-in2
> NS_CHECK_EXEC([ns3], [ping -q -c 3 -i 0.3 -w 2 $N1_IP | FORMAT_PING], [0], [dnl
> @@ -396,23 +398,28 @@ NS_CHECK_EXEC([ns3], [ping -q -c 3 -i 0.3 -w 2 $N1_IP | FORMAT_PING], [0], [dnl
> sleep 1
>
> AT_CHECK([
> - ovs-appctl dpctl/dump-flows | strip_used | grep -v ipv6 | grep -v arp | sort
> -], [0], [flow-dump from non-dpdk interfaces:
> -
> recirc_id(0),in_port(10),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:03),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10
> .0.0.3,proto=47,frag=no), packets:2, bytes:272, used:0.0s, actions:set(ipv4(src=30.0.0.1,dst=30.0.0.3)),tnl_pop(14)
> -recirc_id(0),in_port(11),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:03),eth_type(0x0800),ipv4(frag=no),
> packets:2, bytes:272, used:0.0s, actions:13
> -recirc_id(0),in_port(12),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(frag=no),
> packets:2, bytes:244, used:0.0s, actions:11
> -recirc_id(0),in_port(13),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(frag=no),
> packets:2, bytes:244, used:0.0s, actions:12
> -recirc_id(0),in_port(15),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.30,tos=0/0x3,frag=no),
> packets:2, bytes:196, used:0.0s,
> actions:tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:03,src=aa:55:00:00:00:01,dl_type=0x0800),
> ipv4(src=10.0.0.1,dst=10.0.0.3,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x6558))),out_port(5))
> -recirc_id(0),in_port(17),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no),
> packets:2, bytes:196, used:0.0s,
> actions:pop_eth,tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:02,src=aa:55:00:00:00:03,dl_type=
> 0x0800),ipv4(src=30.0.0.3,dst=30.0.0.2,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(7))
> -recirc_id(0),in_port(5),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:272, used:0.0s,
> actions:8
> -recirc_id(0),in_port(6),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:244, used:0.0s,
> actions:9
> -recirc_id(0),in_port(7),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:244, used:0.0s,
> actions:10
> -
> recirc_id(0),in_port(8),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:01),eth_type(0x0800),ipv4(src=20.0.0.2,dst=20.
> 0.0.1,proto=47,frag=no), packets:2, bytes:244, used:0.0s, actions:set(ipv4(src=10.0.0.2,dst=10.0.0.1)),tnl_pop(14)
> -
> recirc_id(0),in_port(9),packet_type(ns=0,id=0),eth(dst=aa:55:00:00:00:02),eth_type(0x0800),ipv4(src=30.0.0.3,dst=30.
> 0.0.2,proto=47,frag=no), packets:2, bytes:244, used:0.0s, actions:set(ipv4(src=20.0.0.3,dst=20.0.0.2)),tnl_pop(14)
> -tunnel(src=10.0.0.2,dst=10.0.0.1,flags(-df-
> csum)),recirc_id(0),in_port(14),packet_type(ns=1,id=0x800),ipv4(dst=192.168.10.10,frag=no), packets:2, bytes:168,
> used:0.0s, actions:push_eth(src=00:00:00:00:00:00,dst=aa:55:aa:55:00:01),15
> -tunnel(src=20.0.0.3,dst=20.0.0.2,flags(-df-
> csum)),recirc_id(0),in_port(14),packet_type(ns=1,id=0x800),ipv4(dst=192.168.10.10,tos=0/0x3,frag=no), packets:2,
> bytes:168, used:0.0s,
> actions:tnl_push(tnl_port(14),header(size=38,type=3,eth(dst=aa:55:00:00:00:01,src=aa:55:00:00:00:02,dl_type=0x0800),
> ipv4(src=20.0.0.2,dst=20.0.0.1,proto=47,tos=0,ttl=64,frag=0x4000),gre((flags=0x0,proto=0x800))),out_port(6))
> -tunnel(src=30.0.0.1,dst=30.0.0.3,flags(-df-
> csum)),recirc_id(0),in_port(14),packet_type(ns=0,id=0),eth(dst=aa:55:aa:55:00:03),eth_type(0x0800),ipv4(dst=192.168.
> 10.30,frag=no), packets:2, bytes:196, used:0.0s, actions:17
> + ovs-ofctl dump-flows br-in1 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.20 actions=output:1020
> + n_packets=6, n_bytes=588, ip,nw_dst=192.168.10.30 actions=output:1030
> + n_packets=9, n_bytes=798, ip,nw_dst=192.168.10.10 actions=mod_dl_dst:aa:55:aa:55:00:01,output:10
> +])
> +
> +AT_CHECK([
> + ovs-ofctl dump-flows br-in2 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.10 actions=output:2010
> + n_packets=3, n_bytes=294, ip,nw_dst=192.168.10.20 actions=mod_dl_dst:aa:55:aa:55:00:02,output:20
> + n_packets=6, n_bytes=504, packet_type=(1,0x800),nw_dst=192.168.10.10 actions=output:2010
> ])
>
> +AT_CHECK([
> + ovs-ofctl dump-flows br-in3 | ofctl_strip | sort | grep n_packets
> +], [0], [dnl
> + n_packets=6, n_bytes=588, ip,nw_dst=192.168.10.10 actions=output:3021
> + n_packets=6, n_bytes=588, ip,nw_dst=192.168.10.30 actions=mod_dl_dst:aa:55:aa:55:00:03,output:30
> +])
> +
> +
> OVS_TRAFFIC_VSWITCHD_STOP
> AT_CLEANUP
> --
> 2.11.0
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-
> 2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-
> uZnsw&m=rTbSWTwaDBYYELFl6FB2s52tcNWGGqeZ1sYsU9GqZLg&s=BopxhsECO0PzUAGxXWamOxVHNKbhpe9EuppmpD5eMo4&e=
>
More information about the dev
mailing list