summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHiroaki KAWAI <kawai@stratosphere.co.jp>2014-03-06 19:14:56 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-04-10 22:17:43 +0900
commit2d7053ac0b509250808f41926406a0d751441820 (patch)
tree017014724ae41d619a9a256605d5667710c70b02
parentd3f8f4eb4cfa3a89164e4ef723d1cc80eb07a68c (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>
-rw-r--r--ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json50
-rw-r--r--ryu/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json50
-rw-r--r--ryu/tests/switch/of13/action/26_PUSH_PBB_multiple.json69
-rw-r--r--ryu/tests/switch/of13/match/08_IP_DSCP_IPv4.json145
-rw-r--r--ryu/tests/switch/of13/match/08_IP_DSCP_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/09_IP_ECN_IPv4.json146
-rw-r--r--ryu/tests/switch/of13/match/09_IP_ECN_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/10_IP_PROTO_IPv4.json145
-rw-r--r--ryu/tests/switch/of13/match/10_IP_PROTO_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/11_IPV4_SRC.json145
-rw-r--r--ryu/tests/switch/of13/match/11_IPV4_SRC_Mask.json145
-rw-r--r--ryu/tests/switch/of13/match/12_IPV4_DST.json145
-rw-r--r--ryu/tests/switch/of13/match/12_IPV4_DST_Mask.json146
-rw-r--r--ryu/tests/switch/of13/match/13_TCP_SRC_IPv4.json145
-rw-r--r--ryu/tests/switch/of13/match/13_TCP_SRC_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/14_TCP_DST_IPv4.json145
-rw-r--r--ryu/tests/switch/of13/match/14_TCP_DST_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/15_UDP_SRC_IPv4.json145
-rw-r--r--ryu/tests/switch/of13/match/15_UDP_SRC_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/16_UDP_DST_IPv4.json145
-rw-r--r--ryu/tests/switch/of13/match/16_UDP_DST_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/17_SCTP_SRC_IPv4.json145
-rw-r--r--ryu/tests/switch/of13/match/17_SCTP_SRC_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/18_SCTP_DST_IPv4.json145
-rw-r--r--ryu/tests/switch/of13/match/18_SCTP_DST_IPv6.json145
-rw-r--r--ryu/tests/switch/of13/match/19_ICMPV4_TYPE.json145
-rw-r--r--ryu/tests/switch/of13/match/20_ICMPV4_CODE.json145
-rw-r--r--ryu/tests/switch/of13/match/21_ARP_OP.json145
-rw-r--r--ryu/tests/switch/of13/match/22_ARP_SPA.json145
-rw-r--r--ryu/tests/switch/of13/match/22_ARP_SPA_Mask.json145
-rw-r--r--ryu/tests/switch/of13/match/23_ARP_TPA.json145
-rw-r--r--ryu/tests/switch/of13/match/23_ARP_TPA_Mask.json145
-rw-r--r--ryu/tests/switch/of13/match/24_ARP_SHA.json145
-rw-r--r--ryu/tests/switch/of13/match/24_ARP_SHA_Mask.json145
-rw-r--r--ryu/tests/switch/of13/match/25_ARP_THA.json145
-rw-r--r--ryu/tests/switch/of13/match/25_ARP_THA_Mask.json145
-rw-r--r--ryu/tests/switch/of13/match/26_IPV6_SRC.json145
-rw-r--r--ryu/tests/switch/of13/match/26_IPV6_SRC_Mask.json145
-rw-r--r--ryu/tests/switch/of13/match/27_IPV6_DST.json145
-rw-r--r--ryu/tests/switch/of13/match/27_IPV6_DST_Mask.json145
-rw-r--r--ryu/tests/switch/of13/match/28_IPV6_FLABEL.json145
-rw-r--r--ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json145
-rw-r--r--ryu/tests/switch/of13/match/30_ICMPV6_CODE.json145
-rw-r--r--ryu/tests/switch/of13/match/31_IPV6_ND_TARGET.json145
-rw-r--r--ryu/tests/switch/of13/match/32_IPV6_ND_SLL.json145
-rw-r--r--ryu/tests/switch/of13/match/33_IPV6_ND_TLL.json145
-rw-r--r--ryu/tests/switch/of13/match/39_IPV6_EXTHDR.json145
-rw-r--r--ryu/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json145
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
]
}
]