Looks good to me.

--Justin


On Apr 26, 2012, at 3:55 PM, Ben Pfaff wrote:

> Before idle_age and hard_age were added, in the absence of timeouts there
> was a space between the statistics for a flow and the start of the flow
> match.  This restores that space.
> 
> Requested-by: Paul Ingram <[email protected]>
> Signed-off-by: Ben Pfaff <[email protected]>
> ---
> lib/ofp-print.c         |    8 +++---
> tests/learn.at          |   14 +++++-----
> tests/ofp-print.at      |   36 ++++++++++++++--------------
> tests/ofproto-macros.at |    4 +-
> tests/ofproto.at        |   60 +++++++++++++++++++++++-----------------------
> 5 files changed, 61 insertions(+), 61 deletions(-)
> 
> diff --git a/lib/ofp-print.c b/lib/ofp-print.c
> index 23dadd9..d0fd229 100644
> --- a/lib/ofp-print.c
> +++ b/lib/ofp-print.c
> @@ -1223,16 +1223,16 @@ ofp_print_flow_stats_reply(struct ds *string, const 
> struct ofp_header *oh)
>         ds_put_format(string, "n_packets=%"PRIu64", ", fs.packet_count);
>         ds_put_format(string, "n_bytes=%"PRIu64", ", fs.byte_count);
>         if (fs.idle_timeout != OFP_FLOW_PERMANENT) {
> -            ds_put_format(string, "idle_timeout=%"PRIu16",", 
> fs.idle_timeout);
> +            ds_put_format(string, "idle_timeout=%"PRIu16", ", 
> fs.idle_timeout);
>         }
>         if (fs.hard_timeout != OFP_FLOW_PERMANENT) {
> -            ds_put_format(string, "hard_timeout=%"PRIu16",", 
> fs.hard_timeout);
> +            ds_put_format(string, "hard_timeout=%"PRIu16", ", 
> fs.hard_timeout);
>         }
>         if (fs.idle_age >= 0) {
> -            ds_put_format(string, "idle_age=%d,", fs.idle_age);
> +            ds_put_format(string, "idle_age=%d, ", fs.idle_age);
>         }
>         if (fs.hard_age >= 0 && fs.hard_age != fs.duration_sec) {
> -            ds_put_format(string, "hard_age=%d,", fs.hard_age);
> +            ds_put_format(string, "hard_age=%d, ", fs.hard_age);
>         }
> 
>         cls_rule_format(&fs.rule, string);
> diff --git a/tests/learn.at b/tests/learn.at
> index 0d1406c..314baaf 100644
> --- a/tests/learn.at
> +++ b/tests/learn.at
> @@ -78,7 +78,7 @@ AT_CHECK([tail -1 stdout], [0], [Datapath actions: 2,0,1
> 
> # Check for the MAC learning entry.
> AT_CHECK([ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort], [0], [dnl
> - table=1, hard_timeout=60,vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 
> actions=output:3
> + table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 
> actions=output:3
>  table=1, priority=0 actions=FLOOD
> NXST_FLOW reply:
> ])
> @@ -91,8 +91,8 @@ AT_CHECK([tail -1 stdout], [0], [Datapath actions: 3
> 
> # Check for both MAC learning entries.
> AT_CHECK([ovs-ofctl dump-flows br0 table=1 | ofctl_strip |sort], [0], [dnl
> - table=1, hard_timeout=60,vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 
> actions=output:3
> - table=1, hard_timeout=60,vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:06 
> actions=output:1
> + table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 
> actions=output:3
> + table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:06 
> actions=output:1
>  table=1, priority=0 actions=FLOOD
> NXST_FLOW reply:
> ])
> @@ -104,8 +104,8 @@ AT_CHECK([tail -1 stdout], [0], [Datapath actions: 3,0,1
> 
> # Check that the MAC learning entry was updated.
> AT_CHECK([ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort], [0], [dnl
> - table=1, hard_timeout=60,vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 
> actions=output:2
> - table=1, hard_timeout=60,vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:06 
> actions=output:1
> + table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 
> actions=output:2
> + table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:06 
> actions=output:1
>  table=1, priority=0 actions=FLOOD
> NXST_FLOW reply:
> ])
> @@ -127,7 +127,7 @@ AT_CHECK([tail -1 stdout], [0], [Datapath actions: 2,0,1
> 
> # Check for the learning entry.
> AT_CHECK([ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort], [0], [dnl
> - table=1, 
> hard_timeout=60,tcp,nw_src=192.168.0.1,nw_dst=192.168.0.2,tp_src=80,tp_dst=40000
>  actions=drop
> + table=1, hard_timeout=60, 
> tcp,nw_src=192.168.0.1,nw_dst=192.168.0.2,tp_src=80,tp_dst=40000 actions=drop
> NXST_FLOW reply:
> ])
> OVS_VSWITCHD_STOP
> @@ -150,7 +150,7 @@ AT_CHECK([tail -1 stdout], [0], [Datapath actions: 2,0,1
> 
> # Check for the learning entry.
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - table=1, 
> hard_timeout=60,tcp6,ipv6_src=fec0::1,ipv6_dst=2001:db8:85a3::8a2e:370:7334,tp_src=80,tp_dst=40000
>  
> actions=load:0x13198a2e03707348->NXM_NX_IPV6_DST[[0..63]],load:0x20010db885a308d3->NXM_NX_IPV6_DST[[64..127]]
> + table=1, hard_timeout=60, 
> tcp6,ipv6_src=fec0::1,ipv6_dst=2001:db8:85a3::8a2e:370:7334,tp_src=80,tp_dst=40000
>  
> actions=load:0x13198a2e03707348->NXM_NX_IPV6_DST[[0..63]],load:0x20010db885a308d3->NXM_NX_IPV6_DST[[64..127]]
>  tcp6 
> actions=learn(table=1,hard_timeout=60,eth_type=0x86dd,nw_proto=6,NXM_NX_IPV6_SRC[[]]=NXM_NX_IPV6_DST[[]],ipv6_dst=2001:db8:85a3::8a2e:370:7334,NXM_OF_TCP_SRC[[]]=NXM_OF_TCP_DST[[]],NXM_OF_TCP_DST[[]]=NXM_OF_TCP_SRC[[]],load:0x20010db885a308d313198a2e03707348->NXM_NX_IPV6_DST[[]]),FLOOD
> NXST_FLOW reply:
> ])
> diff --git a/tests/ofp-print.at b/tests/ofp-print.at
> index 31d3293..feaea85 100644
> --- a/tests/ofp-print.at
> +++ b/tests/ofp-print.at
> @@ -545,10 +545,10 @@ c0 a8 00 02 00 08 00 00 00 00 00 09 05 b8 d8 00 \
> 00 00 00 00 00 00 00 00 \
> "], [0], [dnl
> OFPST_FLOW reply (xid=0x4):
> - cookie=0x0, duration=4.2s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0
>  actions=output:1
> - cookie=0x0, duration=8.9s, table=0, n_packets=13, n_bytes=1274, 
> idle_timeout=5,priority=65535,icmp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,icmp_type=0,icmp_code=0
>  actions=output:3
> - cookie=0x0, duration=4.28s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,arp_op=1,nw_tos=0,icmp_type=0,icmp_code=0
>  actions=output:3
> - cookie=0x0, duration=9.096s, table=0, n_packets=13, n_bytes=1274, 
> idle_timeout=5,icmp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,icmp_type=8,icmp_code=0
>  actions=output:1
> + cookie=0x0, duration=4.2s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0
>  actions=output:1
> + cookie=0x0, duration=8.9s, table=0, n_packets=13, n_bytes=1274, 
> idle_timeout=5, 
> priority=65535,icmp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,icmp_type=0,icmp_code=0
>  actions=output:3
> + cookie=0x0, duration=4.28s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,arp_op=1,nw_tos=0,icmp_type=0,icmp_code=0
>  actions=output:3
> + cookie=0x0, duration=9.096s, table=0, n_packets=13, n_bytes=1274, 
> idle_timeout=5, 
> icmp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,icmp_type=8,icmp_code=0
>  actions=output:1
>  cookie=0x0, duration=0s, table=2, n_packets=0, n_bytes=0, actions=drop
> ])
> AT_CLEANUP
> @@ -993,20 +993,20 @@ ff ff 00 18 00 00 23 20 00 07 00 1f 00 01 00 04 \
> 00 00 00 00 00 00 00 64 00 00 00 00 00 00 19 00 \
> "], [0],
> [[NXST_FLOW reply (xid=0x4):
> - cookie=0x0, duration=1.048s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2535,tp_dst=0
>  actions=output:1
> - cookie=0x0, duration=3.84s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,idle_age=2,priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2532,tp_dst=0
>  actions=output:1
> - cookie=0x0, duration=2.872s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,idle_age=4,priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2533
>  actions=output:3
> - cookie=0x0, duration=4.756s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,idle_age=0,priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2531,tp_dst=0
>  actions=output:1
> - cookie=0x0, duration=2.88s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,hard_timeout=10,idle_age=2,priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2533,tp_dst=0
>  actions=output:1
> - cookie=0x0, duration=5.672s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2530,tp_dst=0
>  actions=output:1
> - cookie=0x0, duration=1.04s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2535
>  actions=output:3
> - cookie=0x0, duration=1.952s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2534
>  actions=output:3
> - cookie=0x0, duration=4.668s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2531
>  actions=output:3
> - cookie=0x0, duration=3.752s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2532
>  actions=output:3
> - cookie=0x0, duration=0.172s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2536,tp_dst=0
>  actions=output:1
> - cookie=0x0, duration=5.624s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2530
>  actions=output:3
> - cookie=0x0, duration=0.08s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2536
>  actions=output:3
> - cookie=0x0, duration=1.96s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5,priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2534,tp_dst=0
>  actions=output:1
> + cookie=0x0, duration=1.048s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2535,tp_dst=0
>  actions=output:1
> + cookie=0x0, duration=3.84s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, idle_age=2, 
> priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2532,tp_dst=0
>  actions=output:1
> + cookie=0x0, duration=2.872s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, idle_age=4, 
> priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2533
>  actions=output:3
> + cookie=0x0, duration=4.756s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, idle_age=0, 
> priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2531,tp_dst=0
>  actions=output:1
> + cookie=0x0, duration=2.88s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, hard_timeout=10, idle_age=2, 
> priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2533,tp_dst=0
>  actions=output:1
> + cookie=0x0, duration=5.672s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2530,tp_dst=0
>  actions=output:1
> + cookie=0x0, duration=1.04s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2535
>  actions=output:3
> + cookie=0x0, duration=1.952s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2534
>  actions=output:3
> + cookie=0x0, duration=4.668s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2531
>  actions=output:3
> + cookie=0x0, duration=3.752s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2532
>  actions=output:3
> + cookie=0x0, duration=0.172s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2536,tp_dst=0
>  actions=output:1
> + cookie=0x0, duration=5.624s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2530
>  actions=output:3
> + cookie=0x0, duration=0.08s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2536
>  actions=output:3
> + cookie=0x0, duration=1.96s, table=0, n_packets=1, n_bytes=60, 
> idle_timeout=5, 
> priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2534,tp_dst=0
>  actions=output:1
>  cookie=0x0, duration=228.78s, table=0, n_packets=0, n_bytes=0, 
> reg0=0x7b,tun_id=0x1c8 actions=load:0x5->NXM_NX_REG0[]
>  cookie=0x0, duration=3600.0005s, table=1, n_packets=100, n_bytes=6400, 
> actions=drop
> ]])
> diff --git a/tests/ofproto-macros.at b/tests/ofproto-macros.at
> index a7ac388..b0c4fa0 100644
> --- a/tests/ofproto-macros.at
> +++ b/tests/ofproto-macros.at
> @@ -10,8 +10,8 @@ s/ cookie=0x0,//
> s/ table=0,//
> s/ n_packets=0,//
> s/ n_bytes=0,//
> -s/idle_age=[0-9]*,//
> -s/hard_age=[0-9]*,//
> +s/ idle_age=[0-9]*,//
> +s/ hard_age=[0-9]*,//
> '
> }]
> m4_divert_pop([PREPARE_TESTS])
> diff --git a/tests/ofproto.at b/tests/ofproto.at
> index 0f0fd1f..e21e4eb 100644
> --- a/tests/ofproto.at
> +++ b/tests/ofproto.at
> @@ -302,18 +302,18 @@ for in_port in 4 3 2 1; do
>     ovs-ofctl add-flow br0 
> idle_timeout=${in_port}0,in_port=$in_port,actions=drop
> done
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - idle_timeout=10,in_port=1 actions=drop
> - idle_timeout=20,in_port=2 actions=drop
> - idle_timeout=30,in_port=3 actions=drop
> - idle_timeout=40,in_port=4 actions=drop
> + idle_timeout=10, in_port=1 actions=drop
> + idle_timeout=20, in_port=2 actions=drop
> + idle_timeout=30, in_port=3 actions=drop
> + idle_timeout=40, in_port=4 actions=drop
> NXST_FLOW reply:
> ])
> # Adding another flow will cause the one that expires soonest to be evicted.
> AT_CHECK([ovs-ofctl add-flow br0 in_port=5,actions=drop])
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - idle_timeout=20,in_port=2 actions=drop
> - idle_timeout=30,in_port=3 actions=drop
> - idle_timeout=40,in_port=4 actions=drop
> + idle_timeout=20, in_port=2 actions=drop
> + idle_timeout=30, in_port=3 actions=drop
> + idle_timeout=40, in_port=4 actions=drop
>  in_port=5 actions=drop
> NXST_FLOW reply:
> ])
> @@ -323,7 +323,7 @@ AT_CHECK([ovs-ofctl mod-flows br0 in_port=6,actions=drop])
> AT_CHECK([ovs-ofctl add-flow br0 in_port=4,actions=normal])
> AT_CHECK([ovs-ofctl mod-flows br0 in_port=3,actions=output:1])
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - idle_timeout=30,in_port=3 actions=output:1
> + idle_timeout=30, in_port=3 actions=output:1
>  in_port=4 actions=NORMAL
>  in_port=5 actions=drop
>  in_port=6 actions=drop
> @@ -365,10 +365,10 @@ idle_timeout=30 in_port=1 dl_src=00:22:33:44:55:66 
> actions=drop
> idle_timeout=40 in_port=1 dl_src=00:33:44:55:66:77 actions=drop
> EOF
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - idle_timeout=10,in_port=2,dl_src=00:44:55:66:77:88 actions=drop
> - idle_timeout=20,in_port=1,dl_src=00:11:22:33:44:55 actions=drop
> - idle_timeout=30,in_port=1,dl_src=00:22:33:44:55:66 actions=drop
> - idle_timeout=40,in_port=1,dl_src=00:33:44:55:66:77 actions=drop
> + idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
> + idle_timeout=20, in_port=1,dl_src=00:11:22:33:44:55 actions=drop
> + idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
> + idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
> NXST_FLOW reply:
> ])
> # Adding another flow will cause the one that expires soonest within
> @@ -377,9 +377,9 @@ NXST_FLOW reply:
> # (which is what makes the test interesting):
> AT_CHECK([ovs-ofctl add-flow br0 
> in_port=2,dl_src=00:55:66:77:88:99,actions=drop])
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - idle_timeout=10,in_port=2,dl_src=00:44:55:66:77:88 actions=drop
> - idle_timeout=30,in_port=1,dl_src=00:22:33:44:55:66 actions=drop
> - idle_timeout=40,in_port=1,dl_src=00:33:44:55:66:77 actions=drop
> + idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
> + idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
> + idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
>  in_port=2,dl_src=00:55:66:77:88:99 actions=drop
> NXST_FLOW reply:
> ])
> @@ -392,12 +392,12 @@ idle_timeout=60 in_port=2 dl_src=00:77:88:99:aa:bb 
> actions=drop
> idle_timeout=70 in_port=2 dl_src=00:88:99:aa:bb:cc actions=drop
> EOF
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - idle_timeout=10,in_port=2,dl_src=00:44:55:66:77:88 actions=drop
> - idle_timeout=30,in_port=1,dl_src=00:22:33:44:55:66 actions=drop
> - idle_timeout=40,in_port=1,dl_src=00:33:44:55:66:77 actions=drop
> - idle_timeout=50,in_port=2,dl_src=00:66:77:88:99:aa actions=drop
> - idle_timeout=60,in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
> - idle_timeout=70,in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
> + idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
> + idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
> + idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
> + idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=drop
> + idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
> + idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
>  in_port=2,dl_src=00:55:66:77:88:99 actions=drop
> NXST_FLOW reply:
> ])
> @@ -405,12 +405,12 @@ NXST_FLOW reply:
> # to be evicted.
> AT_CHECK([ovs-ofctl add-flow br0 'idle_timeout=80 in_port=2 
> dl_src=00:99:aa:bb:cc:dd actions=drop'])
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - idle_timeout=30,in_port=1,dl_src=00:22:33:44:55:66 actions=drop
> - idle_timeout=40,in_port=1,dl_src=00:33:44:55:66:77 actions=drop
> - idle_timeout=50,in_port=2,dl_src=00:66:77:88:99:aa actions=drop
> - idle_timeout=60,in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
> - idle_timeout=70,in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
> - idle_timeout=80,in_port=2,dl_src=00:99:aa:bb:cc:dd actions=drop
> + idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
> + idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
> + idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=drop
> + idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
> + idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
> + idle_timeout=80, in_port=2,dl_src=00:99:aa:bb:cc:dd actions=drop
>  in_port=2,dl_src=00:55:66:77:88:99 actions=drop
> NXST_FLOW reply:
> ])
> @@ -418,9 +418,9 @@ NXST_FLOW reply:
> # overall to be evicted.
> AT_CHECK([ovs-vsctl set Flow_Table evict flow-limit=4])
> AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
> - idle_timeout=60,in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
> - idle_timeout=70,in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
> - idle_timeout=80,in_port=2,dl_src=00:99:aa:bb:cc:dd actions=drop
> + idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
> + idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
> + idle_timeout=80, in_port=2,dl_src=00:99:aa:bb:cc:dd actions=drop
>  in_port=2,dl_src=00:55:66:77:88:99 actions=drop
> NXST_FLOW reply:
> ])
> -- 
> 1.7.2.5
> 
> _______________________________________________
> dev mailing list
> [email protected]
> http://openvswitch.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to