From: Ben Pfaff Date: Thu, 26 Apr 2012 22:54:54 +0000 (-0700) Subject: ofp-print: Add some more white space to flow dumps. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9718b7ba7828c702a67d5411f935b263bb9c795;p=openvswitch ofp-print: Add some more white space to flow dumps. 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 Signed-off-by: Ben Pfaff --- diff --git a/lib/ofp-print.c b/lib/ofp-print.c index 23dadd94..d0fd2290 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 0d1406ca..314baaf7 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 31d32935..feaea85f 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 a7ac388d..b0c4fa04 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 0f0fd1fd..e21e4eb6 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: ])