On Tue, 08 May 2018 16:51:33 +0900,
ted.nozaki 野崎忠雄 wrote:
> 
> [1  <multipart/alternative (7bit)>]
> [1.1  <text/plain; iso-2022-jp (quoted-printable)>]
> Hello
> I installed Ryu(version 4.24) on Ubuntu16.04 on VirtualBox.
> And I followed RyuBook and tried to run Sample test as suggested in the 
> chapter named “OpenFlow switch test tool”.
> If I run an individual json file such as 17_PUSH_VLAN.json under action, for 
> instance, Ryu successfully completes the test with a test report like 
> ok<3>/error<0>.
> However if I try to run the whole directory “ryu/tests/switch/of13/”, I get 
> the following error messages.
> Any suggestion on how I may solve this issue?

It seems the commit f3d752178 broke the test.

icmp and icmpv6 both defines a echo class and they are mixed up.
I'll work on a correct fix. Please use the attached workaround for the
time being.

> ted@Agemalab1:~/Project/SDN$ sudo ryu/ryu/tests/switch/run_mininet.py
> [sudo] password for ted:
> mininet> net
> s1 lo:  s1-eth1:s2-eth1 s1-eth2:s2-eth2 s1-eth3:s2-eth3
> s2 lo:  s2-eth1:s1-eth1 s2-eth2:s1-eth2 s2-eth3:s1-eth3
> c0
> mininet> xterm c0
> 
> root@Agemalab1:~/Project/SDN# ryu-manager --test-switch-dir 
> ryu/ryu/tests/switch/of13 ryu/ryu/tests/switch/tester.py
> loading app ryu/ryu/tests/switch/tester.py
> loading app ryu.controller.ofp_handler
> instantiating app ryu/ryu/tests/switch/tester.py of OfTester
> target_dpid=0000000000000001
> tester_dpid=0000000000000002
> target ofp version=openflow13
> tester ofp version=openflow13
> Test files directory = ryu/ryu/tests/switch/of13
> instantiating app ryu.controller.ofp_handler of OFPHandler
> hub: uncaught exception: Traceback (most recent call last):
>   File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line 59, in 
> _launch
>     return func(*args, **kwargs)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 413, in 
> _test_sequential_execute
>     tests = TestPatterns(test_dir, self.logger)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1297, in 
> __init__
>     self._get_tests(test_dir)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1309, in 
> _get_tests
>     self._get_tests(test_path)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1309, in 
> _get_tests
>     self._get_tests(test_path)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1309, in 
> _get_tests
>     self._get_tests(test_path)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1314, in 
> _get_tests
>     test = TestFile(path, self.logger)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1326, in 
> __init__
>     self._get_tests(path)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1359, in 
> _get_tests
>     self.tests.append(Test(test_json))
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1371, in 
> __init__
>     self.tests) = self._parse_test(test_json)
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1413, in 
> _parse_test
>     test_pkt[KEY_INGRESS] = __test_pkt_from_json(test[KEY_INGRESS])
>   File "/home/ted/Project/SDN/ryu/ryu/tests/switch/tester.py", line 1377, in 
> __test_pkt_from_json
>     data.serialize()
>   File "/usr/local/lib/python2.7/dist-packages/ryu/lib/packet/packet.py", 
> line 99, in serialize
>     data = p.serialize(self.data, prev)
>   File "/usr/local/lib/python2.7/dist-packages/ryu/lib/packet/icmpv6.py", 
> line 142, in serialize
>     assert isinstance(self.data, _ICMPv6Payload)
> AssertionError
> 
> dpid=0000000000000001 : Join target SW.
> dpid=0000000000000002 : Join tester SW.
> 
> Here Ryu stops, so only thing I can do is to exit by “ctrl c”.


diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json 
b/ryu/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json
index 5624092..78cfb36 100644
--- a/ryu/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json
+++ b/ryu/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json
@@ -62,12 +62,12 @@
                 "ingress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=135)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=135)"
                 ]
             }
         ]
@@ -135,13 +135,13 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=135)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=135)"
                 ]
             }
         ]
@@ -245,12 +245,12 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34887)",
                     "mpls(bsb=1, label=100, exp=3, ttl=64)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=135)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=135)"
                 ]
             }
         ]
@@ -353,12 +353,12 @@
                     "itag(sid=100)",
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=135)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=135)"
                 ]
             }
         ]
diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json 
b/ryu/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json
index 9a8570a..c2dc647 100644
--- a/ryu/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json
+++ b/ryu/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json
@@ -62,12 +62,12 @@
                 "ingress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=1,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=1,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -135,13 +135,13 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=1,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=1,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -245,12 +245,12 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34887)",
                     "mpls(bsb=1, label=100, exp=3, ttl=64)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=1,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=1,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -353,12 +353,12 @@
                     "itag(sid=100)",
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=1,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=1,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
diff --git a/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json 
b/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json
index db0dd12..c28e2a8 100644
--- a/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json
+++ b/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json
@@ -52,12 +52,12 @@
                 "ingress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -115,12 +115,12 @@
                 "ingress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "PACKET_IN":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -238,13 +238,13 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -303,13 +303,13 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "PACKET_IN":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -464,12 +464,12 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34887)",
                     "mpls(bsb=1, label=100, exp=3, ttl=64)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -564,12 +564,12 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34887)",
                     "mpls(bsb=1, label=100, exp=3, ttl=64)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "PACKET_IN":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -759,12 +759,12 @@
                     "itag(sid=100)",
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -858,12 +858,12 @@
                     "itag(sid=100)",
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "PACKET_IN":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
diff --git a/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json 
b/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json
index 739678d..b1bc8a4 100644
--- a/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json
+++ b/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json
@@ -52,12 +52,12 @@
                 "ingress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -115,12 +115,12 @@
                 "ingress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "PACKET_IN":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -238,13 +238,13 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -303,13 +303,13 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "PACKET_IN":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=33024)",
                     "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -464,12 +464,12 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34887)",
                     "mpls(bsb=1, label=100, exp=3, ttl=64)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -564,12 +564,12 @@
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34887)",
                     "mpls(bsb=1, label=100, exp=3, ttl=64)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "PACKET_IN":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -759,12 +759,12 @@
                     "itag(sid=100)",
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "egress":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
@@ -858,12 +858,12 @@
                     "itag(sid=100)",
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ],
                 "PACKET_IN":[
                     "ethernet(dst='22:22:22:22:22:22', 
src='12:11:11:11:11:11', ethertype=34525)",
                     "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=58, 
hop_limit=64, traffic_class=32)",
-                    
"icmpv6(code=0,data=echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
+                    
"icmpv6(code=0,data=ryu.lib.packet.icmpv6.echo(data=b'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f
 !\"#$%&\\'()*+,-./0123'),type_=128)"
                 ]
             }
         ]
diff --git a/ryu/tests/switch/tester.py b/ryu/tests/switch/tester.py
index d57d8de..7a5a14a 100644
--- a/ryu/tests/switch/tester.py
+++ b/ryu/tests/switch/tester.py
@@ -27,6 +27,7 @@ import time
 import traceback
 from random import randint
 
+import ryu
 from ryu import cfg
 from ryu.base import app_manager
 from ryu.controller import handler


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to