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:
Yuichi Ito 2014-06-23 14:44:05 +09:00 committed by FUJITA Tomonori
parent 76da336bd5
commit 947465e4de
18 changed files with 3552 additions and 0 deletions

View 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))"
]
}
]
}
]

View 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'"
]
}
]
}
]

View 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'"
]
}
]
}
]

View 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)"
]
}
]
}
]

View 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)"
]
}
]
}
]

View 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))"
]
}
]
}
]

View 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)"
]
}
]
}
]

View 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))"
]
}
]
}
]

View 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))"
]
}
]
}
]

View 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)"
]
}
]
}
]

View 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))"
]
}
]
}
]

View 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'"
]
}
]
}
]

View 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'"
]
}
]
}
]

View 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'"
]
}
]
}
]

View 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'"
]
}
]
}
]

View 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))"
]
}
]
}
]

View 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)"
]
}
]
}
]

View 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)"
]
}
]
}
]