Signed-off-by: YAMAMOTO Takashi <[email protected]>
---
 ryu/tests/packet_data_generator/src/x3.erl | 191 +++++++++++++++++++++++++++-
 ryu/tests/packet_data_generator/src/x4.erl | 195 ++++++++++++++++++++++++++++-
 2 files changed, 384 insertions(+), 2 deletions(-)

diff --git a/ryu/tests/packet_data_generator/src/x3.erl 
b/ryu/tests/packet_data_generator/src/x3.erl
index d7acfb3..69e706a 100644
--- a/ryu/tests/packet_data_generator/src/x3.erl
+++ b/ryu/tests/packet_data_generator/src/x3.erl
@@ -21,6 +21,166 @@
 -include_lib("of_protocol/include/ofp_v3.hrl").
 
 x() ->
+    AllFields = [
+         #ofp_field{
+             class = openflow_basic,name = in_port,
+             has_mask = false,
+             value = <<5,6,7,8>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = in_phy_port,
+             has_mask = false,
+             value = <<1,2,3,4>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = metadata,
+             has_mask = false,
+             value = <<0,1,2,3,4,5,6,7>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = eth_type,
+             has_mask = false,
+             value = <<8,6>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = eth_dst,
+             has_mask = false,value = <<"\377\377\377\377\377\377">>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = eth_src,
+             has_mask = false,value = <<"\362\v\244}\370\352">>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = vlan_vid,
+             has_mask = false,value = <<999:13>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ip_dscp,
+             has_mask = false,value = <<9:6>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ip_ecn,
+             has_mask = false,value = <<3:2>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ip_proto,
+             has_mask = false,value = <<99>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv4_src,
+             has_mask = false,value = <<1,2,3,4>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv4_dst,
+             has_mask = false,value = <<1,2,3,4>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = tcp_src,
+             has_mask = false,value = <<8080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = tcp_dst,
+             has_mask = false,value = <<18080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = udp_src,
+             has_mask = false,value = <<28080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = udp_dst,
+             has_mask = false,value = <<318080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = sctp_src,
+             has_mask = false,value = <<48080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = sctp_dst,
+             has_mask = false,value = <<518080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = icmpv4_type,
+             has_mask = false,value = <<100>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = icmpv4_code,
+             has_mask = false,value = <<101>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_op,
+             has_mask = false,
+             value = <<0,1>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_spa,
+             has_mask = false,
+             value = <<10,0,0,1>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_tpa,
+             has_mask = false,
+             value = <<10,0,0,3>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_sha,
+             has_mask = false,value = <<"\362\v\244}\370\352">>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_tha,
+             has_mask = false,
+             value = <<0,0,0,0,0,0>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_src,
+             has_mask = false,
+             value = <<999:128>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_dst,
+             has_mask = false,
+             value = <<888:128>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_flabel,
+             has_mask = false,
+             value = <<16#84321:20>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = icmpv6_type,
+             has_mask = false,
+             value = <<200>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = icmpv6_code,
+             has_mask = false,
+             value = <<201>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_nd_target,
+             has_mask = false,
+             value = <<777:128>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_nd_sll,
+             has_mask = false,
+             value = <<666:48>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_nd_tll,
+             has_mask = false,
+             value = <<555:48>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = mpls_label,
+             has_mask = false,
+             value = <<16#98765:20>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = mpls_tc,
+             has_mask = false,
+             value = <<5:3>>,
+             mask = undefined}
+    ],
     List = [
         #ofp_desc_stats_reply{flags = [], mfr_desc = <<"mfr">>,
                               hw_desc = <<"hw">>, sw_desc = <<"sw">>,
@@ -8542,6 +8702,35 @@ x() ->
             exp_type = 60000,
             experimenter = 999999,
             data = <<"jikken data">>
-        }
+        },
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        skip,
+        #ofp_packet_in{
+            buffer_id = 16#f0000000,reason = no_match,table_id = 200,
+            match = #ofp_match{fields = AllFields},
+            data = <<>>},
+        #ofp_flow_mod{
+            cookie = <<0,0,0,0,0,0,0,0>>,
+            cookie_mask = <<0,0,0,0,0,0,0,0>>,
+            table_id = 1,command = add,idle_timeout = 0,
+            hard_timeout = 0,priority = 123,buffer_id = 65535,
+            out_port = any,out_group = any,flags = [],
+            match = #ofp_match{fields = AllFields},
+            instructions = []}
     ],
     lists:foldl(fun x:do/2, {3, 0}, List).
