From: Joe Stringer Date: Sat, 8 Feb 2014 00:39:52 +0000 (-0800) Subject: tests: Add basic MPLS push test. X-Git-Tag: sliver-openvswitch-2.1.90-1~1^2~70 X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=commitdiff_plain;h=568790583fb6ef494d96940c5bdfd0e60bef6119 tests: Add basic MPLS push test. Signed-off-by: Joe Stringer Signed-off-by: Ben Pfaff --- diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at index 46a6b6759..d57319cfa 100644 --- a/tests/ofproto-dpif.at +++ b/tests/ofproto-dpif.at @@ -1112,6 +1112,52 @@ done OVS_VSWITCHD_STOP AT_CLEANUP +AT_SETUP([ofproto-dpif - MPLS handling]) +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]) +AT_DATA([flows.txt], [dnl +dl_src=40:44:44:44:00:00 actions=push_mpls:0x8847,controller +]) +AT_CHECK([ovs-ofctl --protocols=OpenFlow12 add-flows br0 flows.txt]) + +dnl In this test, we push an MPLS tag to an ethernet packet. +AT_CHECK([ovs-ofctl --protocols=OpenFlow12 monitor br0 65534 -m -P nxm --detach --pidfile 2> ofctl_monitor.log]) + +for i in 1 2 3; do + ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:00:00,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)' +done +OVS_WAIT_UNTIL([ovs-appctl -t ovs-ofctl exit]) + +AT_CHECK([cat ofctl_monitor.log | ofctl_strip], [0], [dnl +OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64 (unbuffered) +mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:00:00,dl_dst=50:54:00:00:00:07,mpls_label=0,mpls_tc=0,mpls_ttl=64,mpls_bos=1 +00000000 50 54 00 00 00 07 40 44-44 44 00 00 88 47 00 00 +00000010 01 40 45 00 00 28 00 00-00 00 40 06 f9 7c c0 a8 +00000020 00 01 c0 a8 00 02 00 00-00 00 00 00 00 00 00 00 +00000030 00 00 50 00 00 00 00 00-00 00 00 00 00 00 00 00 +dnl +OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64 (unbuffered) +mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:00:00,dl_dst=50:54:00:00:00:07,mpls_label=0,mpls_tc=0,mpls_ttl=64,mpls_bos=1 +00000000 50 54 00 00 00 07 40 44-44 44 00 00 88 47 00 00 +00000010 01 40 45 00 00 28 00 00-00 00 40 06 f9 7c c0 a8 +00000020 00 01 c0 a8 00 02 00 00-00 00 00 00 00 00 00 00 +00000030 00 00 50 00 00 00 00 00-00 00 00 00 00 00 00 00 +dnl +OFPT_PACKET_IN (OF1.2): total_len=64 in_port=1 (via action) data_len=64 (unbuffered) +mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:00:00,dl_dst=50:54:00:00:00:07,mpls_label=0,mpls_tc=0,mpls_ttl=64,mpls_bos=1 +00000000 50 54 00 00 00 07 40 44-44 44 00 00 88 47 00 00 +00000010 01 40 45 00 00 28 00 00-00 00 40 06 f9 7c c0 a8 +00000020 00 01 c0 a8 00 02 00 00-00 00 00 00 00 00 00 00 +00000030 00 00 50 00 00 00 00 00-00 00 00 00 00 00 00 00 +]) + +OVS_VSWITCHD_STOP +AT_CLEANUP + AT_SETUP([ofproto-dpif - VLAN+MPLS handling]) OVS_VSWITCHD_START([dnl add-port br0 p1 -- set Interface p1 type=dummy