mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-01-30 04:52:03 +01:00
sw test tool: Add default test files (of14: action without set-field)
These test files aim to examine 'action' excluding 'set-field' of FlowMod message. This patch only copies ryu/tests/switch/of13/action. Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
76da336bd5
commit
947465e4de
122
ryu/tests/switch/of14/action/00_OUTPUT.json
Normal file
122
ryu/tests/switch/of14/action/00_OUTPUT.json
Normal file
@ -0,0 +1,122 @@
|
||||
[
|
||||
"action: 00_OUTPUT",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp-->'actions=output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp-->'actions=output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/arp-->'actions=output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
117
ryu/tests/switch/of14/action/11_COPY_TTL_OUT.json
Normal file
117
ryu/tests/switch/of14/action/11_COPY_TTL_OUT.json
Normal file
@ -0,0 +1,117 @@
|
||||
[
|
||||
"action: 11_COPY_TTL_OUT",
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/ipv4(ttl=32)/tcp-->'eth_type=0x8847,actions=copy_ttl_out,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionCopyTtlOut":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=32)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/ipv6(hop_limit=32)/tcp-->'eth_type=0x8847,actions=copy_ttl_out,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionCopyTtlOut":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=32, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=32)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=32, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
117
ryu/tests/switch/of14/action/12_COPY_TTL_IN.json
Normal file
117
ryu/tests/switch/of14/action/12_COPY_TTL_IN.json
Normal file
@ -0,0 +1,117 @@
|
||||
[
|
||||
"action: 12_COPY_TTL_IN",
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/ipv4(ttl=32)/tcp-->'eth_type=0x8847,actions=copy_ttl_in,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionCopyTtlIn":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/ipv6(hop_limit=32)/tcp-->'eth_type=0x8847,actions=copy_ttl_in,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionCopyTtlIn":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=32, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
178
ryu/tests/switch/of14/action/15_SET_MPLS_TTL.json
Normal file
178
ryu/tests/switch/of14/action/15_SET_MPLS_TTL.json
Normal file
@ -0,0 +1,178 @@
|
||||
[
|
||||
"action: 15_SET_MPLS_TTL",
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/ipv4/tcp-->'eth_type=0x8847,actions=set_mpls_ttl:127,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetMplsTtl":{
|
||||
"mpls_ttl":127
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=127)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/ipv6/tcp-->'eth_type=0x8847,actions=set_mpls_ttl:127,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetMplsTtl":{
|
||||
"mpls_ttl":127
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=127)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/arp-->'eth_type=0x8847,actions=set_mpls_ttl:127,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetMplsTtl":{
|
||||
"mpls_ttl":127
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=127)",
|
||||
"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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
172
ryu/tests/switch/of14/action/16_DEC_MPLS_TTL.json
Normal file
172
ryu/tests/switch/of14/action/16_DEC_MPLS_TTL.json
Normal file
@ -0,0 +1,172 @@
|
||||
[
|
||||
"action: 16_DEC_MPLS_TTL",
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/ipv4/tcp-->'eth_type=0x8847,actions=dec_mpls_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecMplsTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=63)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/ipv6/tcp-->'eth_type=0x8847,actions=dec_mpls_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecMplsTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=63)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls(ttl=64)/arp-->'eth_type=0x8847,actions=dec_mpls_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecMplsTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=63)",
|
||||
"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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
175
ryu/tests/switch/of14/action/17_PUSH_VLAN.json
Normal file
175
ryu/tests/switch/of14/action/17_PUSH_VLAN.json
Normal file
@ -0,0 +1,175 @@
|
||||
[
|
||||
"action: 17_PUSH_VLAN",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp-->'eth_type=0x0800,actions=push_vlan:0x8100,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushVlan":{
|
||||
"ethertype":33024
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp-->'eth_type=0x86dd,actions=push_vlan:0x8100,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushVlan":{
|
||||
"ethertype":33024
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/arp-->'eth_type=0x0806,actions=push_vlan:0x8100,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2054
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushVlan":{
|
||||
"ethertype":33024
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
181
ryu/tests/switch/of14/action/17_PUSH_VLAN_multiple.json
Normal file
181
ryu/tests/switch/of14/action/17_PUSH_VLAN_multiple.json
Normal file
@ -0,0 +1,181 @@
|
||||
[
|
||||
"action: 17_PUSH_VLAN (multiple)",
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4/tcp-->'eth_type=0x0800,actions=push_vlan:0x88a8,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushVlan":{
|
||||
"ethertype":34984
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(pcp=3, cfi=0, vid=100, ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6/tcp-->'eth_type=0x86dd,actions=push_vlan:0x88a8,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushVlan":{
|
||||
"ethertype":34984
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(pcp=3, cfi=0, vid=100, ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, 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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/arp-->'eth_type=0x0806,actions=push_vlan:0x88a8,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2054
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushVlan":{
|
||||
"ethertype":34984
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(pcp=3, cfi=0, vid=100, ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, 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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
190
ryu/tests/switch/of14/action/18_POP_VLAN.json
Normal file
190
ryu/tests/switch/of14/action/18_POP_VLAN.json
Normal file
@ -0,0 +1,190 @@
|
||||
[
|
||||
"action: 18_POP_VLAN",
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/ipv4/tcp-->'eth_type=0x0800,vlan_vid=0,actions=pop_vlan,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
},
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"vlan_vid",
|
||||
"mask":4096,
|
||||
"value":4096
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopVlan":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/ipv6/tcp-->'eth_type=0x86dd,vlan_vid=0,actions=pop_vlan,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
},
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"vlan_vid",
|
||||
"mask":4096,
|
||||
"value":4096
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopVlan":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/arp-->'eth_type=0x0806,vlan_vid=0,actions=pop_vlan,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2054
|
||||
}
|
||||
},
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"vlan_vid",
|
||||
"mask":4096,
|
||||
"value":4096
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopVlan":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
175
ryu/tests/switch/of14/action/19_PUSH_MPLS.json
Normal file
175
ryu/tests/switch/of14/action/19_PUSH_MPLS.json
Normal file
@ -0,0 +1,175 @@
|
||||
[
|
||||
"action: 19_PUSH_MPLS",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp-->'eth_type=0x0800,actions=push_mpls:0x8847,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushMpls":{
|
||||
"ethertype":34887
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp-->'eth_type=0x86dd,actions=push_mpls:0x8847,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushMpls":{
|
||||
"ethertype":34887
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/arp-->'eth_type=0x0806,actions=push_mpls:0x8847,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2054
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushMpls":{
|
||||
"ethertype":34887
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(ttl=0)",
|
||||
"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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
181
ryu/tests/switch/of14/action/19_PUSH_MPLS_multiple.json
Normal file
181
ryu/tests/switch/of14/action/19_PUSH_MPLS_multiple.json
Normal file
@ -0,0 +1,181 @@
|
||||
[
|
||||
"action: 19_PUSH_MPLS (multiple)",
|
||||
{
|
||||
"description": "ethernet/mpls/ipv4/tcp-->'eth_type=0x8847,actions=push_mpls:0x8847,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushMpls":{
|
||||
"ethertype":34887
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=0, label=100, exp=3, ttl=64)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls/ipv6/tcp-->'eth_type=0x8847,actions=push_mpls:0x8847,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushMpls":{
|
||||
"ethertype":34887
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=0, label=100, exp=3, ttl=64)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls/arp-->'eth_type=0x8847,actions=push_mpls:0x8847,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushMpls":{
|
||||
"ethertype":34887
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=0, label=100, exp=3, ttl=64)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
175
ryu/tests/switch/of14/action/20_POP_MPLS.json
Normal file
175
ryu/tests/switch/of14/action/20_POP_MPLS.json
Normal file
@ -0,0 +1,175 @@
|
||||
[
|
||||
"action: 20_POP_MPLS",
|
||||
{
|
||||
"description": "ethernet/mpls/ipv4/tcp-->'eth_type=0x8847,actions=pop_mpls:0x0800,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopMpls":{
|
||||
"ethertype":2048
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls/ipv6/tcp-->'eth_type=0x8847,actions=pop_mpls:0x86dd,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopMpls":{
|
||||
"ethertype":34525
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls/arp-->'eth_type=0x8847,actions=pop_mpls:0x0806,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopMpls":{
|
||||
"ethertype":2054
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
306
ryu/tests/switch/of14/action/23_SET_NW_TTL_IPv4.json
Normal file
306
ryu/tests/switch/of14/action/23_SET_NW_TTL_IPv4.json
Normal file
@ -0,0 +1,306 @@
|
||||
[
|
||||
"action: 23_SET_NW_TTL (IPv4)",
|
||||
{
|
||||
"description": "ethernet/ipv4(ttl=64)/tcp-->'eth_type=0x0800,actions=set_nw_ttl:32,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetNwTtl":{
|
||||
"nw_ttl":32
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4(ttl=64)/tcp-->'eth_type=0x0800,actions=set_nw_ttl:32,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetNwTtl":{
|
||||
"nw_ttl":32
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls/ipv4(ttl=64)/tcp-->'actions=pop_mpls:0x0800,goto_table:1','table_id:1,eth_type=0x0800,actions=set_nw_ttl:32,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopMpls":{
|
||||
"ethertype":2048
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPInstructionGotoTable":{
|
||||
"table_id":1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":1,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetNwTtl":{
|
||||
"nw_ttl":32
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":35047
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopPbb":{}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPInstructionGotoTable":{
|
||||
"table_id":1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":1,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetNwTtl":{
|
||||
"nw_ttl":32
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag(sid=100)",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
306
ryu/tests/switch/of14/action/23_SET_NW_TTL_IPv6.json
Normal file
306
ryu/tests/switch/of14/action/23_SET_NW_TTL_IPv6.json
Normal file
@ -0,0 +1,306 @@
|
||||
[
|
||||
"action: 23_SET_NW_TTL (IPv6)",
|
||||
{
|
||||
"description": "ethernet/ipv6(hop_limit=64)/tcp-->'eth_type=0x86dd,actions=set_nw_ttl:32,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetNwTtl":{
|
||||
"nw_ttl":32
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6(hop_limit=64)/tcp-->'eth_type=0x86dd,actions=set_nw_ttl:32,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetNwTtl":{
|
||||
"nw_ttl":32
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=32, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls/ipv6(hop_limit=64)/tcp-->'actions=pop_mpls:0x86dd,goto_table:1','table_id:1,eth_type=0x86dd,actions=set_nw_ttl:32,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopMpls":{
|
||||
"ethertype":34525
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPInstructionGotoTable":{
|
||||
"table_id":1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":1,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetNwTtl":{
|
||||
"nw_ttl":32
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":35047
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopPbb":{}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPInstructionGotoTable":{
|
||||
"table_id":1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":1,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionSetNwTtl":{
|
||||
"nw_ttl":32
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag(sid=100)",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
298
ryu/tests/switch/of14/action/24_DEC_NW_TTL_IPv4.json
Normal file
298
ryu/tests/switch/of14/action/24_DEC_NW_TTL_IPv4.json
Normal file
@ -0,0 +1,298 @@
|
||||
[
|
||||
"action: 24_DEC_NW_TTL (IPv4)",
|
||||
{
|
||||
"description": "ethernet/ipv4(ttl=64)/tcp-->'eth_type=0x0800,actions=dec_nw_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecNwTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4(ttl=64)/tcp-->'eth_type=0x0800,actions=dec_nw_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecNwTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=63)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls/ipv4(ttl=64)/tcp-->'actions=pop_mpls:0x0800,goto_table:1','table_id:1,eth_type=0x0800,actions=dec_nw_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopMpls":{
|
||||
"ethertype":2048
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPInstructionGotoTable":{
|
||||
"table_id":1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":1,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecNwTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":35047
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopPbb":{}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPInstructionGotoTable":{
|
||||
"table_id":1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":1,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecNwTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag(sid=100)",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
298
ryu/tests/switch/of14/action/24_DEC_NW_TTL_IPv6.json
Normal file
298
ryu/tests/switch/of14/action/24_DEC_NW_TTL_IPv6.json
Normal file
@ -0,0 +1,298 @@
|
||||
[
|
||||
"action: 24_DEC_NW_TTL (IPv6)",
|
||||
{
|
||||
"description": "ethernet/ipv6(hop_limit=64)/tcp-->'eth_type=0x86dd,actions=dec_nw_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecNwTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6(hop_limit=64)/tcp-->'eth_type=0x86dd,actions=dec_nw_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecNwTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=63, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/mpls/ipv6(hop_limit=64)/tcp-->'actions=pop_mpls:0x86dd,goto_table:1','table_id:1,eth_type=0x86dd,actions=dec_nw_ttl,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34887
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopMpls":{
|
||||
"ethertype":34525
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPInstructionGotoTable":{
|
||||
"table_id":1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":1,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecNwTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34887)",
|
||||
"mpls(bsb=1, label=100, exp=3, ttl=64)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":35047
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopPbb":{}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPInstructionGotoTable":{
|
||||
"table_id":1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":1,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionDecNwTtl":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag(sid=100)",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
178
ryu/tests/switch/of14/action/26_PUSH_PBB.json
Normal file
178
ryu/tests/switch/of14/action/26_PUSH_PBB.json
Normal file
@ -0,0 +1,178 @@
|
||||
[
|
||||
"action: 26_PUSH_PBB",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp-->'eth_type=0x0800,actions=push_pbb:0x88e7,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp-->'eth_type=0x86dd,actions=push_pbb:0x88e7,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/arp-->'eth_type=0x0806,actions=push_pbb:0x88e7,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2054
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
199
ryu/tests/switch/of14/action/26_PUSH_PBB_multiple.json
Normal file
199
ryu/tests/switch/of14/action/26_PUSH_PBB_multiple.json
Normal file
@ -0,0 +1,199 @@
|
||||
[
|
||||
"action: 26_PUSH_PBB (multiple)",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp-->'eth_type=0x0800,actions=push_pbb:0x88e7,push_pbb:0x88e7,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2048
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp-->'eth_type=0x86dd,actions=push_pbb:0x88e7,push_pbb:0x88e7,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":34525
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=6, hop_limit=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/arp-->'eth_type=0x0806,actions=push_pbb:0x88e7,push_pbb:0x88e7,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":2054
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionPushPbb":{
|
||||
"ethertype":35047
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag()",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12: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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
184
ryu/tests/switch/of14/action/27_POP_PBB.json
Normal file
184
ryu/tests/switch/of14/action/27_POP_PBB.json
Normal file
@ -0,0 +1,184 @@
|
||||
[
|
||||
"action: 27_POP_PBB",
|
||||
{
|
||||
"description": "ethernet/itag/ethernet/svlan/vlan/ipv4/tcp-->'eth_type=0x88e7,actions=pop_pbb,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":35047
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopPbb":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag(sid=100)",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(ethertype=33024, vid=10)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(ethertype=33024, vid=10)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/itag/ethernet/svlan/vlan/ipv6/tcp-->'eth_type=0x88e7,actions=pop_pbb,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":35047
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopPbb":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag(sid=100)",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(ethertype=33024, vid=10)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, 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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(ethertype=33024, vid=10)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, 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=str('\\x00' * 4), src_port=11111)",
|
||||
"'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/itag/ethernet/svlan/vlan/arp-->'eth_type=0x88e7,actions=pop_pbb,output:2'",
|
||||
"prerequisite":[
|
||||
{
|
||||
"OFPFlowMod":{
|
||||
"table_id":0,
|
||||
"match":{
|
||||
"OFPMatch":{
|
||||
"oxm_fields":[
|
||||
{
|
||||
"OXMTlv":{
|
||||
"field":"eth_type",
|
||||
"value":35047
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"instructions":[
|
||||
{
|
||||
"OFPInstructionActions":{
|
||||
"actions":[
|
||||
{
|
||||
"OFPActionPopPbb":{}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput":{
|
||||
"port":2
|
||||
}
|
||||
}
|
||||
],
|
||||
"type":4
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests":[
|
||||
{
|
||||
"ingress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=35047)",
|
||||
"itag(sid=100)",
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(ethertype=33024, vid=10)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, 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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
],
|
||||
"egress":[
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34984)",
|
||||
"svlan(ethertype=33024, vid=10)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, 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='12:11:11:11:11:11')",
|
||||
"str('\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
Loading…
x
Reference in New Issue
Block a user