diff --git a/ryu/tests/packet_data_generator/src/x4.erl 
b/ryu/tests/packet_data_generator/src/x4.erl
index 4298587..37dbdaa 100644
--- a/ryu/tests/packet_data_generator/src/x4.erl
+++ b/ryu/tests/packet_data_generator/src/x4.erl
@@ -21,6 +21,186 @@
 -include_lib("of_protocol/include/ofp_v4.hrl").
 
 x() ->
+    AllFields = [
+         #ofp_field{
+             class = openflow_basic,name = in_port,
+             has_mask = false,
+             value = <<5,6,7,8>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = in_phy_port,
+             has_mask = false,
+             value = <<1,2,3,4>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = metadata,
+             has_mask = false,
+             value = <<0,1,2,3,4,5,6,7>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = eth_type,
+             has_mask = false,
+             value = <<8,6>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = eth_dst,
+             has_mask = false,value = <<"\377\377\377\377\377\377">>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = eth_src,
+             has_mask = false,value = <<"\362\v\244}\370\352">>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = vlan_vid,
+             has_mask = false,value = <<999:13>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ip_dscp,
+             has_mask = false,value = <<9:6>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ip_ecn,
+             has_mask = false,value = <<3:2>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ip_proto,
+             has_mask = false,value = <<99>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv4_src,
+             has_mask = false,value = <<1,2,3,4>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv4_dst,
+             has_mask = false,value = <<1,2,3,4>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = tcp_src,
+             has_mask = false,value = <<8080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = tcp_dst,
+             has_mask = false,value = <<18080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = udp_src,
+             has_mask = false,value = <<28080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = udp_dst,
+             has_mask = false,value = <<318080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = sctp_src,
+             has_mask = false,value = <<48080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = sctp_dst,
+             has_mask = false,value = <<518080:16>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = icmpv4_type,
+             has_mask = false,value = <<100>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = icmpv4_code,
+             has_mask = false,value = <<101>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_op,
+             has_mask = false,
+             value = <<0,1>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_spa,
+             has_mask = false,
+             value = <<10,0,0,1>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_tpa,
+             has_mask = false,
+             value = <<10,0,0,3>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_sha,
+             has_mask = false,value = <<"\362\v\244}\370\352">>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = arp_tha,
+             has_mask = false,
+             value = <<0,0,0,0,0,0>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_src,
+             has_mask = false,
+             value = <<999:128>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_dst,
+             has_mask = false,
+             value = <<888:128>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_flabel,
+             has_mask = false,
+             value = <<16#84321:20>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = icmpv6_type,
+             has_mask = false,
+             value = <<200>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = icmpv6_code,
+             has_mask = false,
+             value = <<201>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_nd_target,
+             has_mask = false,
+             value = <<777:128>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_nd_sll,
+             has_mask = false,
+             value = <<666:48>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_nd_tll,
+             has_mask = false,
+             value = <<555:48>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = mpls_label,
+             has_mask = false,
+             value = <<16#98765:20>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = mpls_tc,
+             has_mask = false,
+             value = <<5:3>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = mpls_bos,
+             has_mask = false,
+             value = <<1:1>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = pbb_isid,
+             has_mask = false,
+             value = <<16#abcdef:24>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = tunnel_id,
+             has_mask = false,
+             value = <<9,9,9,9,9,9,9,9>>,
+             mask = undefined},
+         #ofp_field{
+             class = openflow_basic,name = ipv6_exthdr,
+             has_mask = false,
+             value = <<500:9>>,
+             mask = undefined}
+    ],
     List = [
         #ofp_desc_reply{flags = [], mfr_desc = <<"mfr">>,
                               hw_desc = <<"hw">>, sw_desc = <<"sw">>,
@@ -2335,6 +2515,19 @@ x() ->
                      duration_nsec = 609036000,
                      bucket_stats = 
                          [#ofp_bucket_counter{
-                              packet_count = 234,byte_count = 2345}]}]}
+                              packet_count = 234,byte_count = 2345}]}]},
+        #ofp_packet_in{
+            buffer_id = 16#f0000000,reason = no_match,table_id = 200,
+            cookie = <<0,1,2,3,0,0,0,0>>,
+            match = #ofp_match{fields = AllFields},
+            data = <<>>},
+        #ofp_flow_mod{
+            cookie = <<0,0,0,0,0,0,0,0>>,
+            cookie_mask = <<0,0,0,0,0,0,0,0>>,
+            table_id = 1,command = add,idle_timeout = 0,
+            hard_timeout = 0,priority = 123,buffer_id = 65535,
+            out_port = any,out_group = any,flags = [],
+            match = #ofp_match{fields = AllFields},
+            instructions = []}
     ],
     lists:foldl(fun x:do/2, {4, 0}, List).
-- 
1.8.3.1


------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to