AT_CHECK([ovs-appctl netdev-dummy/receive p1 $pkt])
done
)
-ovs-appctl time/warp 100
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -O OpenFlow12 -vwarn dump-group-stats br0], [0], [stdout])
AT_CHECK([STRIP_XIDS stdout | sort], [0], [dnl
group_id=1234,ref_count=0,packet_count=3,byte_count=180,bucket0:packet_count=3,byte_count=180,bucket1:packet_count=0,byte_count=0
AT_CHECK([ovs-appctl netdev-dummy/receive p1 $pkt])
done
)
-ovs-appctl time/warp 100
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -O OpenFlow12 -vwarn dump-group-stats br0], [0], [stdout])
AT_CHECK([STRIP_XIDS stdout | sort], [0], [dnl
group_id=1234,ref_count=0,packet_count=3,byte_count=180,bucket0:packet_count=3,byte_count=180,bucket1:packet_count=3,byte_count=180
tcp,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=9,tcp_flags=rst|urg tcp_csum:0
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -OOpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=180, actions=goto_table:1
OFPST_FLOW reply (OF1.2):
AT_CHECK([cat ofctl_monitor.log], [0], [dnl
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -OOpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=180, actions=resubmit(1,1)
OFPST_FLOW reply (OF1.2):
tcp,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=9,tcp_flags=ack tcp_csum:0
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -OOpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
table=1, n_packets=3, n_bytes=180, dl_src=10:11:11:11:11:11 actions=CONTROLLER:65535
OFPST_FLOW reply (OF1.2):
tcp,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=9,tcp_flags=ack tcp_csum:0
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -OOpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=6, n_bytes=360, actions=goto_table:1
table=2, n_packets=3, n_bytes=180, dl_src=10:11:11:11:11:11 actions=CONTROLLER:65535
AT_CHECK([cat ofctl_monitor.log], [0], [dnl
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -OOpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=6, n_bytes=360, actions=resubmit(1,1)
table=2, dl_src=10:11:11:11:11:11 actions=CONTROLLER:65535
AT_CHECK([cat ofctl_monitor.log], [0], [dnl
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -OOpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=180, actions=goto_table:1
OFPST_FLOW reply (OF1.2):
AT_CHECK([cat ofctl_monitor.log], [0], [dnl
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -OOpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=180, actions=resubmit(1,1)
OFPST_FLOW reply (OF1.2):
mpls,in_port=0,vlan_tci=0x0000,dl_src=60:66:66:66:05:10,dl_dst=50:54:00:00:00:07,mpls_label=20,mpls_tc=0,mpls_ttl=31,mpls_bos=1
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-AT_CHECK([ovs-appctl revalidator/wait], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:42 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[[]],load:0x3->OXM_OF_MPLS_TC[[]],CONTROLLER:65535
cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:43 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[[]],load:0x3->OXM_OF_MPLS_TC[[]],CONTROLLER:65535
tcp,in_port=0,vlan_tci=0x0000,dl_src=60:66:66:66:00:08,dl_dst=50:54:00:00:00:01,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=32,nw_ecn=0,nw_ttl=255,tp_src=80,tp_dst=0,tcp_flags=0 tcp_csum:7744
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=186, mplsm actions=pop_mpls:0x0800,goto_table:1
table=1, n_packets=3, n_bytes=174, ip,nw_tos=32 actions=CONTROLLER:65535
tcp,in_port=0,vlan_tci=0x0000,dl_src=60:66:66:66:00:08,dl_dst=50:54:00:00:00:01,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=32,nw_ecn=0,nw_ttl=254,tp_src=80,tp_dst=0,tcp_flags=0 tcp_csum:7744
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=186, mplsm actions=pop_mpls:0x0800,write_actions(dec_ttl,CONTROLLER:65535)
OFPST_FLOW reply (OF1.2):
tcp,in_port=0,vlan_tci=0x0000,dl_src=10:11:11:11:11:11,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10,tcp_flags=syn tcp_csum:0
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-AT_CHECK([ovs-appctl revalidator/wait], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl --protocols=OpenFlow10 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=180, priority=0 actions=CONTROLLER:65535
NXST_FLOW reply:
tcp,in_port=0,vlan_tci=0x0000,dl_src=10:11:11:11:11:11,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10,tcp_flags=syn tcp_csum:0
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl --protocols=OpenFlow13 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=180, priority=0 actions=CONTROLLER:65535
OFPST_FLOW reply (OF1.3):
OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6])
ovs-appctl -t ovs-ofctl exit
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([cat ofctl_monitor.log], [0], [dnl
send: OFPT_ROLE_REQUEST (OF1.3) (xid=0x2): role=slave generation_id=1
OFPT_ROLE_REPLY (OF1.3) (xid=0x2): role=slave generation_id=1
OVS_WAIT_UNTIL([test `wc -l < ofctl_monitor.log` -ge 6])
ovs-appctl -t ovs-ofctl exit
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([cat ofctl_monitor.log], [0], [dnl
OFPT_PACKET_IN (OF1.4) (xid=0x0): cookie=0x0 total_len=60 in_port=1 (via no_match) data_len=60 (unbuffered)
tcp,in_port=0,vlan_tci=0x0000,dl_src=10:11:11:11:11:11,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10,tcp_flags=syn tcp_csum:0
00000030 00 00 00 00 00 00 50 00-00 00 00 00 00 00 00 00
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-AT_CHECK([ovs-appctl revalidator/wait], [0], [ignore])
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl --protocols=OpenFlow12 dump-flows br0 | ofctl_strip | sort], [0], [dnl
cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:54:50 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[[]],push_vlan:0x8100,set_field:4195->vlan_vid,set_field:1->vlan_pcp,CONTROLLER:65535
cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:54:51 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[[]],push_vlan:0x8100,set_field:4195->vlan_vid,set_field:1->vlan_pcp,CONTROLLER:65535
mode=drop
-ovs-appctl revalidator/wait
AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl set-frags br0 $mode])
for type in no first later; do
mode=nx-match
-ovs-appctl revalidator/wait
AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl set-frags br0 $mode])
for type in no first later; do
recirc_id(0),in_port(90),eth_type(0x0800),ipv4(proto=6,frag=later), packets:1, bytes:74, used:0.001s, actions:1
])
-ovs-appctl revalidator/wait
AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl set-frags br0 $mode])
for frag in 4000 6000 6008 4010; do
recirc_id(0),in_port(90),eth_type(0x0800),ipv4(proto=6,frag=later), packets:1, bytes:60, used:0.001s, actions:1
])
-ovs-appctl revalidator/wait
AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl set-frags br0 $mode])
for frag in 4000 6000 6001 4002; do
header=128 sampling=1 polling=1
dnl sleep long enough to get the sFlow datagram flushed out (may be delayed for up to 1 second)
-for i in `seq 1 30`; do
- ovs-appctl time/warp 100
-done
+AT_CHECK([ovs-appctl time/warp 2000 100], [0], [ignore])
+AT_CHECK([ovs-appctl revalidator/purge], [0])
OVS_VSWITCHD_STOP
ovs-appctl -t test-sflow exit
AT_CHECK([[sort sflow.log | $EGREP 'LACPCOUNTERS|ERROR' | head -n 1 | sed 's/ /\
ovs-appctl netdev-dummy/receive br0 'in_port(0),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=6,tos=0,ttl=64,frag=no)'
done
-ovs-appctl time/warp 1000
-ovs-appctl revalidator/wait
-
+AT_CHECK([ovs-appctl time/warp 1000], [0], [ignore])
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl dump-flows br0], [0], [stdout])
AT_CHECK([STRIP_XIDS stdout | sed -n 's/duration=[[0-9]]*\.[[0-9]]*s/duration=0.0s/p' | sort], [0], [dnl
cookie=0x0, duration=0.0s, table=0, n_packets=0, n_bytes=0, idle_age=1, icmp actions=NORMAL
AT_CHECK([ovs-appctl time/warp 1000 && ovs-appctl time/warp 1000], [0], [warped
warped
])
-ovs-appctl revalidator/wait
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip], [0],
[NXST_FLOW reply:
n_packets=1, n_bytes=74, idle_timeout=60, actions=fin_timeout(idle_timeout=5)
in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,dl_type=0x1234
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-AT_CHECK([ovs-appctl revalidator/wait], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -O OpenFlow13 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=180, dl_dst=50:54:00:00:00:0a actions=goto_table:1
table=1, n_packets=3, n_bytes=180, dl_dst=50:54:00:00:00:0a actions=CONTROLLER:65535
in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,dl_type=0x1234
])
-AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
-AT_CHECK([ovs-appctl revalidator/wait], [0], [ignore])
-
+AT_CHECK([ovs-appctl revalidator/purge], [0])
AT_CHECK([ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort], [0], [dnl
table=1, n_packets=3, n_bytes=180, dl_dst=50:54:00:00:00:0a actions=CONTROLLER:65535
OFPST_FLOW reply (OF1.1):