--- /dev/null
+[
+ "match: 19_ICMPV4_TYPE",
+ {
+ "description":"ethernet/ipv4/icmp(type=8)-->'icmpv4_type=8,actions=output:2'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "port":2
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ],
+ "egress":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/ipv4/icmp(type=8)-->'icmpv4_type=8,actions=output:CONTROLLER'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "max_len":65535,
+ "port":4294967293
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ],
+ "PACKET_IN":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/ipv4/icmp(type=3)-->'icmpv4_type=8,actions=output:2'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "port":2
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
+ "ipv4(tos=65, proto=1, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
+ "icmp(code=1,csum=0,data=dest_unreach(data=b'\\xd3]\\xb7\\xe3\\x9e\\xbb\\xf3\\xd6\\x9bq\\xd7\\x9f\\x82\\x18\\xa3\\x92Y\\xa7\\xa2\\x9a\\xab\\xb2\\xdb\\xaf\\xc3\\x1c\\xb3\\x00\\x10\\x83\\x10Q\\x87 \\x92\\x8b'),type_=3)"
+ ],
+ "table-miss":[
+ 0
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/vlan/ipv4/icmp(type=8)-->'icmpv4_type=8,actions=output:2'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "port":2
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "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=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ],
+ "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=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/vlan/ipv4/icmp(type=8)-->'icmpv4_type=8,actions=output:CONTROLLER'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "max_len":65535,
+ "port":4294967293
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "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=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ],
+ "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=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/vlan/ipv4/icmp(type=3)-->'icmpv4_type=8,actions=output:2'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "port":2
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
+ "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
+ "ipv4(tos=65, proto=1, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
+ "icmp(code=1,csum=0,data=dest_unreach(data=b'\\xd3]\\xb7\\xe3\\x9e\\xbb\\xf3\\xd6\\x9bq\\xd7\\x9f\\x82\\x18\\xa3\\x92Y\\xa7\\xa2\\x9a\\xab\\xb2\\xdb\\xaf\\xc3\\x1c\\xb3\\x00\\x10\\x83\\x10Q\\x87 \\x92\\x8b'),type_=3)"
+ ],
+ "table-miss":[
+ 0
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/mpls/ipv4/icmp(type=8)-->'actions=pop_mpls:0x0800,goto_table:1','table_id:1,icmpv4_type=8,actions=output:2'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":34887
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionPopMpls":{
+ "ethertype":2048
+ }
+ }
+ ],
+ "type":4
+ }
+ },
+ {
+ "OFPInstructionGotoTable":{
+ "table_id":1
+ }
+ }
+ ]
+ }
+ },
+ {
+ "OFPFlowMod":{
+ "table_id":1,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "port":2
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "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)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ],
+ "egress":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/mpls/ipv4/icmp(type=8)-->'actions=pop_mpls:0x0800,goto_table:1','table_id:1,icmpv4_type=8,actions=output:CONTROLLER'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":34887
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionPopMpls":{
+ "ethertype":2048
+ }
+ }
+ ],
+ "type":4
+ }
+ },
+ {
+ "OFPInstructionGotoTable":{
+ "table_id":1
+ }
+ }
+ ]
+ }
+ },
+ {
+ "OFPFlowMod":{
+ "table_id":1,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "max_len":65535,
+ "port":4294967293
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "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)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ],
+ "PACKET_IN":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/mpls/ipv4/icmp(type=3)-->'actions=pop_mpls:0x0800,goto_table:1','table_id:1,icmpv4_type=8,actions=output:2'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":34887
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionPopMpls":{
+ "ethertype":2048
+ }
+ }
+ ],
+ "type":4
+ }
+ },
+ {
+ "OFPInstructionGotoTable":{
+ "table_id":1
+ }
+ }
+ ]
+ }
+ },
+ {
+ "OFPFlowMod":{
+ "table_id":1,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "port":2
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34887)",
+ "mpls(bsb=1, label=203, exp=5, ttl=127)",
+ "ipv4(tos=65, proto=1, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
+ "icmp(code=1,csum=0,data=dest_unreach(data=b'\\xd3]\\xb7\\xe3\\x9e\\xbb\\xf3\\xd6\\x9bq\\xd7\\x9f\\x82\\x18\\xa3\\x92Y\\xa7\\xa2\\x9a\\xab\\xb2\\xdb\\xaf\\xc3\\x1c\\xb3\\x00\\x10\\x83\\x10Q\\x87 \\x92\\x8b'),type_=3)"
+ ],
+ "table-miss":[
+ 1
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/itag/ethernet/ipv4/icmp(type=8)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv4_type=8,actions=output:2'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":35047
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionPopPbb":{}
+ }
+ ],
+ "type":4
+ }
+ },
+ {
+ "OFPInstructionGotoTable":{
+ "table_id":1
+ }
+ }
+ ]
+ }
+ },
+ {
+ "OFPFlowMod":{
+ "table_id":1,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "port":2
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
+ "itag(sid=100)",
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ],
+ "egress":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/itag/ethernet/ipv4/icmp(type=8)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv4_type=8,actions=output:CONTROLLER'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":35047
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionPopPbb":{}
+ }
+ ],
+ "type":4
+ }
+ },
+ {
+ "OFPInstructionGotoTable":{
+ "table_id":1
+ }
+ }
+ ]
+ }
+ },
+ {
+ "OFPFlowMod":{
+ "table_id":1,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "max_len":65535,
+ "port":4294967293
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
+ "itag(sid=100)",
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ],
+ "PACKET_IN":[
+ "ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
+ "ipv4(tos=32, proto=1, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
+ "icmp(code=0,csum=0,data=echo(data=b'\\x01\\x23\\x45\\x67\\x89\\xab\\xcd\\xef'),type_=8)"
+ ]
+ }
+ ]
+ },
+ {
+ "description":"ethernet/itag/ethernet/ipv4/icmp(type=3)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv4_type=8,actions=output:2'",
+ "prerequisite":[
+ {
+ "OFPFlowMod":{
+ "table_id":0,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":35047
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionPopPbb":{}
+ }
+ ],
+ "type":4
+ }
+ },
+ {
+ "OFPInstructionGotoTable":{
+ "table_id":1
+ }
+ }
+ ]
+ }
+ },
+ {
+ "OFPFlowMod":{
+ "table_id":1,
+ "match":{
+ "OFPMatch":{
+ "oxm_fields":[
+ {
+ "OXMTlv":{
+ "field":"eth_type",
+ "value":2048
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"ip_proto",
+ "value":1
+ }
+ },
+ {
+ "OXMTlv":{
+ "field":"icmpv4_type",
+ "value":8
+ }
+ }
+ ]
+ }
+ },
+ "instructions":[
+ {
+ "OFPInstructionActions":{
+ "actions":[
+ {
+ "OFPActionOutput":{
+ "port":2
+ }
+ }
+ ],
+ "type":4
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "tests":[
+ {
+ "ingress":[
+ "ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)",
+ "itag(sid=203)",
+ "ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
+ "ipv4(tos=65, proto=1, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
+ "icmp(code=1,csum=0,data=dest_unreach(data=b'\\xd3]\\xb7\\xe3\\x9e\\xbb\\xf3\\xd6\\x9bq\\xd7\\x9f\\x82\\x18\\xa3\\x92Y\\xa7\\xa2\\x9a\\xab\\xb2\\xdb\\xaf\\xc3\\x1c\\xb3\\x00\\x10\\x83\\x10Q\\x87 \\x92\\x8b'),type_=3)"
+ ],
+ "table-miss":[
+ 1
+ ]
+ }
+ ]
+ }
+]