Skip to content

Commit

Permalink
ofproto-dpif: Add test case for OF1.4 packet-in.
Browse files Browse the repository at this point in the history
The test case current fails and shows a bug when OF1.4 is used between
the controller and the switch, the packet-in message still uses OF1.3
wire protocol version.

Signed-off-by: Shu Shen <shu.shen@radisys.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
  • Loading branch information
shushen authored and blp committed Nov 25, 2014
1 parent 7987096 commit 807c798
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions tests/ofproto-dpif.at
Expand Up @@ -2652,6 +2652,50 @@ OFPST_FLOW reply (OF1.3):
OVS_VSWITCHD_STOP
AT_CLEANUP


AT_SETUP([ofproto-dpif - table-miss flow (OpenFlow 1.4)])
OVS_VSWITCHD_START([dnl
add-port br0 p1 -- set Interface p1 type=dummy
])
ON_EXIT([kill `cat ovs-ofctl.pid`])

AT_CAPTURE_FILE([ofctl_monitor.log])
# A table-miss flow has priority 0 and no match
AT_CHECK([ovs-ofctl --protocols=OpenFlow14 add-flow br0 'priority=0 actions=output:CONTROLLER'])

dnl Singleton controller action.
AT_CHECK([ovs-ofctl monitor -P openflow10 --protocols=OpenFlow14 br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log])

for i in 1 2 3 ; do
ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10),tcp_flags(0x002)'
done
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([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
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
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
])

AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])

AT_CHECK([ovs-ofctl --protocols=OpenFlow14 dump-flows br0 | ofctl_strip | sort], [0], [dnl
n_packets=3, n_bytes=180, priority=0 actions=CONTROLLER:65535
OFPST_FLOW reply (OF1.4):
])

OVS_VSWITCHD_STOP
AT_CLEANUP


AT_SETUP([ofproto-dpif - ARP modification slow-path])
OVS_VSWITCHD_START
ADD_OF_PORTS([br0], [1], [2])
Expand Down

0 comments on commit 807c798

Please sign in to comment.