floodlight/oftestでopenvswitch-2.0.0を叩いてみる
Posted on 2013/11/27(Wed) 00:03 in technical
さまり
OpenFlow界隈では有名なfloodlightさんの作ったOpenflowスイッチのテストフレームワークです。
OpenFlow Switch Test Framework: https://github.com/floodlight/oftest
何かってーと、dissectorを書いてる最中に答え合わせとかしたくなるからpcap欲しいんですけど、ってなった時に丁度いいものが見つからなかったんですよね。
で、テスト実行してるところをキャプチャしようと思って使って見ることにしました。
それにしてもopenvswitch-2.0.0になっても対応してない機能結構あるんですねぇ...
Requirement
python製でscapy依存なので、これは最初に入れておきます。
# apt-get install scapy
それにしても、scapyは環境依存強くて好きになれないですねぇ。
Install
とくにすることはありません。gitから拾うだけです。
# git clone https://github.com/floodlight/oftest # cd oftest # ./oft --list
なんか色々一覧が出てきたら、とりあえず動きそうです。
動くかもしれない
特定のポートをopenflow switchに差し込んで、oftestはその逆側に挿さるイメージです。
が、面倒なのでそこは本家の図を見ましょう。
で、まぁなんかデフォルトで使うポートが決まってるとからしいので(適当)、まずOVSと一緒にそれを作ります。
oftest側はveth1,3,5,7を使うらしいので(適当)、逆側(veth0,2,4,6)をopenvswitchに挿しておきます。
# ip link add veth0 type veth peer name veth1 # ip link add veth2 type veth peer name veth3 # ip link add veth4 type veth peer name veth5 # ip link add veth6 type veth peer name veth7 # for i in `seq 0 7`; do ip link set veth$i up; done # ovs-vsctl add-br br0 # ovs-vsctl add-port br0 veth0 # ovs-vsctl add-port br0 veth2 # ovs-vsctl add-port br0 veth4 # ovs-vsctl add-port br0 veth6 # ovs-vsctl set-controller br0 tcp:127.0.0.1:6653
後は、動かすだけです。OpenFlow 1.3を使うときは、明示的に指定します。allはテスト全部。
あ、あと裏でtcpdumpも動かしておきました。
# tcpdump -n -i lo -s 65535 -w oftest_1.3_all.pcap & # ovs-vsctl set bridge br0 protocols=OpenFlow13 # ./oft all -V 1.3
無事にそれっぽい出力を得ることが出来ました。
(そして自作Dissectorのパースエラーが多発しているので修正を始めるのであった)
結果ログ
凄く長いけどとりあえず貼り付けておくます。FAILUREとか割と出ますねぇ。
# ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:4a:0c:27 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:3d:8d:84 brd ff:ff:ff:ff:ff:ff 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 08:00:27:83:fe:03 brd ff:ff:ff:ff:ff:ff 5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 08:00:27:36:f4:3e brd ff:ff:ff:ff:ff:ff 6: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN link/ether 5a:16:1e:0d:a3:a6 brd ff:ff:ff:ff:ff:ff 8: veth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 56:21:ee:2f:af:8f brd ff:ff:ff:ff:ff:ff 9: veth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 32:de:fa:b6:e5:6b brd ff:ff:ff:ff:ff:ff 10: veth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 02:d1:31:79:2a:f3 brd ff:ff:ff:ff:ff:ff 11: veth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 96:20:2b:ed:be:28 brd ff:ff:ff:ff:ff:ff 12: veth5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 4e:bd:b1:4e:5c:2a brd ff:ff:ff:ff:ff:ff 13: veth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether a6:8e:d8:ce:b0:c4 brd ff:ff:ff:ff:ff:ff 14: veth7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 06:bc:aa:dc:89:01 brd ff:ff:ff:ff:ff:ff 15: veth6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether b6:40:3d:f9:85:26 brd ff:ff:ff:ff:ff:ff 17: br0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 3a:78:49:43:6e:47 brd ff:ff:ff:ff:ff:ff # ovs-vsctl show cf7b4728-6c31-4e90-af6d-6b7ac60b0844 Bridge "br0" Controller "tcp:127.0.0.1:6653" Port "veth2" Interface "veth2" Port "veth4" Interface "veth4" Port "br0" Interface "br0" type: internal Port "veth6" Interface "veth6" Port "veth0" Interface "veth0" ovs_version: "2.0.0" # ovs-ofctl dump-ports-desc br0 --protocol=OpenFlow13 OFPST_PORT_DESC reply (OF1.3) (xid=0x2): 1(veth0): addr:32:de:fa:b6:e5:6b config: 0 state: 0 current: 10GB-FD COPPER speed: 10000 Mbps now, 0 Mbps max 2(veth2): addr:96:20:2b:ed:be:28 config: 0 state: 0 current: 10GB-FD COPPER speed: 10000 Mbps now, 0 Mbps max 3(veth4): addr:a6:8e:d8:ce:b0:c4 config: 0 state: 0 current: 10GB-FD COPPER speed: 10000 Mbps now, 0 Mbps max 4(veth6): addr:b6:40:3d:f9:85:26 config: 0 state: 0 current: 10GB-FD COPPER speed: 10000 Mbps now, 0 Mbps max LOCAL(br0): addr:3a:78:49:43:6e:47 config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max # ./oft all -V 1.3 WARNING: No route found for IPv6 destination :: (no default route?) bsn_in_ports.MatchInPorts128 ... FAIL actions.SetIpv4TTL ... FAIL actions.SetVlanPcp ... FAIL actions.SetEthDst ... ok actions.SetIPv6Src ... ok actions.SetUDPDst ... ok actions.PushVlanPcp ... FAIL actions.SetIPv4Src ... ok actions.PushVlanVid ... FAIL actions.SetEthSrc ... ok actions.SetIpv4ECN_NonZeroDSCP ... ok actions.SetIPv6Flabel ... FAIL actions.SetIpv4ECN ... ok actions.SetUDPSrc ... ok actions.SetIpv6DSCP_NonZeroECNandFlabel ... ok actions.PopVlan ... ok actions.SetIPv6Dst ... ok actions.SetTCPDst ... ok actions.SetIpv4Dscp ... ok actions.OutputMultiple ... ok actions.SetIpv6ECN ... ok actions.SetIPv6Flabel_NonZeroDSCPandECN ... FAIL actions.DecIpv6HopLimit ... ok actions.SetIpv6Dscp ... ok actions.Output ... ok actions.SetIpv6HopLimit ... FAIL actions.SetIpv4DSCP_NonZeroECN ... ok actions.SetTCPSrc ... ok actions.SetVlanVid ... FAIL actions.PushVlanVidPcp ... FAIL actions.SetIpv6ECN_NonZeroDSCPandFlabel ... ok actions.PushVlan ... FAIL actions.SetIPv4Dst ... ok actions.DecIpv4TTL ... ok flow_stats.AllFlowStats ... FAIL flow_stats.CookieFlowStats ... ok pktin_match.VlanAbsent ... FAIL pktin_match.VlanVid ... FAIL groups.GroupDescStats ... FAIL groups.GroupStatsNonexistent ... FAIL groups.GroupAddIndirectWeight ... FAIL groups.GroupAddInvalidAction ... FAIL groups.GroupStatsAll ... FAIL groups.GroupModifyEmpty ... FAIL groups.SelectFwdSpread ... FAIL groups.GroupFlowSelect ... ERROR groups.GroupStats ... FAIL groups.SelectFwdSingle ... FAIL groups.GroupModifyLoop ... FAIL groups.GroupDeleteAll ... FAIL groups.GroupAdd ... FAIL groups.GroupDeleteNonexisting ... FAIL groups.GroupAddSelectNoWeight ... FAIL groups.GroupAddMinimumInvalidID ... FAIL groups.GroupAddInvalidID ... FAIL groups.GroupDeleteExisting ... FAIL groups.GroupModify ... FAIL groups.GroupAddMaxID ... FAIL groups.GroupAddIndirectBuckets ... FAIL groups.GroupModifyInvalidID ... FAIL groups.GroupModifyNonexisting ... FAIL groups.GroupAddAllWeight ... FAIL groups.SelectFwdEmpty ... FAIL groups.GroupAddExisting ... FAIL basic.GroupDescStats ... FAIL basic.QueueStats ... ok basic.PacketInMiss ... FAIL basic.TableStats ... ok basic.PortConfigMod ... ok basic.AsyncConfigGet ... ERROR basic.GroupStats ... FAIL basic.PortDescStats ... ok basic.DescStats ... ok basic.OutputExact ... ok basic.AggregateStats ... ok basic.MeterFeaturesStats ... ok basic.MeterStats ... ok basic.EchoWithData ... ok basic.PortStats ... ok basic.GroupFeaturesStats ... ERROR basic.PacketOut ... ok basic.MeterConfigStats ... ok basic.PacketInExact ... ok basic.OutputWildcard ... ok basic.PacketInWildcard ... ok basic.DefaultDrop ... FAIL basic.Echo ... ok basic.FlowStats ... ok basic.FeaturesRequest ... ok basic.FlowRemoveAll ... ok match.IPv4ICMPCode ... ok match.VlanPCPAnyVID ... FAIL match.EthSrcMasked ... ok match.ArpOp ... ok match.IPv4DstSubnetMasked ... ok match.EthSrcMulticast ... ok match.IPv6DstSubnetMasked ... ok match.IPv4TCPDst ... ok match.IPv6UDPDst ... ok match.IPv6Dscp ... ok match.IPv6TCPDst ... ok match.IPv4Ecn ... ok match.IPv6SrcMasked ... ok match.IPv6Dst ... ok match.IPv6ProtoUDP ... ok match.IPv4ICMPType ... ok match.IPv4DstMasked ... ok match.VlanPresent ... FAIL match.EthDst ... ok match.VlanPCP ... FAIL match.ArpTPA ... ok match.EthTypeARP ... ok match.IPv6ICMPCode ... ok match.EthTypeNone ... ok match.IPv4ProtoTCP ... ok match.IPv4TCPSrc ... ok match.EthDstBroadcast ... ok match.VlanVID ... FAIL match.IPv6DstMasked ... ok match.IPv4ProtoICMP ... ok match.VlanAbsent ... ok match.EthSrc ... ok match.IPv6Ecn ... ok match.IPv4ProtoUDP ... ok match.IPv4SrcSubnetMasked ... ok match.IPv4UDPDst ... ok match.IPv4SrcMasked ... ok match.IPv6ProtoICMP ... ok match.IPv6UDPSrc ... ok match.VlanExact ... FAIL match.IPv6Src ... ok match.EthTypeIPv4 ... FAIL match.IPv4Dst ... ok match.IPv6ICMPType ... ok match.IPv6ProtoTCP ... ok match.EthDstMasked ... ok match.InPort ... ok match.ArpSPA ... ok match.ArpSPAMasked ... ok match.IPv4Src ... ok match.ArpTPAMasked ... ok match.ArpTPASubnetMasked ... ok match.IPv6SrcSubnetMasked ... ok match.EthTypeIPv6 ... FAIL match.VlanVIDMasked ... FAIL match.IPv4Dscp ... ok match.IPv6TCPSrc ... ok match.EthSrcBroadcast ... ok match.IPv4UDPSrc ... ok match.ArpSPASubnetMasked ... ok ====================================================================== ERROR: groups.GroupFlowSelect ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 733, in runTest self.assertEqual(response.flow_count, 2, AttributeError: 'flow_mod_failed_error_msg' object has no attribute 'flow_count' ====================================================================== ERROR: basic.AsyncConfigGet ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/basic.py", line 563, in runTest self.assertEquals(response.packet_in_mask_equal_master & 0x07, 0x07) AttributeError: 'bad_request_error_msg' object has no attribute 'packet_in_mask_equal_master' ====================================================================== ERROR: basic.GroupFeaturesStats ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/basic.py", line 441, in runTest self.assertEquals(response.flags, 0, "Unexpected bit set in group features stats reply flags") AttributeError: 'bad_request_error_msg' object has no attribute 'flags' ====================================================================== FAIL: bsn_in_ports.MatchInPorts128 ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/bsn_in_ports.py", line 69, in runTest verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 3 ====================================================================== FAIL: actions.SetIpv4TTL ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 403, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.SetVlanPcp ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 193, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.PushVlanPcp ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 163, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.PushVlanVid ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 140, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.SetIPv6Flabel ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 363, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.SetIPv6Flabel_NonZeroDSCPandECN ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 393, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.SetIpv6HopLimit ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 413, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.SetVlanVid ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 183, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.PushVlanVidPcp ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 152, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: actions.PushVlan ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/actions.py", line 129, in runTest self.verify_modify(actions, pkt, exp_pkt) File "/root/oftest/tests-1.3/actions.py", line 118, in verify_modify verify_packets(self, str(exp_pkt), [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: flow_stats.AllFlowStats ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/flow_stats.py", line 114, in runTest self.assertEqual(seen_cookies, set([1,2,3])) AssertionError: Items in the second set but not the first: 1 2 3 ====================================================================== FAIL: pktin_match.VlanAbsent ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/pktin_match.py", line 71, in runTest optional=True) File "/root/oftest/tests-1.3/pktin_match.py", line 53, in verify_pktin_match msg = verify_packet_in(self, pktstr, in_port, ofp.OFPR_NO_MATCH) File "/root/oftest/src/python/oftest/testutils.py", line 1582, in verify_packet_in test.assertTrue(msg is not None, 'Packet in message not received on port %d' % in_port) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Packet in message not received on port 1 ====================================================================== FAIL: pktin_match.VlanVid ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/pktin_match.py", line 81, in runTest optional=True) File "/root/oftest/tests-1.3/pktin_match.py", line 53, in verify_pktin_match msg = verify_packet_in(self, pktstr, in_port, ofp.OFPR_NO_MATCH) File "/root/oftest/src/python/oftest/testutils.py", line 1582, in verify_packet_in test.assertTrue(msg is not None, 'Packet in message not received on port %d' % in_port) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Packet in message not received on port 1 ====================================================================== FAIL: groups.GroupDescStats ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 634, in runTest stats = sorted(get_stats(self, request), key=lambda x: x.group_id) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.GroupStatsNonexistent ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 504, in runTest stats = get_stats(self, request) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.GroupAddIndirectWeight ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 420, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a4c50> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.GroupAddInvalidAction ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 90, in runTest self.assertIsInstance(response, ofp.message.bad_action_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a4b50> is not an instance of <class 'loxi.of13.message.bad_action_error_msg'> ====================================================================== FAIL: groups.GroupStatsAll ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 545, in runTest stats = sorted(get_stats(self, request), key=lambda x: x.group_id) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.GroupModifyEmpty ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 303, in runTest stats = get_stats(self, ofp.message.group_desc_stats_request()) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.SelectFwdSpread ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 829, in runTest verify_no_errors(self.controller) File "/root/oftest/src/python/oftest/testutils.py", line 1684, in verify_no_errors raise AssertionError("unexpected error type=%d code=%d" % (error.err_type, error.code)) AssertionError: unexpected error type=1 code=1 ====================================================================== FAIL: groups.GroupStats ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 487, in runTest stats = get_stats(self, request) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.SelectFwdSingle ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 793, in runTest verify_no_errors(self.controller) File "/root/oftest/src/python/oftest/testutils.py", line 1684, in verify_no_errors raise AssertionError("unexpected error type=%d code=%d" % (error.err_type, error.code)) AssertionError: unexpected error type=1 code=1 ====================================================================== FAIL: groups.GroupModifyLoop ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 255, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x30c1ed0> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.GroupDeleteAll ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 381, in runTest stats = get_stats(self, ofp.message.group_desc_stats_request()) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.GroupAdd ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 44, in runTest stats = get_stats(self, ofp.message.group_desc_stats_request()) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.GroupDeleteNonexisting ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 347, in runTest verify_no_errors(self.controller) File "/root/oftest/src/python/oftest/testutils.py", line 1684, in verify_no_errors raise AssertionError("unexpected error type=%d code=%d" % (error.err_type, error.code)) AssertionError: unexpected error type=1 code=1 ====================================================================== FAIL: groups.GroupAddSelectNoWeight ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 460, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a4250> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.GroupAddMinimumInvalidID ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 156, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a4250> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.GroupAddInvalidID ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 137, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a4250> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.GroupDeleteExisting ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 333, in runTest stats = get_stats(self, ofp.message.group_desc_stats_request()) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.GroupModify ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 186, in runTest stats = get_stats(self, ofp.message.group_desc_stats_request()) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.GroupAddMaxID ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 69, in runTest stats = get_stats(self, ofp.message.group_desc_stats_request()) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: groups.GroupAddIndirectBuckets ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 440, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a44d0> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.GroupModifyInvalidID ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 274, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a44d0> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.GroupModifyNonexisting ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 209, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a44d0> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.GroupAddAllWeight ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 401, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x31a4250> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: groups.SelectFwdEmpty ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 762, in runTest verify_no_errors(self.controller) File "/root/oftest/src/python/oftest/testutils.py", line 1684, in verify_no_errors raise AssertionError("unexpected error type=%d code=%d" % (error.err_type, error.code)) AssertionError: unexpected error type=1 code=1 ====================================================================== FAIL: groups.GroupAddExisting ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/groups.py", line 118, in runTest self.assertIsInstance(response, ofp.message.group_mod_failed_error_msg) AssertionError: <loxi.of13.message.bad_request_error_msg object at 0x30c1d10> is not an instance of <class 'loxi.of13.message.group_mod_failed_error_msg'> ====================================================================== FAIL: basic.GroupDescStats ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/basic.py", line 424, in runTest stats = get_stats(self, request) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: basic.PacketInMiss ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/basic.py", line 262, in runTest verify_packet_in(self, pkt, of_port, ofp.OFPR_NO_MATCH) File "/root/oftest/src/python/oftest/testutils.py", line 1582, in verify_packet_in test.assertTrue(msg is not None, 'Packet in message not received on port %d' % in_port) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Packet in message not received on port 1 ====================================================================== FAIL: basic.GroupStats ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/basic.py", line 410, in runTest stats = get_stats(self, request) File "/root/oftest/src/python/oftest/testutils.py", line 1322, in get_stats test.assertEquals(reply.type, msgtype, "Response had unexpected message type") AssertionError: Response had unexpected message type ====================================================================== FAIL: basic.DefaultDrop ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/basic.py", line 75, in runTest verify_no_packet_in(self, pkt, None) File "/root/oftest/src/python/oftest/testutils.py", line 1614, in verify_no_packet_in test.assertTrue(msg == None, "Did not expect a packet-in message on any port") File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not expect a packet-in message on any port ====================================================================== FAIL: match.VlanPCPAnyVID ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/match.py", line 566, in runTest self.verify_match(match, matching, nonmatching) File "/root/oftest/tests-1.3/match.py", line 77, in verify_match verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: match.VlanPresent ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/match.py", line 587, in runTest self.verify_match(match, matching, nonmatching) File "/root/oftest/tests-1.3/match.py", line 77, in verify_match verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: match.VlanPCP ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/match.py", line 517, in runTest self.verify_match(match, matching, nonmatching) File "/root/oftest/tests-1.3/match.py", line 77, in verify_match verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: match.VlanVID ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/match.py", line 471, in runTest self.verify_match(match, matching, nonmatching) File "/root/oftest/tests-1.3/match.py", line 77, in verify_match verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: match.VlanExact ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/match.py", line 450, in runTest self.verify_match(match, matching, nonmatching) File "/root/oftest/tests-1.3/match.py", line 77, in verify_match verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: match.EthTypeIPv4 ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/match.py", line 349, in runTest self.verify_match(match, matching, nonmatching) File "/root/oftest/tests-1.3/match.py", line 77, in verify_match verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: match.EthTypeIPv6 ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/match.py", line 372, in runTest self.verify_match(match, matching, nonmatching) File "/root/oftest/tests-1.3/match.py", line 77, in verify_match verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ====================================================================== FAIL: match.VlanVIDMasked ---------------------------------------------------------------------- Traceback (most recent call last): File "/root/oftest/tests-1.3/match.py", line 496, in runTest self.verify_match(match, matching, nonmatching) File "/root/oftest/tests-1.3/match.py", line 77, in verify_match verify_packets(self, pktstr, [out_port]) File "/root/oftest/src/python/oftest/testutils.py", line 1676, in verify_packets verify_packet(test, pkt, ofport) File "/root/oftest/src/python/oftest/testutils.py", line 1637, in verify_packet test.assertTrue(rcv_pkt != None, "Did not receive pkt on %r" % ofport) File "/root/oftest/src/python/oftest/base_tests.py", line 97, in assertTrue unittest.TestCase.assertTrue(self, cond, msg) AssertionError: Did not receive pkt on 2 ---------------------------------------------------------------------- Ran 151 tests in 1249.516s FAILED (failures=51, errors=3)