> To clarify, this patch is aimed at the following type of situation: > * netdev-dummy puts the packet on the queue. > * Upcall handler receives the packet, installs a flow. > * Revalidator decides to delete the flow (examples are the flow fails > revalidation, or flow is deemed unimportant, other such situations have > been reproduced on an upcoming patchset)
can they happen with the current code and tests? > * The test script attempts to dump flows from the datapath, but there are > no flows. thanks for explanation. now i inderstand that your patch attempts to fix different races from my patch. right? YAMAMOTO Takashi > > > > > On 7 April 2014 16:50, Joe Stringer <j...@wand.net.nz> wrote: > >> From: Joe Stringer <joestrin...@nicira.com> >> >> Previously we made heavy use of the 'ovs-appctl dpif/dump-flows' command >> to verify that flows were being installed into the datapath correctly. >> However this is sensitive to timing, particularly when the behaviour of >> revalidator threads is modified. >> >> This patch reworks the tests to make use of the vlog facility for dpif, >> checking for flow installation and flow dump messages. Most tests are >> converted to check for flow installation, which should reduce race >> conditions significantly. For tests that require packet counts, these >> will continue to check for flow_dump messages. Race conditions for these >> should be reduced but not eliminated. >> >> Signed-off-by: Joe Stringer <joestrin...@nicira.com> >> --- >> tests/ofproto-dpif.at | 219 >> ++++++++++++++++++++++++++++++------------------- >> 1 file changed, 133 insertions(+), 86 deletions(-) >> >> diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at >> index f2ddda9..93bc866 100644 >> --- a/tests/ofproto-dpif.at >> +++ b/tests/ofproto-dpif.at >> @@ -11,6 +11,17 @@ m4_define([STRIP_XOUT], [[sed ' >> s/packets:[0-9]*/packets:0/ >> s/bytes:[0-9]*/bytes:0/ >> ' | sort]]) >> +m4_define([FILTER_FLOW_INSTALL], [[ >> +grep ' put' | sed ' >> + s/.*put\[create\]\[modify\] // >> +' | sort | uniq]]) >> +m4_define([FILTER_FLOW_STATS], [[ >> +grep -e 'flow_del ' -e 'flow_dump ' | sed ' >> + s/.*flow_del // >> + s/.*flow_dump // >> + s/used:[0-9]*\.[0-9]*/used:0.0/ >> + s/, actions:.*// >> +' | sort | uniq]]) >> >> AT_SETUP([ofproto-dpif - dummy interface]) >> # Create br0 with interfaces p1 and p7 >> @@ -25,6 +36,7 @@ OVS_VSWITCHD_START( >> fail-mode=secure -- \ >> add-port br1 p2 -- set interface p2 type=dummy >> options:stream=unix:$OVS_RUNDIR/p0.sock ofport_request=2 -- \ >> add-port br1 p8 -- set interface p8 ofport_request=8 type=dummy --]) >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> >> AT_CHECK([ovs-ofctl add-flow br0 action=normal]) >> AT_CHECK([ovs-ofctl add-flow br1 action=normal]) >> @@ -35,14 +47,11 @@ AT_CHECK([ovs-appctl netdev-dummy/receive p8 >> 'in_port(8),eth(src=50:54:00:00:00: >> ovs-appctl time/warp 100 >> sleep 1 # wait for forwarders process packets >> >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.3/0.0.0.0,dst=10.0.0.4/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(7),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> -]) >> - >> -AT_CHECK([ovs-appctl dpif/dump-flows br1 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(2),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(8),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.3/0.0.0.0,dst=10.0.0.4/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.3/0.0.0.0,dst=10.0.0.4/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(2),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(7),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(8),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.3/0.0.0.0,dst=10.0.0.4/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> @@ -2392,7 +2401,7 @@ in_port=2 actions=output:1 >> ]) >> AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> >> -odp_flow="in_port(p1)" >> +odp_flow="in_port(1)" >> br_flow="in_port=1" >> # Test command: ofproto/trace odp_flow with in_port as a name. >> AT_CHECK([ovs-appctl ofproto/trace "$odp_flow"], [0], [stdout]) >> @@ -3490,6 +3499,7 @@ AT_SETUP([ofproto-dpif - ovs-appctl dpif/dump-flows >> - MPLS actions that result i >> OVS_VSWITCHD_START([dnl >> add-port br0 p1 -- set Interface p1 type=dummy >> ]) >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ON_EXIT([kill `cat ovs-ofctl.pid`]) >> >> AT_CAPTURE_FILE([ofctl_monitor.log]) >> @@ -3511,8 +3521,8 @@ dnl 192.168.0.1.80 > 192.168.0.2.0: Flags >> [none], cksum 0x7744 (correct), se >> for dl_src in 00 01; do >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 "505400000007 >> 6066666666$dl_src 8847 00014020 00014120 45 00 00 2c 00 00 00 00 40 06 3b >> 78 c0 a8 00 01 c0 a8 00 02 00 50 00 00 00 00 00 2a 00 00 00 2a 50 00 27 10 >> 77 44 00 00 48 4f 47 45"]) >> >> - AT_CHECK_UNQUOTED([ovs-appctl dpif/dump-flows br0 | grep ":$dl_src/" >> | STRIP_USED], [0], [dnl >> -skb_priority(0),in_port(1),eth(src=60:66:66:66:66:$dl_src/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:07/00:00:00:00:00:00),eth_type(0x8847),mpls(lse0=0x14020,lse1=0x14120), >> packets:0, bytes:0, used:never, >> actions:userspace(pid=0,slow_path(controller)) >> + AT_CHECK_UNQUOTED([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | grep >> ":$dl_src/"], [0], [dnl >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=60:66:66:66:66:$dl_src/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:07/00:00:00:00:00:00),eth_type(0x8847),mpls(lse0=0x14020,lse1=0x14120), >> actions:userspace(pid=0,slow_path(controller)) >> ]) >> done >> >> @@ -3524,6 +3534,7 @@ AT_SETUP([ofproto-dpif - ovs-appctl dpif/dump-flows >> - MPLS actions that result i >> OVS_VSWITCHD_START([dnl >> add-port br0 p1 -- set Interface p1 type=dummy >> ]) >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ON_EXIT([kill `cat ovs-ofctl.pid`]) >> >> AT_CAPTURE_FILE([ofctl_monitor.log]) >> @@ -3548,8 +3559,8 @@ dnl 192.168.0.1.80 > 192.168.0.2.0: Flags >> [none], cksum 0x7744 (correct), se >> for dl_src in 00 01; do >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 "505400000007 >> 6066666666$dl_src 8847 00014020 00014120 45 00 00 2c 00 00 00 00 40 06 3b >> 78 c0 a8 00 01 c0 a8 00 02 00 50 00 00 00 00 00 2a 00 00 00 2a 50 00 27 10 >> 77 44 00 00 48 4f 47 45"]) >> >> - AT_CHECK_UNQUOTED([ovs-appctl dpif/dump-flows br0 | grep ":$dl_src/" >> | STRIP_USED], [0], [dnl >> -skb_priority(0),in_port(1),eth(src=60:66:66:66:66:$dl_src/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:07/00:00:00:00:00:00),eth_type(0x8847),mpls(lse0=0x14020,lse1=0x14120), >> packets:0, bytes:0, used:never, >> actions:userspace(pid=0,slow_path(controller)) >> + AT_CHECK_UNQUOTED([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | grep >> ":$dl_src/"], [0], [dnl >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=60:66:66:66:66:$dl_src/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:07/00:00:00:00:00:00),eth_type(0x8847),mpls(lse0=0x14020,lse1=0x14120), >> actions:userspace(pid=0,slow_path(controller)) >> ]) >> done >> >> @@ -3566,6 +3577,7 @@ ADD_OF_PORTS([br0], [2]) >> ADD_OF_PORTS([br1], [3]) >> >> AT_CHECK([ovs-appctl time/stop]) >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> >> AT_CHECK([ovs-ofctl add-flow br0 actions=LOCAL,output:1,output:2]) >> AT_CHECK([ovs-ofctl add-flow br1 actions=LOCAL,output:1,output:3]) >> @@ -3584,7 +3596,7 @@ for i in $(seq 1 5); do >> fi >> done >> >> -AT_CHECK([ovs-appctl time/warp 500], [0], >> +AT_CHECK([ovs-appctl time/warp 1000], [0], >> [warped >> ]) >> >> @@ -3600,11 +3612,16 @@ dummy@ovs-dummy: hit:13 missed:2 >> pbr1 1/none: (patch: peer=pbr0) >> ]) >> >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_USED], [0], [dnl >> -skb_priority(0),in_port(100),eth_type(0x0800),ipv4(src= >> 192.168.0.1/0.0.0.0,dst=192.168.0.2/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:9, bytes:540, used:0.0s, actions:101,3,2 >> -]), >> -AT_CHECK([ovs-appctl dpif/dump-flows br1 | STRIP_USED], [0], [dnl >> -skb_priority(0),in_port(101),eth_type(0x0800),ipv4(src= >> 192.168.0.2/0.0.0.0,dst=192.168.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:4, bytes:240, used:0.0s, actions:100,2,3 >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL], [0], [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(100),eth(src=50:54:00:00:00:05/00:00:00:00:00:00,dst=50:54:00:00:00:07/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 192.168.0.1/0.0.0.0,dst=192.168.0.2/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions:101,3,2 >> >> +skb_priority(0),skb_mark(0/0),in_port(101),eth(src=50:54:00:00:00:07/00:00:00:00:00:00,dst=50:54:00:00:00:05/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 192.168.0.2/0.0.0.0,dst=192.168.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions:100,2,3 >> +]) >> + >> +AT_CHECK([cat ovs-vswitchd.log | grep -e 'in_port(100).*packets:9' | >> FILTER_FLOW_STATS], [0], [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(100),eth(src=50:54:00:00:00:05/00:00:00:00:00:00,dst=50:54:00:00:00:07/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 192.168.0.1/0.0.0.0,dst=192.168.0.2/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> packets:9, bytes:540, used:0.0s >> +]) >> +AT_CHECK([cat ovs-vswitchd.log | grep -e 'in_port(101).*packets:4' | >> FILTER_FLOW_STATS], [0], [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(101),eth(src=50:54:00:00:00:07/00:00:00:00:00:00,dst=50:54:00:00:00:05/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 192.168.0.2/0.0.0.0,dst=192.168.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> packets:4, bytes:240, used:0.0s >> ]) >> >> AT_CHECK([ovs-ofctl dump-ports br0 pbr0], [0], [dnl >> @@ -3644,6 +3661,7 @@ AT_BANNER([ofproto-dpif -- megaflows]) >> >> AT_SETUP([ofproto-dpif megaflow - port classification]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1 actions=output(2) >> @@ -3652,14 +3670,15 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:0.0s, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - L2 classification]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1,dl_src=50:54:00:00:00:09 actions=output(2) >> @@ -3668,15 +3687,16 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - L3 classification]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_CHECK([ovs-vsctl set Bridge br0 flow_tables:0=@N1 -- --id=@N1 create >> Flow_Table name=t0 prefixes=nw_dst,nw_src], [0], [ignore], []) >> AT_DATA([flows.txt], [dnl >> @@ -3686,15 +3706,16 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.252,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/0.0.0.0,proto=1/0xff,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.252,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/00:00:00:00:00:00,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/0.0.0.0,proto=1/0xff,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - IPv6 classification]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_CHECK([ovs-vsctl set Bridge br0 flow_tables:0=@N1 -- --id=@N1 create >> Flow_Table name=t0 prefixes=ipv6_dst,ipv6_src], [0], [ignore], []) >> AT_DATA([flows.txt], [dnl >> @@ -3704,15 +3725,16 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x86dd),ipv6(src=2001:db8:3c4d:1:2:3:4:5,dst=fe80::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=no)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x86dd),ipv6(src=2001:db8:3c4d:5:4:3:2:1,dst=2001:db8:3c4d:1:2:3:4:1,label=0,proto=99,tclass=0x70,hlimit=64,frag=no)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x86dd),ipv6(src=2001:db8:3c4d:1:2:3:4:5/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff,dst=fe80::2/::,label=0/0,proto=10/0,tclass=0x70/0,hlimit=128/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> -skb_priority(0),in_port(1),eth_type(0x86dd),ipv6(src=2001:db8:3c4d:5:4:3:2:1/ffff:ffff:ffff:fffc::,dst=2001:db8:3c4d:1:2:3:4:1/::,label=0/0,proto=99/0,tclass=0x70/0,hlimit=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:07/00:00:00:00:00:00,dst=50:54:00:00:00:05/00:00:00:00:00:00),eth_type(0x86dd),ipv6(src=2001:db8:3c4d:1:2:3:4:5/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff,dst=fe80::2/::,label=0/0,proto=10/0,tclass=0x70/0,hlimit=128/0,frag=no/0xff), >> actions: <del> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x86dd),ipv6(src=2001:db8:3c4d:5:4:3:2:1/ffff:ffff:ffff:fffc::,dst=2001:db8:3c4d:1:2:3:4:1/::,label=0/0,proto=99/0,tclass=0x70/0,hlimit=64/0,frag=no/0xff), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - L4 classification]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1,icmp,icmp_type=8 actions=output(2) >> @@ -3720,28 +3742,30 @@ table=0 in_port=1,icmp,icmp_type=8 >> actions=output(2) >> AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0xff,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0xff,code=0/0), >> packets:0, bytes:0, used:0.0s, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0xff,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0xff,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - normal]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_CHECK([ovs-ofctl add-flow br0 action=normal]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - mpls]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 dl_src=50:54:00:00:00:09 actions=push_mpls:0x8847,2 >> @@ -3751,9 +3775,9 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0a),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1), >> packets:0, bytes:0, used:never, actions: <del> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1), >> actions: <del> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> @@ -3764,6 +3788,7 @@ AT_CLEANUP >> m4_define([CHECK_MEGAFLOW_NETFLOW], >> [AT_SETUP([ofproto-dpif megaflow - netflow - $2 collector]) >> OVS_VSWITCHD_START >> + AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> >> dnl NetFlow configuration disables wildcarding relevant fields >> @@ -3780,9 +3805,9 @@ m4_define([CHECK_MEGAFLOW_NETFLOW], >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> - AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.255,dst=10.0.0.1/255.255.255.255,proto=1/0xff,tos=0/0xfc,ttl=64/0,frag=no/0xff),icmp(type=8,code=0), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/255.255.255.255,proto=1/0xff,tos=0/0xfc,ttl=64/0,frag=no/0xff),icmp(type=8,code=0), >> packets:0, bytes:0, used:never, actions: <del> >> + AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], >> [0], [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.255,dst=10.0.0.1/255.255.255.255,proto=1/0xff,tos=0/0xfc,ttl=64/0,frag=no/0xff),icmp(type=8,code=0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/255.255.255.255,proto=1/0xff,tos=0/0xfc,ttl=64/0,frag=no/0xff),icmp(type=8,code=0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP]) >> @@ -3798,14 +3823,15 @@ OVS_VSWITCHD_START( >> set interface p3 type=dummy ofport_request=3]) >> AT_CHECK([ovs-appctl netdev-dummy/set-admin-state up], 0, [OK >> ]) >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> >> AT_CHECK([ovs-ofctl add-flow br0 action=normal]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> @@ -3818,14 +3844,15 @@ OVS_VSWITCHD_START( >> set interface p3 type=dummy ofport_request=3]) >> AT_CHECK([ovs-appctl netdev-dummy/set-admin-state up], 0, [OK >> ]) >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> >> AT_CHECK([ovs-ofctl add-flow br0 action=normal]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> @@ -3852,6 +3879,7 @@ OVS_VSWITCHD_START( >> >> AT_CHECK([ovs-appctl netdev-dummy/set-admin-state up], 0, [OK >> ]) >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [7]) >> AT_CHECK([ovs-ofctl add-flow br0 action=normal]) >> AT_CHECK([ovs-ofctl add-flow br1 action=normal]) >> @@ -3860,15 +3888,16 @@ ovs-appctl time/warp 5000 >> AT_CHECK([ovs-appctl netdev-dummy/receive p7 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p7 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(7),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.255,dst=10.0.0.1/255.255.255.255,proto=1/0xff,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8,code=0), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(7),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/255.255.255.255,proto=1/0xff,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8,code=0), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(7),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.255,dst=10.0.0.1/255.255.255.255,proto=1/0xff,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8,code=0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(7),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/255.255.255.255,proto=1/0xff,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8,code=0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - resubmit port action]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1,ip actions=resubmit(90) >> @@ -3878,15 +3907,16 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - resubmit table action]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1,ip actions=resubmit(,1) >> @@ -3897,15 +3927,16 @@ AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00: >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto= >> 1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - goto_table action]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1,ip actions=goto_table(1) >> @@ -3915,15 +3946,16 @@ AT_CHECK([ovs-ofctl -O OpenFlow12 add-flows br0 >> flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - mirroring, select_all]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2], [3]) >> ovs-vsctl \ >> set Bridge br0 mirrors=@m --\ >> @@ -3937,14 +3969,15 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:0.0s, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - mirroring, select_vlan]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2], [3]) >> ovs-vsctl \ >> set Bridge br0 mirrors=@m --\ >> @@ -3958,15 +3991,16 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x8100),vlan(vid=11,pcp=7),encap(eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0))']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> >> -skb_priority(0),in_port(1),eth_type(0x8100),vlan(vid=11/0xfff,pcp=7/0x0,cfi=1/1),encap(eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff)), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x8100),vlan(vid=11/0xfff,pcp=7/0x0,cfi=1/1),encap(eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0)), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/00:00:00:00:00:00,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - move action]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1 >> ip,actions=move:NXM_OF_IP_SRC[[]]->NXM_NX_REG0[[]],resubmit(90) >> @@ -3977,15 +4011,16 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.255,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.255,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/00:00:00:00:00:00,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - push action]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1 ip,actions=push:NXM_OF_IP_SRC[[]],output(2) >> @@ -3994,15 +4029,16 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.255,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.255,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/00:00:00:00:00:00,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/255.255.255.255,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - learning]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1 >> actions=load:2->NXM_NX_REG0[[0..15]],learn(table=1,priority=65535,NXM_OF_ETH_SRC[[]],NXM_OF_VLAN_TCI[[0..11]],output:NXM_NX_REG0[[0..15]]),output:2 >> @@ -4020,9 +4056,9 @@ for i in 1 2; do >> done >> sleep 1 >> dnl The original flow is missing due to a revalidation. >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:0.0s, actions: <del> >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:0.0s, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/ff:ff:ff:ff:ff:ff,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> @@ -4030,6 +4066,7 @@ AT_CLEANUP >> AT_SETUP([ofproto-dpif megaflow - tunnels]) >> OVS_VSWITCHD_START( >> [add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1]) >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> AT_CHECK([ovs-vsctl add-port br0 p2 -- set Interface p2 type=gre \ >> options:remote_ip=1.1.1.1 ofport_request=2 options:key=flow]) >> AT_CHECK([ovs-vsctl add-port br0 p3 -- set Interface p3 type=dummy \ >> @@ -4049,16 +4086,17 @@ AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00: >> AT_CHECK([ovs-appctl netdev-dummy/receive p3 >> 'in_port(3),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0xfd,ttl=128,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p3 >> 'in_port(3),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0x1,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0xfd/0x3,ttl=128/0,frag=no/0xff), >> packets:0, bytes:0, used:0.0s, actions: <del> >> -skb_priority(0),in_port(3),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0xfd/0xff,ttl=128/0xff,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> -skb_priority(0),in_port(3),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0x1/0xff,ttl=64/0xff,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0xfd/0x3,ttl=128/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(3),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0xfd/0xff,ttl=128/0xff,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> >> +skb_priority(0),skb_mark(0/0),in_port(3),eth(src=50:54:00:00:00:0b/00:00:00:00:00:00,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0x1/0xff,ttl=64/0xff,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - dec_ttl]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_CHECK([ovs-vsctl set Bridge br0 flow_tables:0=@N1 -- --id=@N1 create >> Flow_Table name=t0 prefixes=nw_dst,nw_src], [0], [ignore], []) >> AT_DATA([flows.txt], [dnl >> @@ -4068,15 +4106,16 @@ AT_CHECK([ovs-ofctl add-flows br0 flows.txt]) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_XOUT], [0], [dnl >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.252,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions: <del> >> -skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no), >> packets:0, bytes:0, used:never, actions: <del> >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL | STRIP_XOUT], [0], >> [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/00:00:00:00:00:00),eth_type(0x0800),ipv4(src= >> 10.0.0.2/255.255.255.252,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions: <del> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b/00:00:00:00:00:00,dst=50:54:00:00:00:0c/00:00:00:00:00:00),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8/0,code=0/0), >> actions: <del> >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - set dl_dst]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1 actions=mod_dl_dst(50:54:00:00:00:0a),output(2) >> @@ -4095,15 +4134,16 @@ dnl ofproto-dpif). The second entry actually >> updates the destination >> dnl MAC, so both the source and destination MAC addresses are >> dnl un-wildcarded, since the ODP commit functions update both the source >> dnl and destination MAC addresses. >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_USED], [0], [dnl >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/ff:ff:ff:ff:ff:ff),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, actions:2 >> >> -skb_priority(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), >> packets:0, bytes:0, used:never, >> actions:set(eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0a)),2 >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL], [0], [dnl >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:09/00:00:00:00:00:00,dst=50:54:00:00:00:0a/ff:ff:ff:ff:ff:ff),eth_type(0x0800),ipv4(src= >> 10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions:2 >> >> +skb_priority(0),skb_mark(0/0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src= >> 10.0.0.4/0.0.0.0,dst=10.0.0.3/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff),icmp(type=8/0,code=0/0), >> actions:set(eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0a)),2 >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> >> AT_SETUP([ofproto-dpif megaflow - disabled]) >> OVS_VSWITCHD_START >> +AT_CHECK([ovs-appctl vlog/set dpif:dbg]) >> ADD_OF_PORTS([br0], [1], [2]) >> AT_DATA([flows.txt], [dnl >> table=0 in_port=1,ip,nw_dst=10.0.0.1 actions=output(2) >> @@ -4118,9 +4158,16 @@ for i in 1 2 3 4; do >> AT_CHECK([ovs-appctl netdev-dummy/receive p1 >> 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)']) >> done >> sleep 1 >> -AT_CHECK([ovs-appctl dpif/dump-flows br0 | STRIP_USED], [0], [dnl >> -skb_priority(0),skb_mark(0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), >> packets:3, bytes:180, used:0.0s, actions:2 >> -skb_priority(0),skb_mark(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), >> packets:3, bytes:180, used:0.0s, actions:drop >> +AT_CHECK([cat ovs-vswitchd.log | FILTER_FLOW_INSTALL], [0], [dnl >> +skb_priority(0),skb_mark(0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), >> actions:2 >> +skb_priority(0),skb_mark(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), >> actions:drop >> +]) >> +ovs-appctl time/warp 500 >> +AT_CHECK([cat ovs-vswitchd.log | grep '00:09.*packets:3' | >> FILTER_FLOW_STATS], [0], [dnl >> +skb_priority(0),skb_mark(0),in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), >> packets:3, bytes:180, used:0.0s >> +]) >> +AT_CHECK([cat ovs-vswitchd.log | grep '00:0b.*packets:3' | >> FILTER_FLOW_STATS], [0], [dnl >> +skb_priority(0),skb_mark(0),in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), >> packets:3, bytes:180, used:0.0s >> ]) >> OVS_VSWITCHD_STOP >> AT_CLEANUP >> -- >> 1.7.10.4 >> >> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev