diff options
author | Hiroaki KAWAI <kawai@stratosphere.co.jp> | 2014-03-06 19:14:56 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2014-04-10 22:17:43 +0900 |
commit | 2d7053ac0b509250808f41926406a0d751441820 (patch) | |
tree | 017014724ae41d619a9a256605d5667710c70b02 | |
parent | d3f8f4eb4cfa3a89164e4ef723d1cc80eb07a68c (diff) |
fix pbb itag related tests
i-tagged packets will have ETH_TYPE=0x88E7. The tests are
rewritten in the same way with MPLS.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
85 files changed, 6644 insertions, 1902 deletions
diff --git a/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json b/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json index 51d20f0a..fdd4ef3d 100644 --- a/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json +++ b/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json @@ -211,7 +211,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(ttl=64)/tcp-->'eth_type=0x0800,actions=set_nw_ttl:32,output:2'", + "description": "ethernet/itag/ethernet/ipv4(ttl=64)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,eth_type=0x0800,actions=set_nw_ttl:32,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -222,6 +222,40 @@ { "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 } } @@ -253,23 +287,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json b/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json index 8ea31fee..a9a89fd3 100644 --- a/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json +++ b/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json @@ -211,7 +211,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(hop_limit=64)/tcp-->'eth_type=0x86dd,actions=set_nw_ttl:32,output:2'", + "description": "ethernet/itag/ethernet/ipv6(hop_limit=64)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,eth_type=0x86dd,actions=set_nw_ttl:32,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -222,6 +222,40 @@ { "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":34525 } } @@ -253,23 +287,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=32, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json b/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json index 4431a4f4..8dbea903 100644 --- a/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json +++ b/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json @@ -205,7 +205,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(ttl=64)/tcp-->'eth_type=0x0800,actions=dec_nw_ttl,output:2'", + "description": "ethernet/itag/ethernet/ipv4(ttl=64)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,eth_type=0x0800,actions=dec_nw_ttl,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -216,6 +216,40 @@ { "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 } } @@ -245,23 +279,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=63)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json b/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json index b2d8a5f5..aceca3b3 100644 --- a/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json +++ b/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json @@ -205,7 +205,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(hop_limit=64)/tcp-->'eth_type=0x86dd,actions=dec_nw_ttl,output:2'", + "description": "ethernet/itag/ethernet/ipv6(hop_limit=64)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,eth_type=0x86dd,actions=dec_nw_ttl,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -216,6 +216,40 @@ { "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":34525 } } @@ -245,23 +279,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=63, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json index 263af008..77e0e16a 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(tos=32)/tcp-->'ip_dscp=8,actions=set_field:16->ip_dscp,output:2'", + "description": "ethernet/itag/ethernet/ipv4(tos=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_dscp=8,actions=set_field:16->ip_dscp,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=64, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json index bd3fd4b6..2af20ad0 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(traffic_class=32)/tcp-->'ip_dscp=8,actions=set_field:16->ip_dscp,output:2'", + "description": "ethernet/itag/ethernet/ipv6(traffic_class=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_dscp=8,actions=set_field:16->ip_dscp,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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":34525 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json index 1760c3ac..9165e02b 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(tos=32)/tcp-->'ip_ecn=0,actions=set_field:1->ip_ecn,output:2'", + "description": "ethernet/itag/ethernet/ipv4(tos=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_ecn=0,actions=set_field:1->ip_ecn,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=33, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json index cba6f0d5..8526d13b 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(traffic_class=32)/tcp-->'ip_ecn=0,actions=set_field:1->ip_ecn,output:2'", + "description": "ethernet/itag/ethernet/ipv6(traffic_class=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_ecn=0,actions=set_field:1->ip_ecn,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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":34525 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=33)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json index 2ea5fddf..538b5c7d 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(proto=6)/tcp-->'ip_proto=6,actions=set_field:17->ip_proto,output:2'", + "description": "ethernet/itag/ethernet/ipv4(proto=6)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_proto=6,actions=set_field:17->ip_proto,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json index 6f608b91..b306f8d7 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(nxt=6)/tcp-->'ip_proto=6,actions=set_field:17->ip_proto,output:2'", + "description": "ethernet/itag/ethernet/ipv6(nxt=6)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_proto=6,actions=set_field:17->ip_proto,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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":34525 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json b/ryu/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json index dcc8cc4c..61ce4cd2 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(src='192.168.10.10')/tcp-->'ipv4_src=192.168.10.10,actions=set_field:10.10.10.10->ipv4_src,output:2'", + "description": "ethernet/itag/ethernet/ipv4(src='192.168.10.10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_src=192.168.10.10,actions=set_field:10.10.10.10->ipv4_src,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='10.10.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json b/ryu/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json index 66ccece2..391b0704 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(dst='192.168.20.20')/tcp-->'ipv4_dst=192.168.20.20,actions=set_field:10.10.20.20->ipv4_dst,output:2'", + "description": "ethernet/itag/ethernet/ipv4(dst='192.168.20.20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_dst=192.168.20.20,actions=set_field:10.10.20.20->ipv4_dst,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='10.10.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json index a4ce6cf6..77f510df 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json @@ -262,7 +262,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp(src_port=11111)-->'tcp_src=11111,actions=set_field:12345->tcp_src,output:2'", + "description": "ethernet/itag/ethernet/ipv4/tcp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_src=11111,actions=set_field:12345->tcp_src,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -273,6 +273,40 @@ { "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 } }, @@ -321,23 +355,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=12345)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json index 29b4f88e..7e6ffdc1 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json @@ -262,7 +262,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp(src_port=11111)-->'tcp_src=11111,actions=set_field:12345->tcp_src,output:2'", + "description": "ethernet/itag/ethernet/ipv6/tcp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_src=11111,actions=set_field:12345->tcp_src,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -273,6 +273,40 @@ { "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":34525 } }, @@ -321,23 +355,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=12345)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json index ab291ea9..4802d39c 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json @@ -262,7 +262,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp(dst_port=2222)-->'tcp_dst=2222,actions=set_field:6789->tcp_dst,output:2'", + "description": "ethernet/itag/ethernet/ipv4/tcp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_dst=2222,actions=set_field:6789->tcp_dst,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -273,6 +273,40 @@ { "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 } }, @@ -321,23 +355,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=6789, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json index c04926ef..8d7f74fd 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json @@ -262,7 +262,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp(dst_port=2222)-->'tcp_dst=2222,actions=set_field:6789->tcp_dst,output:2'", + "description": "ethernet/itag/ethernet/ipv6/tcp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_dst=2222,actions=set_field:6789->tcp_dst,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -273,6 +273,40 @@ { "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":34525 } }, @@ -321,23 +355,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=6789, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json index 8da63f6d..fb8533f3 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json @@ -262,7 +262,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/udp(src_port=11111)-->'udp_src=11111,actions=set_field:12345->udp_src,output:2'", + "description": "ethernet/itag/ethernet/ipv4/udp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_src=11111,actions=set_field:12345->udp_src,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -273,6 +273,40 @@ { "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 } }, @@ -321,23 +355,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=12345)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json index 7f5a91bb..bfe40f2c 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json @@ -262,7 +262,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/udp(src_port=11111)-->'udp_src=11111,actions=set_field:12345->udp_src,output:2'", + "description": "ethernet/itag/ethernet/ipv6/udp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_src=11111,actions=set_field:12345->udp_src,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -273,6 +273,40 @@ { "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":34525 } }, @@ -321,23 +355,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=12345)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json index 73fc1c8c..f81bf579 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json @@ -262,7 +262,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/udp(dst_port=2222)-->'udp_dst=2222,actions=set_field:6789->udp_dst,output:2'", + "description": "ethernet/itag/ethernet/ipv4/udp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_dst=2222,actions=set_field:6789->udp_dst,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -273,6 +273,40 @@ { "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 } }, @@ -321,23 +355,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=6789, src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json index 15404dc5..a5b1ffc6 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json @@ -262,7 +262,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/udp(dst_port=2222)-->'udp_dst=2222,actions=set_field:6789->udp_dst,output:2'", + "description": "ethernet/itag/ethernet/ipv6/udp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_dst=2222,actions=set_field:6789->udp_dst,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -273,6 +273,40 @@ { "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":34525 } }, @@ -321,23 +355,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=6789, src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json index 4d3d17a1..2d845ae4 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json @@ -256,7 +256,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/sctp(src_port=11111)-->'sctp_src=11111,actions=set_field:12345->sctp_src,output:2'", + "description": "ethernet/itag/ethernet/ipv4/sctp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_src=11111,actions=set_field:12345->sctp_src,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -267,6 +267,40 @@ { "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 } }, @@ -315,22 +349,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=12345)" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json index 6e6d23f8..a5fa71d4 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json @@ -256,7 +256,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/sctp(src_port=11111)-->'sctp_src=11111,actions=set_field:12345->sctp_src,output:2'", + "description": "ethernet/itag/ethernet/ipv6/sctp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_src=11111,actions=set_field:12345->sctp_src,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -267,6 +267,40 @@ { "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":34525 } }, @@ -315,22 +349,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=12345)" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json b/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json index 9172cbf2..c6881d98 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json @@ -256,7 +256,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/sctp(dst_port=2222)-->'sctp_dst=2222,actions=set_field:6789->sctp_dst,output:2'", + "description": "ethernet/itag/ethernet/ipv4/sctp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_dst=2222,actions=set_field:6789->sctp_dst,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -267,6 +267,40 @@ { "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 } }, @@ -315,22 +349,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=6789, src_port=11111)" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json b/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json index 576f59f2..55443b48 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json @@ -256,7 +256,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/sctp(dst_port=2222)-->'sctp_dst=2222,actions=set_field:6789->sctp_dst,output:2'", + "description": "ethernet/itag/ethernet/ipv6/sctp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_dst=2222,actions=set_field:6789->sctp_dst,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -267,6 +267,40 @@ { "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":34525 } }, @@ -315,22 +349,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=6789, src_port=11111)" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json b/ryu/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json index 92dfd58b..74dc184f 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json @@ -256,7 +256,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/icmp(type=8)-->'icmpv4_type=8,actions=set_field:0->icmpv4_type,output:2'", + "description": "ethernet/itag/ethernet/ipv4/icmp(type=8)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv4_type=8,actions=set_field:0->icmpv4_type,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -267,6 +267,40 @@ { "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 } }, @@ -315,22 +349,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=0)" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json b/ryu/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json index 2fbce18f..7cfa2388 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json @@ -256,7 +256,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/icmp(code=0)-->'icmpv4_code=0,actions=set_field:10->icmpv4_code,output:2'", + "description": "ethernet/itag/ethernet/ipv4/icmp(code=0)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv4_code=0,actions=set_field:10->icmpv4_code,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -267,6 +267,40 @@ { "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 } }, @@ -315,22 +349,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=10,csum=0,data=echo(data='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json b/ryu/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json index 3fa05a5c..0e854a04 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json @@ -238,7 +238,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/arp(opcode=1)-->'arp_op=1,actions=set_field:2->arp_op,output:2'", + "description": "ethernet/itag/ethernet/arp(opcode=1)-->'actions=pop_pbb,goto_table:1','table_id:1,arp_op=1,actions=set_field:2->arp_op,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -249,6 +249,40 @@ { "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":2054 } }, @@ -291,22 +325,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=2, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json b/ryu/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json index 9110842a..9457c29e 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json @@ -238,7 +238,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_ip='192.168.10.10')-->'arp_spa=192.168.10.10,actions=set_field:10.10.10.10->arp_spa,output:2'", + "description": "ethernet/itag/ethernet/arp(src_ip='192.168.10.10')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_spa=192.168.10.10,actions=set_field:10.10.10.10->arp_spa,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -249,6 +249,40 @@ { "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":2054 } }, @@ -291,22 +325,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='10.10.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json b/ryu/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json index 294dc709..2a5bcc13 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json @@ -238,7 +238,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_ip='192.168.20.20')-->'arp_tpa=192.168.20.20,actions=set_field:10.10.20.20->arp_tpa,output:2'", + "description": "ethernet/itag/ethernet/arp(dst_ip='192.168.20.20')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tpa=192.168.20.20,actions=set_field:10.10.20.20->arp_tpa,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -249,6 +249,40 @@ { "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":2054 } }, @@ -291,22 +325,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json b/ryu/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json index ecf0c9b9..0af4ed37 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json @@ -238,7 +238,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_mac='11:11:11:11:11:11')-->'arp_sha=11:11:11:11:11:11,actions=set_field:aa:aa:aa:aa:aa:aa->arp_sha,output:2'", + "description": "ethernet/itag/ethernet/arp(src_mac='11:11:11:11:11:11')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_sha=11:11:11:11:11:11,actions=set_field:aa:aa:aa:aa:aa:aa->arp_sha,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -249,6 +249,40 @@ { "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":2054 } }, @@ -291,22 +325,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json b/ryu/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json index 0c9a8b92..08c32c41 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json @@ -238,7 +238,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_mac='22:22:22:22:22:22')-->'arp_tha=22:22:22:22:22:22,actions=set_field:bb:bb:bb:bb:bb:bb->arp_tha,output:2'", + "description": "ethernet/itag/ethernet/arp(dst_mac='22:22:22:22:22:22')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tha=22:22:22:22:22:22,actions=set_field:bb:bb:bb:bb:bb:bb->arp_tha,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -249,6 +249,40 @@ { "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":2054 } }, @@ -291,22 +325,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json b/ryu/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json index e914ce13..e52842d3 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(src='10::10')/tcp-->'ipv6_src=10::10,actions=set_field:a0::a0->ipv6_src,output:2'", + "description": "ethernet/itag/ethernet/ipv6(src='10::10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_src=10::10,actions=set_field:a0::a0->ipv6_src,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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":34525 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='a0::a0', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json b/ryu/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json index e3fad6bc..033f4393 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(dst='20::20')/tcp--->'ipv6_dst=20::20,actions=set_field:b0::b0->ipv6_dst,output:2'", + "description": "ethernet/itag/ethernet/ipv6(dst='20::20')/tcp--->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_dst=20::20,actions=set_field:b0::b0->ipv6_dst,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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":34525 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json b/ryu/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json index 2b3a23ec..418a88ee 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json @@ -244,7 +244,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(flow_label=100)/tcp-->'ipv6_flabel=100,actions=set_field:203->ipv6_flabel,output:2'", + "description": "ethernet/itag/ethernet/ipv6(flow_label=100)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_flabel=100,actions=set_field:203->ipv6_flabel,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -255,6 +255,40 @@ { "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":34525 } }, @@ -297,23 +331,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=203, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" 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 93202201..338a7de4 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 @@ -256,7 +256,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(type=128)-->'icmpv6_type=128,actions=set_field:135->icmpv6_type,output:2'", + "description": "ethernet/itag/ethernet/ipv6/icmpv6(type=128)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv6_type=128,actions=set_field:135->icmpv6_type,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -267,6 +267,40 @@ { "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":34525 } }, @@ -315,22 +349,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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 e367f1da..44d3165c 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 @@ -256,7 +256,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(code=0)-->'icmpv6_code=0,actions=set_field:1->icmpv6_code,output:2'", + "description": "ethernet/itag/ethernet/ipv6/icmpv6(code=0)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv6_code=0,actions=set_field:1->icmpv6_code,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -267,6 +267,40 @@ { "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":34525 } }, @@ -315,22 +349,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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/action/25_SET_FIELD/31_IPV6_ND_TARGET.json b/ryu/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json index 848a5329..dba07617 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json @@ -274,7 +274,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(dst='20::20'))-->'ipv6_nd_target=20::20,actions=set_field:a0::a0->ipv6_nd_target,output:2'", + "description": "ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(dst='20::20'))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_target=20::20,actions=set_field:a0::a0->ipv6_nd_target,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -285,6 +285,40 @@ { "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":34525 } }, @@ -339,22 +373,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='a0::a0'),type_=135)" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json b/ryu/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json index ba4e4332..a2651b4b 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json @@ -274,7 +274,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11')))-->'ipv6_nd_sll=11:11:11:11:11:11,actions=set_field:aa:aa:aa:aa:aa:aa->ipv6_nd_sll,output:2'", + "description": "ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11')))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_sll=11:11:11:11:11:11,actions=set_field:aa:aa:aa:aa:aa:aa->ipv6_nd_sll,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -285,6 +285,40 @@ { "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":34525 } }, @@ -339,22 +373,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='aa:aa:aa:aa:aa:aa'),dst='20::20'),type_=135)" ] diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json b/ryu/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json index 7516126e..7351dabf 100644 --- a/ryu/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json +++ b/ryu/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json @@ -274,7 +274,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11')))-->'ipv6_nd_tll=11:11:11:11:11:11,actions=set_field:aa:aa:aa:aa:aa:aa->ipv6_nd_tll,output:2'", + "description": "ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11')))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_tll=11:11:11:11:11:11,actions=set_field:aa:aa:aa:aa:aa:aa->ipv6_nd_tll,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -285,6 +285,40 @@ { "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":34525 } }, @@ -339,22 +373,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=136)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_tla(hw_src='aa:aa:aa:aa:aa:aa'),dst='20::20'),type_=136)" ] diff --git a/ryu/tests/switch/of13/action/26_PUSH_PBB_multiple.json b/ryu/tests/switch/of13/action/26_PUSH_PBB_multiple.json index d2d2dfe0..f4c5faca 100644 --- a/ryu/tests/switch/of13/action/26_PUSH_PBB_multiple.json +++ b/ryu/tests/switch/of13/action/26_PUSH_PBB_multiple.json @@ -1,7 +1,7 @@ [ "action: 26_PUSH_PBB (multiple)", { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp-->'eth_type=0x0800,actions=push_pbb:0x88e7,output:2'", + "description": "ethernet/ipv4/tcp-->'eth_type=0x0800,actions=push_pbb:0x88e7,push_pbb:0x88e7,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -28,6 +28,11 @@ } }, { + "OFPActionPushPbb":{ + "ethertype":35047 + } + }, + { "OFPActionOutput":{ "port":2 } @@ -43,12 +48,7 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -56,12 +56,9 @@ "egress":[ "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag()", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", + "itag()", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -70,7 +67,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp-->'eth_type=0x86dd,actions=push_pbb:0x88e7,output:2'", + "description": "ethernet/ipv6/tcp-->'eth_type=0x86dd,actions=push_pbb:0x88e7,push_pbb:0x88e7,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -97,6 +94,11 @@ } }, { + "OFPActionPushPbb":{ + "ethertype":35047 + } + }, + { "OFPActionOutput":{ "port":2 } @@ -112,12 +114,7 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -125,12 +122,9 @@ "egress":[ "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag()", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", + "itag()", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -139,7 +133,7 @@ ] }, { - "description": "ethernet/svlan/itag/ethernet/svlan/vlan/arp-->'eth_type=0x0806,actions=push_pbb:0x88e7,output:2'", + "description": "ethernet/arp-->'eth_type=0x0806,actions=push_pbb:0x88e7,push_pbb:0x88e7,output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -166,6 +160,11 @@ } }, { + "OFPActionPushPbb":{ + "ethertype":35047 + } + }, + { "OFPActionOutput":{ "port":2 } @@ -181,24 +180,16 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag()", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", + "itag()", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] diff --git a/ryu/tests/switch/of13/match/08_IP_DSCP_IPv4.json b/ryu/tests/switch/of13/match/08_IP_DSCP_IPv4.json index 5778c18d..20d18895 100644 --- a/ryu/tests/switch/of13/match/08_IP_DSCP_IPv4.json +++ b/ryu/tests/switch/of13/match/08_IP_DSCP_IPv4.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(tos=32)/tcp-->'ip_dscp=8,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(tos=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_dscp=8,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(tos=32)/tcp-->'ip_dscp=8,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4(tos=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_dscp=8,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(tos=65)/tcp-->'ip_dscp=8,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(tos=65)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_dscp=8,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/08_IP_DSCP_IPv6.json b/ryu/tests/switch/of13/match/08_IP_DSCP_IPv6.json index b437bff4..05c1ba8f 100644 --- a/ryu/tests/switch/of13/match/08_IP_DSCP_IPv6.json +++ b/ryu/tests/switch/of13/match/08_IP_DSCP_IPv6.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(traffic_class=32)/tcp-->'ip_dscp=8,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(traffic_class=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_dscp=8,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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":34525 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(traffic_class=32)/tcp-->'ip_dscp=8,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(traffic_class=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_dscp=8,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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":34525 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(traffic_class=65)/tcp-->'ip_dscp=8,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(traffic_class=65)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_dscp=8,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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":34525 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/09_IP_ECN_IPv4.json b/ryu/tests/switch/of13/match/09_IP_ECN_IPv4.json index 54e22173..d04f8267 100644 --- a/ryu/tests/switch/of13/match/09_IP_ECN_IPv4.json +++ b/ryu/tests/switch/of13/match/09_IP_ECN_IPv4.json @@ -1,3 +1,4 @@ + [ "match: 09_IP_ECN (IPv4)", { @@ -633,7 +634,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(tos=32)/tcp-->'ip_ecn=0,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(tos=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_ecn=0,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +645,40 @@ { "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 } }, @@ -676,23 +711,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +728,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(tos=32)/tcp-->'ip_ecn=0,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4(tos=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_ecn=0,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +739,40 @@ { "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 } }, @@ -745,23 +806,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +823,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(tos=65)/tcp-->'ip_ecn=0,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(tos=65)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_ecn=0,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +834,40 @@ { "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 } }, @@ -813,18 +900,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/09_IP_ECN_IPv6.json b/ryu/tests/switch/of13/match/09_IP_ECN_IPv6.json index 0ea2edf7..647c710b 100644 --- a/ryu/tests/switch/of13/match/09_IP_ECN_IPv6.json +++ b/ryu/tests/switch/of13/match/09_IP_ECN_IPv6.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(traffic_class=32)/tcp-->'ip_ecn=0,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(traffic_class=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_ecn=0,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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":34525 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(traffic_class=32)/tcp-->'ip_ecn=0,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(traffic_class=32)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_ecn=0,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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":34525 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(traffic_class=65)/tcp-->'ip_ecn=0,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(traffic_class=65)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_ecn=0,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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":34525 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/10_IP_PROTO_IPv4.json b/ryu/tests/switch/of13/match/10_IP_PROTO_IPv4.json index a6c1d293..2c54eacc 100644 --- a/ryu/tests/switch/of13/match/10_IP_PROTO_IPv4.json +++ b/ryu/tests/switch/of13/match/10_IP_PROTO_IPv4.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(proto=6)/tcp-->'ip_proto=6,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(proto=6)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_proto=6,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(proto=6)/tcp-->'ip_proto=6,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4(proto=6)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_proto=6,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(proto=6)/tcp-->'ip_proto=17,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(proto=6)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_proto=17,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/10_IP_PROTO_IPv6.json b/ryu/tests/switch/of13/match/10_IP_PROTO_IPv6.json index 7e397ebd..7de65e01 100644 --- a/ryu/tests/switch/of13/match/10_IP_PROTO_IPv6.json +++ b/ryu/tests/switch/of13/match/10_IP_PROTO_IPv6.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(nxt=6)/tcp-->'ip_proto=6,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(nxt=6)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_proto=6,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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":34525 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(nxt=6)/tcp-->'ip_proto=6,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(nxt=6)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_proto=6,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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":34525 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(nxt=6)/tcp-->'ip_proto=17,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(nxt=6)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ip_proto=17,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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":34525 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/11_IPV4_SRC.json b/ryu/tests/switch/of13/match/11_IPV4_SRC.json index 85f95c30..f3879274 100644 --- a/ryu/tests/switch/of13/match/11_IPV4_SRC.json +++ b/ryu/tests/switch/of13/match/11_IPV4_SRC.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(src='192.168.10.10')/tcp-->'ipv4_src=192.168.10.10,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(src='192.168.10.10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_src=192.168.10.10,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(src='192.168.10.10')/tcp-->'ipv4_src=192.168.10.10,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4(src='192.168.10.10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_src=192.168.10.10,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(src='10.10.10.10')/tcp-->'ipv4_src=192.168.10.10,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(src='10.10.10.10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_src=192.168.10.10,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/11_IPV4_SRC_Mask.json b/ryu/tests/switch/of13/match/11_IPV4_SRC_Mask.json index ce4d93bd..63c86edb 100644 --- a/ryu/tests/switch/of13/match/11_IPV4_SRC_Mask.json +++ b/ryu/tests/switch/of13/match/11_IPV4_SRC_Mask.json @@ -642,7 +642,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(src='192.168.10.10')/tcp-->'ipv4_src=192.168.10.0(mask=0xffffff00),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(src='192.168.10.10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_src=192.168.10.0(mask=0xffffff00),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -653,6 +653,40 @@ { "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 } }, @@ -686,23 +720,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -711,7 +737,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(src='192.168.10.10')/tcp-->'ipv4_src=192.168.10.0(mask=0xffffff00),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4(src='192.168.10.10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_src=192.168.10.0(mask=0xffffff00),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -722,6 +748,40 @@ { "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 } }, @@ -756,23 +816,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -781,7 +833,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(src='10.10.10.10')/tcp-->'ipv4_src=192.168.10.0(mask=0xffffff00),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(src='10.10.10.10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_src=192.168.10.0(mask=0xffffff00),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -792,6 +844,40 @@ { "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 } }, @@ -825,18 +911,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/12_IPV4_DST.json b/ryu/tests/switch/of13/match/12_IPV4_DST.json index 2779d9fe..ff69201c 100644 --- a/ryu/tests/switch/of13/match/12_IPV4_DST.json +++ b/ryu/tests/switch/of13/match/12_IPV4_DST.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(dst='192.168.20.20')/tcp-->'ipv4_dst=192.168.20.20,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(dst='192.168.20.20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_dst=192.168.20.20,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(dst='192.168.20.20')/tcp-->'ipv4_dst=192.168.20.20,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4(dst='192.168.20.20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_dst=192.168.20.20,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(dst='10.10.20.20')/tcp-->'ipv4_dst=192.168.20.20,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(dst='10.10.20.20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_dst=192.168.20.20,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/12_IPV4_DST_Mask.json b/ryu/tests/switch/of13/match/12_IPV4_DST_Mask.json index 35b2d505..277e56e3 100644 --- a/ryu/tests/switch/of13/match/12_IPV4_DST_Mask.json +++ b/ryu/tests/switch/of13/match/12_IPV4_DST_Mask.json @@ -1,3 +1,4 @@ + [ "match: 12_IPV4_DST (Mask)", { @@ -642,7 +643,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(dst='192.168.20.20')/tcp-->'ipv4_dst=192.168.0.20(mask=0xffff00ff),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(dst='192.168.20.20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_dst=192.168.0.20(mask=0xffff00ff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -653,6 +654,40 @@ { "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 } }, @@ -686,23 +721,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -711,7 +738,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(dst='192.168.20.20')/tcp-->'ipv4_dst=192.168.0.20(mask=0xffff00ff),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4(dst='192.168.20.20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_dst=192.168.0.20(mask=0xffff00ff),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -722,6 +749,40 @@ { "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 } }, @@ -756,23 +817,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -781,7 +834,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4(dst='10.10.20.20')/tcp-->'ipv4_dst=192.168.0.20(mask=0xffff00ff),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4(dst='10.10.20.20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv4_dst=192.168.0.20(mask=0xffff00ff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -792,6 +845,40 @@ { "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 } }, @@ -825,18 +912,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/13_TCP_SRC_IPv4.json b/ryu/tests/switch/of13/match/13_TCP_SRC_IPv4.json index d1882e73..4bf4bea0 100644 --- a/ryu/tests/switch/of13/match/13_TCP_SRC_IPv4.json +++ b/ryu/tests/switch/of13/match/13_TCP_SRC_IPv4.json @@ -687,7 +687,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp(src_port=11111)-->'tcp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/tcp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -698,6 +698,40 @@ { "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 } }, @@ -736,23 +770,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -761,7 +787,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp(src_port=11111)-->'tcp_src=11111,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4/tcp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_src=11111,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -772,6 +798,40 @@ { "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 } }, @@ -811,23 +871,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -836,7 +888,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp(src_port=12345)-->'tcp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/tcp(src_port=12345)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -847,6 +899,40 @@ { "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 } }, @@ -885,18 +971,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/13_TCP_SRC_IPv6.json b/ryu/tests/switch/of13/match/13_TCP_SRC_IPv6.json index 018501c5..61d88b3f 100644 --- a/ryu/tests/switch/of13/match/13_TCP_SRC_IPv6.json +++ b/ryu/tests/switch/of13/match/13_TCP_SRC_IPv6.json @@ -687,7 +687,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp(src_port=11111)-->'tcp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/tcp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -698,6 +698,40 @@ { "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":34525 } }, @@ -736,23 +770,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -761,7 +787,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp(src_port=11111)-->'tcp_src=11111,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/tcp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_src=11111,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -772,6 +798,40 @@ { "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":34525 } }, @@ -811,23 +871,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -836,7 +888,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp(src_port=12345)-->'tcp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/tcp(src_port=12345)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -847,6 +899,40 @@ { "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":34525 } }, @@ -885,18 +971,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/14_TCP_DST_IPv4.json b/ryu/tests/switch/of13/match/14_TCP_DST_IPv4.json index 669302d4..17a9b854 100644 --- a/ryu/tests/switch/of13/match/14_TCP_DST_IPv4.json +++ b/ryu/tests/switch/of13/match/14_TCP_DST_IPv4.json @@ -687,7 +687,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp(dst_port=2222)-->'tcp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/tcp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -698,6 +698,40 @@ { "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 } }, @@ -736,23 +770,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -761,7 +787,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp(dst_port=2222)-->'tcp_dst=2222,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4/tcp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_dst=2222,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -772,6 +798,40 @@ { "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 } }, @@ -811,23 +871,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -836,7 +888,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/tcp(dst_port=6789)-->'tcp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/tcp(dst_port=6789)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -847,6 +899,40 @@ { "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 } }, @@ -885,18 +971,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/14_TCP_DST_IPv6.json b/ryu/tests/switch/of13/match/14_TCP_DST_IPv6.json index 25c5616b..3404fce6 100644 --- a/ryu/tests/switch/of13/match/14_TCP_DST_IPv6.json +++ b/ryu/tests/switch/of13/match/14_TCP_DST_IPv6.json @@ -687,7 +687,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp(dst_port=2222)-->'tcp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/tcp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -698,6 +698,40 @@ { "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":34525 } }, @@ -736,23 +770,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -761,7 +787,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp(dst_port=2222)-->'tcp_dst=2222,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/tcp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_dst=2222,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -772,6 +798,40 @@ { "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":34525 } }, @@ -811,23 +871,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -836,7 +888,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp(dst_port=6789)-->'tcp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/tcp(dst_port=6789)-->'actions=pop_pbb,goto_table:1','table_id:1,tcp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -847,6 +899,40 @@ { "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":34525 } }, @@ -885,18 +971,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/15_UDP_SRC_IPv4.json b/ryu/tests/switch/of13/match/15_UDP_SRC_IPv4.json index faac6826..65bc26b8 100644 --- a/ryu/tests/switch/of13/match/15_UDP_SRC_IPv4.json +++ b/ryu/tests/switch/of13/match/15_UDP_SRC_IPv4.json @@ -687,7 +687,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/udp(src_port=11111)-->'udp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/udp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -698,6 +698,40 @@ { "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 } }, @@ -736,23 +770,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" @@ -761,7 +787,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/udp(src_port=11111)-->'udp_src=11111,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4/udp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_src=11111,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -772,6 +798,40 @@ { "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 } }, @@ -811,23 +871,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" @@ -836,7 +888,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/udp(src_port=12345)-->'udp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/udp(src_port=12345)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -847,6 +899,40 @@ { "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 } }, @@ -885,18 +971,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=17, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "udp(dst_port=6789, src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/15_UDP_SRC_IPv6.json b/ryu/tests/switch/of13/match/15_UDP_SRC_IPv6.json index 9b095ee1..d1d6baea 100644 --- a/ryu/tests/switch/of13/match/15_UDP_SRC_IPv6.json +++ b/ryu/tests/switch/of13/match/15_UDP_SRC_IPv6.json @@ -687,7 +687,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/udp(src_port=11111)-->'udp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/udp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -698,6 +698,40 @@ { "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":34525 } }, @@ -736,23 +770,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" @@ -761,7 +787,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/udp(src_port=11111)-->'udp_src=11111,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/udp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_src=11111,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -772,6 +798,40 @@ { "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":34525 } }, @@ -811,23 +871,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" @@ -836,7 +888,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/udp(src_port=12345)-->'udp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/udp(src_port=12345)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -847,6 +899,40 @@ { "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":34525 } }, @@ -885,18 +971,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=17, hop_limit=127, traffic_class=65)", "udp(dst_port=6789, src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/16_UDP_DST_IPv4.json b/ryu/tests/switch/of13/match/16_UDP_DST_IPv4.json index cefc808b..b8eb719d 100644 --- a/ryu/tests/switch/of13/match/16_UDP_DST_IPv4.json +++ b/ryu/tests/switch/of13/match/16_UDP_DST_IPv4.json @@ -687,7 +687,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/udp(dst_port=2222)-->'udp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/udp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -698,6 +698,40 @@ { "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 } }, @@ -736,23 +770,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" @@ -761,7 +787,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/udp(dst_port=2222)-->'udp_dst=2222,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4/udp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_dst=2222,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -772,6 +798,40 @@ { "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 } }, @@ -811,23 +871,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "udp(dst_port=2222, src_port=11111)", "'\\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'" @@ -836,7 +888,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/udp(dst_port=6789)-->'udp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/udp(dst_port=6789)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -847,6 +899,40 @@ { "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 } }, @@ -885,18 +971,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=17, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "udp(dst_port=6789, src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/16_UDP_DST_IPv6.json b/ryu/tests/switch/of13/match/16_UDP_DST_IPv6.json index 6961bf3a..401d2204 100644 --- a/ryu/tests/switch/of13/match/16_UDP_DST_IPv6.json +++ b/ryu/tests/switch/of13/match/16_UDP_DST_IPv6.json @@ -687,7 +687,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/udp(dst_port=2222)-->'udp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/udp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -698,6 +698,40 @@ { "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":34525 } }, @@ -736,23 +770,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" @@ -761,7 +787,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/udp(dst_port=2222)-->'udp_dst=2222,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/udp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_dst=2222,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -772,6 +798,40 @@ { "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":34525 } }, @@ -811,23 +871,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)", "udp(dst_port=2222, src_port=11111)", "'\\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'" @@ -836,7 +888,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/udp(dst_port=6789)-->'udp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/udp(dst_port=6789)-->'actions=pop_pbb,goto_table:1','table_id:1,udp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -847,6 +899,40 @@ { "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":34525 } }, @@ -885,18 +971,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=17, hop_limit=127, traffic_class=65)", "udp(dst_port=6789, src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv4.json b/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv4.json index d1512f63..029c4592 100644 --- a/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv4.json +++ b/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv4.json @@ -672,7 +672,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/sctp(src_port=11111)-->'sctp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/sctp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -683,6 +683,40 @@ { "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 } }, @@ -721,22 +755,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ] @@ -744,7 +770,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/sctp(src_port=11111)-->'sctp_src=11111,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4/sctp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_src=11111,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -755,6 +781,40 @@ { "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 } }, @@ -794,22 +854,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ] @@ -817,7 +869,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/sctp(src_port=12345)-->'sctp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/sctp(src_port=12345)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -828,6 +880,40 @@ { "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 } }, @@ -866,17 +952,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=132, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "sctp(chunks=[chunk_data(payload_data='abcdefghijklmnopqrstuvwxyz0123456789')], dst_port=6789, src_port=12345)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv6.json b/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv6.json index 7a00a701..ed2e3c86 100644 --- a/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv6.json +++ b/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv6.json @@ -672,7 +672,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/sctp(src_port=11111)-->'sctp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/sctp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -683,6 +683,40 @@ { "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":34525 } }, @@ -721,22 +755,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ] @@ -744,7 +770,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/sctp(src_port=11111)-->'sctp_src=11111,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/sctp(src_port=11111)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_src=11111,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -755,6 +781,40 @@ { "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":34525 } }, @@ -794,22 +854,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ] @@ -817,7 +869,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/sctp(src_port=12345)-->'sctp_src=11111,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/sctp(src_port=12345)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_src=11111,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -828,6 +880,40 @@ { "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":34525 } }, @@ -866,17 +952,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=132, hop_limit=127, traffic_class=65)", "sctp(chunks=[chunk_data(payload_data='abcdefghijklmnopqrstuvwxyz0123456789')], dst_port=6789, src_port=12345)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/18_SCTP_DST_IPv4.json b/ryu/tests/switch/of13/match/18_SCTP_DST_IPv4.json index ba8cca20..c3dba667 100644 --- a/ryu/tests/switch/of13/match/18_SCTP_DST_IPv4.json +++ b/ryu/tests/switch/of13/match/18_SCTP_DST_IPv4.json @@ -672,7 +672,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/sctp(dst_port=2222)-->'sctp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/sctp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -683,6 +683,40 @@ { "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 } }, @@ -721,22 +755,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ] @@ -744,7 +770,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/sctp(dst_port=2222)-->'sctp_dst=2222,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4/sctp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_dst=2222,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -755,6 +781,40 @@ { "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 } }, @@ -794,22 +854,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2048)", "ipv4(tos=32, proto=132, src='192.168.10.10', dst='192.168.20.20', ttl=64)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ] @@ -817,7 +869,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/sctp(dst_port=6789)-->'sctp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/sctp(dst_port=6789)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -828,6 +880,40 @@ { "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 } }, @@ -866,17 +952,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)", "ipv4(tos=65, proto=132, src='10.10.10.10', dst='10.10.20.20', ttl=127)", "sctp(chunks=[chunk_data(payload_data='abcdefghijklmnopqrstuvwxyz0123456789')], dst_port=6789, src_port=12345)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/18_SCTP_DST_IPv6.json b/ryu/tests/switch/of13/match/18_SCTP_DST_IPv6.json index 553f5687..7ebb345d 100644 --- a/ryu/tests/switch/of13/match/18_SCTP_DST_IPv6.json +++ b/ryu/tests/switch/of13/match/18_SCTP_DST_IPv6.json @@ -672,7 +672,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/sctp(dst_port=2222)-->'sctp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/sctp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -683,6 +683,40 @@ { "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":34525 } }, @@ -721,22 +755,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ] @@ -744,7 +770,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/sctp(dst_port=2222)-->'sctp_dst=2222,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/sctp(dst_port=2222)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_dst=2222,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -755,6 +781,40 @@ { "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":34525 } }, @@ -794,22 +854,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=132, hop_limit=64, traffic_class=32)", "sctp(chunks=[chunk_data(payload_data='0123456789abcdefghijklmnopqrstuvwxyz')], dst_port=2222, src_port=11111)" ] @@ -817,7 +869,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/sctp(dst_port=6789)-->'sctp_dst=2222,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/sctp(dst_port=6789)-->'actions=pop_pbb,goto_table:1','table_id:1,sctp_dst=2222,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -828,6 +880,40 @@ { "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":34525 } }, @@ -866,17 +952,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=132, hop_limit=127, traffic_class=65)", "sctp(chunks=[chunk_data(payload_data='abcdefghijklmnopqrstuvwxyz0123456789')], dst_port=6789, src_port=12345)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/19_ICMPV4_TYPE.json b/ryu/tests/switch/of13/match/19_ICMPV4_TYPE.json index 34fcd1e7..93a9c4f1 100644 --- a/ryu/tests/switch/of13/match/19_ICMPV4_TYPE.json +++ b/ryu/tests/switch/of13/match/19_ICMPV4_TYPE.json @@ -672,7 +672,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/icmp(type=8)-->'icmpv4_type=8,actions=output:2'", + "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":{ @@ -683,6 +683,40 @@ { "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 } }, @@ -721,22 +755,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ] @@ -744,7 +770,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/icmp(type=8)-->'icmpv4_type=8,actions=output:CONTROLLER'", + "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":{ @@ -755,6 +781,40 @@ { "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 } }, @@ -794,22 +854,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ] @@ -817,7 +869,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/icmp(type=3)-->'icmpv4_type=8,actions=output:2'", + "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":{ @@ -828,6 +880,40 @@ { "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 } }, @@ -866,17 +952,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb: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='\\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 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/20_ICMPV4_CODE.json b/ryu/tests/switch/of13/match/20_ICMPV4_CODE.json index 5b6d4812..b7730153 100644 --- a/ryu/tests/switch/of13/match/20_ICMPV4_CODE.json +++ b/ryu/tests/switch/of13/match/20_ICMPV4_CODE.json @@ -672,7 +672,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/icmp(code=0)-->'icmpv4_code=0,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/icmp(code=0)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv4_code=0,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -683,6 +683,40 @@ { "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 } }, @@ -721,22 +755,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ] @@ -744,7 +770,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/icmp(code=0)-->'icmpv4_code=0,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv4/icmp(code=0)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv4_code=0,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -755,6 +781,40 @@ { "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 } }, @@ -794,22 +854,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2048)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL'),type_=8)" ] @@ -817,7 +869,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv4/icmp(code=1)-->'icmpv4_code=0,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv4/icmp(code=1)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv4_code=0,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -828,6 +880,40 @@ { "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 } }, @@ -866,17 +952,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2048)", + "ethernet(dst='bb: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='\\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 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/21_ARP_OP.json b/ryu/tests/switch/of13/match/21_ARP_OP.json index 9373f8c0..75ffbcc3 100644 --- a/ryu/tests/switch/of13/match/21_ARP_OP.json +++ b/ryu/tests/switch/of13/match/21_ARP_OP.json @@ -618,7 +618,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(opcode=1)-->'arp_op=1,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(opcode=1)-->'actions=pop_pbb,goto_table:1','table_id:1,arp_op=1,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -629,6 +629,40 @@ { "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":2054 } }, @@ -661,22 +695,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -684,7 +710,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(opcode=1)-->'arp_op=1,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(opcode=1)-->'actions=pop_pbb,goto_table:1','table_id:1,arp_op=1,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -695,6 +721,40 @@ { "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":2054 } }, @@ -728,22 +788,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -751,7 +803,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(opcode=2)-->'arp_op=1,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(opcode=2)-->'actions=pop_pbb,goto_table:1','table_id:1,arp_op=1,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -762,6 +814,40 @@ { "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":2054 } }, @@ -794,17 +880,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/22_ARP_SPA.json b/ryu/tests/switch/of13/match/22_ARP_SPA.json index d5a0d14d..673a966a 100644 --- a/ryu/tests/switch/of13/match/22_ARP_SPA.json +++ b/ryu/tests/switch/of13/match/22_ARP_SPA.json @@ -618,7 +618,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_ip='192.168.10.10')-->'arp_spa=192.168.10.10,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(src_ip='192.168.10.10')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_spa=192.168.10.10,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -629,6 +629,40 @@ { "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":2054 } }, @@ -661,22 +695,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -684,7 +710,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_ip='192.168.10.10')-->'arp_spa=192.168.10.10,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(src_ip='192.168.10.10')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_spa=192.168.10.10,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -695,6 +721,40 @@ { "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":2054 } }, @@ -728,22 +788,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -751,7 +803,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_ip='10.10.10.10')-->'arp_spa=192.168.10.10,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(src_ip='10.10.10.10')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_spa=192.168.10.10,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -762,6 +814,40 @@ { "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":2054 } }, @@ -794,17 +880,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/22_ARP_SPA_Mask.json b/ryu/tests/switch/of13/match/22_ARP_SPA_Mask.json index edfcb0b3..1f1de2af 100644 --- a/ryu/tests/switch/of13/match/22_ARP_SPA_Mask.json +++ b/ryu/tests/switch/of13/match/22_ARP_SPA_Mask.json @@ -627,7 +627,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_ip='192.168.10.10')-->'arp_spa=192.168.10.0(mask=0xffffff00),actions=output:2'", + "description":"ethernet/itag/ethernet/arp(src_ip='192.168.10.10')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_spa=192.168.10.0(mask=0xffffff00),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -638,6 +638,40 @@ { "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":2054 } }, @@ -671,22 +705,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -694,7 +720,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_ip='192.168.10.10')-->'arp_spa=192.168.10.0(mask=0xffffff00),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(src_ip='192.168.10.10')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_spa=192.168.10.0(mask=0xffffff00),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -705,6 +731,40 @@ { "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":2054 } }, @@ -739,22 +799,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -762,7 +814,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_ip='10.10.10.10')-->'arp_spa=192.168.10.0(mask=0xffffff00),actions=output:2'", + "description":"ethernet/itag/ethernet/arp(src_ip='10.10.10.10')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_spa=192.168.10.0(mask=0xffffff00),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -773,6 +825,40 @@ { "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":2054 } }, @@ -806,17 +892,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/23_ARP_TPA.json b/ryu/tests/switch/of13/match/23_ARP_TPA.json index 9b042f04..5d833e4b 100644 --- a/ryu/tests/switch/of13/match/23_ARP_TPA.json +++ b/ryu/tests/switch/of13/match/23_ARP_TPA.json @@ -618,7 +618,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_ip='192.168.20.20')-->'arp_tpa=192.168.20.20,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(dst_ip='192.168.20.20')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tpa=192.168.20.20,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -629,6 +629,40 @@ { "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":2054 } }, @@ -661,22 +695,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -684,7 +710,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_ip='192.168.20.20')-->'arp_tpa=192.168.20.20,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(dst_ip='192.168.20.20')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tpa=192.168.20.20,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -695,6 +721,40 @@ { "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":2054 } }, @@ -728,22 +788,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -751,7 +803,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_ip='10.10.20.20')-->'arp_tpa=192.168.20.20,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(dst_ip='10.10.20.20')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tpa=192.168.20.20,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -762,6 +814,40 @@ { "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":2054 } }, @@ -794,17 +880,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/23_ARP_TPA_Mask.json b/ryu/tests/switch/of13/match/23_ARP_TPA_Mask.json index fa702f6c..94cb830c 100644 --- a/ryu/tests/switch/of13/match/23_ARP_TPA_Mask.json +++ b/ryu/tests/switch/of13/match/23_ARP_TPA_Mask.json @@ -627,7 +627,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_ip='192.168.20.20')-->'arp_tpa=192.168.0.20(mask=0xffff00ff),actions=output:2'", + "description":"ethernet/itag/ethernet/arp(dst_ip='192.168.20.20')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tpa=192.168.0.20(mask=0xffff00ff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -638,6 +638,40 @@ { "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":2054 } }, @@ -671,22 +705,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -694,7 +720,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_ip='192.168.20.20')-->'arp_tpa=192.168.0.20(mask=0xffff00ff),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(dst_ip='192.168.20.20')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tpa=192.168.0.20(mask=0xffff00ff),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -705,6 +731,40 @@ { "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":2054 } }, @@ -739,22 +799,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -762,7 +814,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_ip='10.10.20.20')-->'arp_tpa=192.168.0.20(mask=0xffff00ff),actions=output:2'", + "description":"ethernet/itag/ethernet/arp(dst_ip='10.10.20.20')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tpa=192.168.0.20(mask=0xffff00ff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -773,6 +825,40 @@ { "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":2054 } }, @@ -806,17 +892,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/24_ARP_SHA.json b/ryu/tests/switch/of13/match/24_ARP_SHA.json index be814210..41d5184b 100644 --- a/ryu/tests/switch/of13/match/24_ARP_SHA.json +++ b/ryu/tests/switch/of13/match/24_ARP_SHA.json @@ -618,7 +618,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_mac='11:11:11:11:11:11')-->'arp_sha=11:11:11:11:11:11,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(src_mac='11:11:11:11:11:11')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_sha=11:11:11:11:11:11,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -629,6 +629,40 @@ { "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":2054 } }, @@ -661,22 +695,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -684,7 +710,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_mac='11:11:11:11:11:11')-->'arp_sha=11:11:11:11:11:11,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(src_mac='11:11:11:11:11:11')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_sha=11:11:11:11:11:11,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -695,6 +721,40 @@ { "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":2054 } }, @@ -728,22 +788,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -751,7 +803,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_mac='aa:aa:aa:aa:aa:aa')-->'arp_sha=11:11:11:11:11:11,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(src_mac='aa:aa:aa:aa:aa:aa')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_sha=11:11:11:11:11:11,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -762,6 +814,40 @@ { "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":2054 } }, @@ -794,17 +880,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/24_ARP_SHA_Mask.json b/ryu/tests/switch/of13/match/24_ARP_SHA_Mask.json index 426aef4a..8c24dbfe 100644 --- a/ryu/tests/switch/of13/match/24_ARP_SHA_Mask.json +++ b/ryu/tests/switch/of13/match/24_ARP_SHA_Mask.json @@ -627,7 +627,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_mac='11:11:11:11:11:11')-->'arp_sha=11:11:11:00:11:11(mask=0xffffff00ffff),actions=output:2'", + "description":"ethernet/itag/ethernet/arp(src_mac='11:11:11:11:11:11')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_sha=11:11:11:00:11:11(mask=0xffffff00ffff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -638,6 +638,40 @@ { "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":2054 } }, @@ -671,22 +705,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -694,7 +720,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_mac='11:11:11:11:11:11')-->'arp_sha=11:11:11:00:11:11(mask=0xffffff00ffff),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(src_mac='11:11:11:11:11:11')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_sha=11:11:11:00:11:11(mask=0xffffff00ffff),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -705,6 +731,40 @@ { "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":2054 } }, @@ -739,22 +799,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -762,7 +814,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(src_mac='aa:aa:aa:aa:aa:aa')-->'arp_sha=11:11:11:00:11:11(mask=0xffffff00ffff),actions=output:2'", + "description":"ethernet/itag/ethernet/arp(src_mac='aa:aa:aa:aa:aa:aa')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_sha=11:11:11:00:11:11(mask=0xffffff00ffff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -773,6 +825,40 @@ { "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":2054 } }, @@ -806,17 +892,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/25_ARP_THA.json b/ryu/tests/switch/of13/match/25_ARP_THA.json index e5193352..d73a03e9 100644 --- a/ryu/tests/switch/of13/match/25_ARP_THA.json +++ b/ryu/tests/switch/of13/match/25_ARP_THA.json @@ -618,7 +618,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_mac='22:22:22:22:22:22')-->'arp_tha=22:22:22:22:22:22,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(dst_mac='22:22:22:22:22:22')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tha=22:22:22:22:22:22,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -629,6 +629,40 @@ { "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":2054 } }, @@ -661,22 +695,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -684,7 +710,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_mac='22:22:22:22:22:22')-->'arp_tha=22:22:22:22:22:22,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(dst_mac='22:22:22:22:22:22')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tha=22:22:22:22:22:22,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -695,6 +721,40 @@ { "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":2054 } }, @@ -728,22 +788,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -751,7 +803,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_mac='bb:bb:bb:bb:bb:bb')-->'arp_tha=22:22:22:22:22:22,actions=output:2'", + "description":"ethernet/itag/ethernet/arp(dst_mac='bb:bb:bb:bb:bb:bb')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tha=22:22:22:22:22:22,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -762,6 +814,40 @@ { "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":2054 } }, @@ -794,17 +880,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/25_ARP_THA_Mask.json b/ryu/tests/switch/of13/match/25_ARP_THA_Mask.json index 2b83328d..90b40ca9 100644 --- a/ryu/tests/switch/of13/match/25_ARP_THA_Mask.json +++ b/ryu/tests/switch/of13/match/25_ARP_THA_Mask.json @@ -627,7 +627,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_mac='22:22:22:22:22:22')-->'arp_tha=22:22:00:22:22:22(mask=0xffff00ffffff),actions=output:2'", + "description":"ethernet/itag/ethernet/arp(dst_mac='22:22:22:22:22:22')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tha=22:22:00:22:22:22(mask=0xffff00ffffff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -638,6 +638,40 @@ { "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":2054 } }, @@ -671,22 +705,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -694,7 +720,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_mac='22:22:22:22:22:22')-->'arp_tha=22:22:00:22:22:22(mask=0xffff00ffffff),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/arp(dst_mac='22:22:22:22:22:22')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tha=22:22:00:22:22:22(mask=0xffff00ffffff),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -705,6 +731,40 @@ { "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":2054 } }, @@ -739,22 +799,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=2054)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=2054)", "arp(dst_ip='192.168.20.20',dst_mac='22:22:22:22:22:22', opcode=1, src_ip='192.168.10.10',src_mac='11:11:11:11:11:11')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ] @@ -762,7 +814,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/arp(dst_mac='bb:bb:bb:bb:bb:bb')-->'arp_tha=22:22:00:22:22:22(mask=0xffff00ffffff),actions=output:2'", + "description":"ethernet/itag/ethernet/arp(dst_mac='bb:bb:bb:bb:bb:bb')-->'actions=pop_pbb,goto_table:1','table_id:1,arp_tha=22:22:00:22:22:22(mask=0xffff00ffffff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -773,6 +825,40 @@ { "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":2054 } }, @@ -806,17 +892,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=2054)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)", "arp(dst_ip='10.10.20.20',dst_mac='bb:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')", "'\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/26_IPV6_SRC.json b/ryu/tests/switch/of13/match/26_IPV6_SRC.json index f9fecb5b..0ca25f77 100644 --- a/ryu/tests/switch/of13/match/26_IPV6_SRC.json +++ b/ryu/tests/switch/of13/match/26_IPV6_SRC.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(src='10::10')/tcp-->'ipv6_src=10::10,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(src='10::10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_src=10::10,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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":34525 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(src='10::10')/tcp-->'ipv6_src=10::10,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(src='10::10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_src=10::10,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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":34525 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(src='a0::a0')/tcp-->'ipv6_src=10::10,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(src='a0::a0')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_src=10::10,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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":34525 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/26_IPV6_SRC_Mask.json b/ryu/tests/switch/of13/match/26_IPV6_SRC_Mask.json index b6312536..e54c1eef 100644 --- a/ryu/tests/switch/of13/match/26_IPV6_SRC_Mask.json +++ b/ryu/tests/switch/of13/match/26_IPV6_SRC_Mask.json @@ -642,7 +642,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(src='10::10')/tcp-->'ipv6_src=10::0(mask=0xffffffffffffffffffffffffffff0000),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(src='10::10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_src=10::0(mask=0xffffffffffffffffffffffffffff0000),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -653,6 +653,40 @@ { "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":34525 } }, @@ -686,23 +720,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -711,7 +737,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(src='10::10')/tcp-->'ipv6_src=10::0(mask=0xffffffffffffffffffffffffffff0000),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(src='10::10')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_src=10::0(mask=0xffffffffffffffffffffffffffff0000),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -722,6 +748,40 @@ { "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":34525 } }, @@ -756,23 +816,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -781,7 +833,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(src='a0::a0')/tcp-->'ipv6_src=10::0(mask=0xffffffffffffffffffffffffffff0000),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(src='a0::a0')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_src=10::0(mask=0xffffffffffffffffffffffffffff0000),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -792,6 +844,40 @@ { "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":34525 } }, @@ -825,18 +911,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/27_IPV6_DST.json b/ryu/tests/switch/of13/match/27_IPV6_DST.json index 74feaaab..acbe370b 100644 --- a/ryu/tests/switch/of13/match/27_IPV6_DST.json +++ b/ryu/tests/switch/of13/match/27_IPV6_DST.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(dst='20::20')/tcp-->'ipv6_dst=20::20,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(dst='20::20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_dst=20::20,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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":34525 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(dst='20::20')/tcp-->'ipv6_dst=20::20,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(dst='20::20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_dst=20::20,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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":34525 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(dst='b0::b0')/tcp-->'ipv6_dst=20::20,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(dst='b0::b0')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_dst=20::20,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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":34525 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/27_IPV6_DST_Mask.json b/ryu/tests/switch/of13/match/27_IPV6_DST_Mask.json index 1257ff28..8eddbbb9 100644 --- a/ryu/tests/switch/of13/match/27_IPV6_DST_Mask.json +++ b/ryu/tests/switch/of13/match/27_IPV6_DST_Mask.json @@ -642,7 +642,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(dst='20::20')/tcp-->'ipv6_dst=0::20(mask=0x0000ffffffffffffffffffffffffffff),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(dst='20::20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_dst=0::20(mask=0x0000ffffffffffffffffffffffffffff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -653,6 +653,40 @@ { "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":34525 } }, @@ -686,23 +720,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -711,7 +737,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(dst='20::20')/tcp-->'ipv6_dst=0::20(mask=0x0000ffffffffffffffffffffffffffff),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(dst='20::20')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_dst=0::20(mask=0x0000ffffffffffffffffffffffffffff),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -722,6 +748,40 @@ { "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":34525 } }, @@ -756,23 +816,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -781,7 +833,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(dst='b0::b0')/tcp-->'ipv6_dst=0::20(mask=0x0000ffffffffffffffffffffffffffff),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(dst='b0::b0')/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_dst=0::20(mask=0x0000ffffffffffffffffffffffffffff),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -792,6 +844,40 @@ { "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":34525 } }, @@ -825,18 +911,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/28_IPV6_FLABEL.json b/ryu/tests/switch/of13/match/28_IPV6_FLABEL.json index 565ad54e..3ead1035 100644 --- a/ryu/tests/switch/of13/match/28_IPV6_FLABEL.json +++ b/ryu/tests/switch/of13/match/28_IPV6_FLABEL.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(flow_label=100)/tcp-->'ipv6_flabel=100,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(flow_label=100)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_flabel=100,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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":34525 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(flow_label=100)/tcp-->'ipv6_flabel=100,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(flow_label=100)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_flabel=100,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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":34525 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(flow_label=203)/tcp-->'ipv6_flabel=100,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(flow_label=203)/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_flabel=100,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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":34525 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json b/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json index 79b4eeba..e364fc1c 100644 --- a/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json +++ b/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json @@ -672,7 +672,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(type=128)-->'icmpv6_type=128,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(type=128)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv6_type=128,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -683,6 +683,40 @@ { "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":34525 } }, @@ -721,22 +755,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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)" ] @@ -744,7 +770,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(type=128)-->'icmpv6_type=128,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(type=128)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv6_type=128,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -755,6 +781,40 @@ { "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":34525 } }, @@ -794,22 +854,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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)" ] @@ -817,7 +869,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(type=135)-->'icmpv6_type=128,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(type=135)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv6_type=128,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -828,6 +880,40 @@ { "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":34525 } }, @@ -866,17 +952,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=58, hop_limit=127, traffic_class=65)", "icmpv6(code=1,data=nd_neighbor(option=nd_option_sla(hw_src='aa:aa:aa:aa:aa:aa'),dst='a0::a0'),type_=135)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json b/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json index c27175db..e3152f7c 100644 --- a/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json +++ b/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json @@ -672,7 +672,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(code=0)-->'icmpv6_code=0,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(code=0)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv6_code=0,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -683,6 +683,40 @@ { "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":34525 } }, @@ -721,22 +755,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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)" ] @@ -744,7 +770,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(code=0)-->'icmpv6_code=0,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(code=0)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv6_code=0,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -755,6 +781,40 @@ { "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":34525 } }, @@ -794,22 +854,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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='\\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)" ] @@ -817,7 +869,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(code=1)-->'icmpv6_code=0,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(code=1)-->'actions=pop_pbb,goto_table:1','table_id:1,icmpv6_code=0,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -828,6 +880,40 @@ { "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":34525 } }, @@ -866,17 +952,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=58, hop_limit=127, traffic_class=65)", "icmpv6(code=1,data=nd_neighbor(option=nd_option_sla(hw_src='aa:aa:aa:aa:aa:aa'),dst='a0::a0'),type_=135)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/31_IPV6_ND_TARGET.json b/ryu/tests/switch/of13/match/31_IPV6_ND_TARGET.json index 69dd28e0..059b3b74 100644 --- a/ryu/tests/switch/of13/match/31_IPV6_ND_TARGET.json +++ b/ryu/tests/switch/of13/match/31_IPV6_ND_TARGET.json @@ -726,7 +726,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(dst='20::20'))-->'ipv6_nd_target=20::20,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(dst='20::20'))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_target=20::20,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -737,6 +737,40 @@ { "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":34525 } }, @@ -781,22 +815,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ] @@ -804,7 +830,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(dst='20::20'))-->'ipv6_nd_target=20::20,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(dst='20::20'))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_target=20::20,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -815,6 +841,40 @@ { "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":34525 } }, @@ -860,22 +920,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ] @@ -883,7 +935,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(dst='b0::b0'))-->'ipv6_nd_target=20::20,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(dst='b0::b0'))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_target=20::20,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -894,6 +946,40 @@ { "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":34525 } }, @@ -938,17 +1024,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=58, hop_limit=127, traffic_class=65)", "icmpv6(code=0,data=nd_neighbor(option=nd_option_sla(hw_src='aa:aa:aa:aa:aa:aa'),dst='b0::b0'),type_=135)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/32_IPV6_ND_SLL.json b/ryu/tests/switch/of13/match/32_IPV6_ND_SLL.json index 1b9b9213..9dd7ce41 100644 --- a/ryu/tests/switch/of13/match/32_IPV6_ND_SLL.json +++ b/ryu/tests/switch/of13/match/32_IPV6_ND_SLL.json @@ -726,7 +726,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11')))-->'ipv6_nd_sll=11:11:11:11:11:11,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11')))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_sll=11:11:11:11:11:11,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -737,6 +737,40 @@ { "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":34525 } }, @@ -781,22 +815,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ] @@ -804,7 +830,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11')))-->'ipv6_nd_sll=11:11:11:11:11:11,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11')))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_sll=11:11:11:11:11:11,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -815,6 +841,40 @@ { "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":34525 } }, @@ -860,22 +920,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_sla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=135)" ] @@ -883,7 +935,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(option=nd_option_sla(hw_src='aa:aa:aa:aa:aa:aa')))-->'ipv6_nd_sll=11:11:11:11:11:11,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(option=nd_option_sla(hw_src='aa:aa:aa:aa:aa:aa')))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_sll=11:11:11:11:11:11,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -894,6 +946,40 @@ { "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":34525 } }, @@ -938,17 +1024,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=58, hop_limit=127, traffic_class=65)", "icmpv6(code=0,data=nd_neighbor(option=nd_option_sla(hw_src='aa:aa:aa:aa:aa:aa'),dst='b0::b0'),type_=135)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/33_IPV6_ND_TLL.json b/ryu/tests/switch/of13/match/33_IPV6_ND_TLL.json index 34501ba5..cf656c34 100644 --- a/ryu/tests/switch/of13/match/33_IPV6_ND_TLL.json +++ b/ryu/tests/switch/of13/match/33_IPV6_ND_TLL.json @@ -726,7 +726,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11')))-->'ipv6_nd_tll=11:11:11:11:11:11,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11')))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_tll=11:11:11:11:11:11,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -737,6 +737,40 @@ { "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":34525 } }, @@ -781,22 +815,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=136)" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=136)" ] @@ -804,7 +830,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11')))-->'ipv6_nd_tll=11:11:11:11:11:11,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11')))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_tll=11:11:11:11:11:11,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -815,6 +841,40 @@ { "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":34525 } }, @@ -860,22 +920,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=136)" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11: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=nd_neighbor(option=nd_option_tla(hw_src='11:11:11:11:11:11'),dst='20::20'),type_=136)" ] @@ -883,7 +935,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/icmpv6(data=nd_neighbor(option=nd_option_tla(hw_src='aa:aa:aa:aa:aa:aa')))-->'ipv6_nd_tll=11:11:11:11:11:11,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/icmpv6(data=nd_neighbor(option=nd_option_tla(hw_src='aa:aa:aa:aa:aa:aa')))-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_nd_tll=11:11:11:11:11:11,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -894,6 +946,40 @@ { "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":34525 } }, @@ -938,17 +1024,14 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=58, hop_limit=127, traffic_class=65)", "icmpv6(code=0,data=nd_neighbor(option=nd_option_tla(hw_src='aa:aa:aa:aa:aa:aa'),dst='b0::b0'),type_=136)" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/39_IPV6_EXTHDR.json b/ryu/tests/switch/of13/match/39_IPV6_EXTHDR.json index 57388200..70eab776 100644 --- a/ryu/tests/switch/of13/match/39_IPV6_EXTHDR.json +++ b/ryu/tests/switch/of13/match/39_IPV6_EXTHDR.json @@ -633,7 +633,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(ext_hdrs=[hop_opts,auth])/tcp-->'ipv6_exthdr=68,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(ext_hdrs=[hop_opts,auth])/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_exthdr=68,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -644,6 +644,40 @@ { "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":34525 } }, @@ -676,23 +710,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20',ext_hdrs=[hop_opts(nxt=51), auth(nxt=6)],flow_label=100, src='10::10', nxt=0, hop_limit=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20',ext_hdrs=[hop_opts(nxt=51), auth(nxt=6)],flow_label=100, src='10::10', nxt=0, hop_limit=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -701,7 +727,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(ext_hdrs=[hop_opts,auth])/tcp-->'ipv6_exthdr=68,actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(ext_hdrs=[hop_opts,auth])/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_exthdr=68,actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -712,6 +738,40 @@ { "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":34525 } }, @@ -745,23 +805,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20',ext_hdrs=[hop_opts(nxt=51), auth(nxt=6)],flow_label=100, src='10::10', nxt=0, hop_limit=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20',ext_hdrs=[hop_opts(nxt=51), auth(nxt=6)],flow_label=100, src='10::10', nxt=0, hop_limit=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -770,7 +822,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp-->'ipv6_exthdr=68,actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_exthdr=68,actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -781,6 +833,40 @@ { "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":34525 } }, @@ -813,18 +899,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] diff --git a/ryu/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json b/ryu/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json index fd4ce4d5..e5be38bd 100644 --- a/ryu/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json +++ b/ryu/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json @@ -642,7 +642,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(ext_hdrs=[hop_opts,auth])/tcp-->'ipv6_exthdr=64(mask=0x1f0),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6(ext_hdrs=[hop_opts,auth])/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,actions=pop_pbb,goto_table:1','table_id:1,ipv6_exthdr=64(mask=0x1f0),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -653,6 +653,40 @@ { "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":34525 } }, @@ -686,23 +720,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20',ext_hdrs=[hop_opts(nxt=51), auth(nxt=6)],flow_label=100, src='10::10', nxt=0, hop_limit=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "egress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20',ext_hdrs=[hop_opts(nxt=51), auth(nxt=6)],flow_label=100, src='10::10', nxt=0, hop_limit=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -711,7 +737,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6(ext_hdrs=[hop_opts,auth])/tcp-->'ipv6_exthdr=64(mask=0x1f0),actions=output:CONTROLLER'", + "description":"ethernet/itag/ethernet/ipv6(ext_hdrs=[hop_opts,auth])/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_exthdr=64(mask=0x1f0),actions=output:CONTROLLER'", "prerequisite":[ { "OFPFlowMod":{ @@ -722,6 +748,40 @@ { "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":34525 } }, @@ -756,23 +816,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=35047)", "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20',ext_hdrs=[hop_opts(nxt=51), auth(nxt=6)],flow_label=100, src='10::10', nxt=0, hop_limit=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" ], "PACKET_IN":[ - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", - "itag(sid=100)", - "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=3, cfi=0, vid=100, ethertype=34525)", + "ethernet(dst='22:22:22:22:22:22', src='11:11:11:11:11:11', ethertype=34525)", "ipv6(dst='20::20',ext_hdrs=[hop_opts(nxt=51), auth(nxt=6)],flow_label=100, src='10::10', nxt=0, hop_limit=64)", "tcp(dst_port=2222, option='\\x00\\x00\\x00\\x00', src_port=11111)", "'\\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'" @@ -781,7 +833,7 @@ ] }, { - "description":"ethernet/svlan/itag/ethernet/svlan/vlan/ipv6/tcp-->'ipv6_exthdr=64(mask=0x1f0),actions=output:2'", + "description":"ethernet/itag/ethernet/ipv6/tcp-->'actions=pop_pbb,goto_table:1','table_id:1,ipv6_exthdr=64(mask=0x1f0),actions=output:2'", "prerequisite":[ { "OFPFlowMod":{ @@ -792,6 +844,40 @@ { "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":34525 } }, @@ -825,18 +911,15 @@ "tests":[ { "ingress":[ - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=35047, vid=10)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=35047)", "itag(sid=203)", - "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34984)", - "svlan(ethertype=33024, vid=10)", - "vlan(pcp=5, cfi=0, vid=203, ethertype=34525)", + "ethernet(dst='bb:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)", "ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127)", "tcp(dst_port=6789, option='\\x11\\x11\\x11\\x11', src_port=12345)", "'\\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'" ], "table-miss":[ - 0 + 1 ] } ] |