tester: Add test cases for OpenFlow1.0
Note: OpenFlow 1.0 does not mention IPv6, but some implemetation of the switch (e.g. Open vSwitch) can deal with IPv6 header field in some OpenFlow1.0 match/actions. So this patch includes tester.py to test match/actions with IPv6. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
74d5de7803
commit
ce6e5ddd62
|
@ -0,0 +1,112 @@
|
|||
[
|
||||
"action: 00_OUTPUT",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp-->'actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,139 @@
|
|||
[
|
||||
"action: 01_SET_VLAN_VID",
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/ipv4/tcp-->'vlan_vid=100,actions=mod_vlan_vid:203,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionVlanVid": {
|
||||
"vlan_vid": 203
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=203, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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-->'vlan_vid=100,actions=mod_vlan_vid:203,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionVlanVid": {
|
||||
"vlan_vid": 203
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=203, 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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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-->'vlan_vid=100,actions=mod_vlan_vid:203,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionVlanVid": {
|
||||
"vlan_vid": 203
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
],
|
||||
"egress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=203, 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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,139 @@
|
|||
[
|
||||
"action: 02_SET_VLAN_PCP",
|
||||
{
|
||||
"description": "ethernet/vlan(pcp=3)/ipv4/tcp-->'vlan_pcp=3,actions=mod_vlan_pcp:5,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionVlanPcp": {
|
||||
"vlan_pcp": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=5, 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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(pcp=3)/ipv6/tcp-->'vlan_pcp=3,actions=mod_vlan_pcp:5,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionVlanPcp": {
|
||||
"vlan_pcp": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=5, 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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(pcp=3)/arp-->'vlan_pcp=3,actions=mod_vlan_pcp:5,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionVlanPcp": {
|
||||
"vlan_pcp": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
],
|
||||
"egress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=5, 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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,130 @@
|
|||
[
|
||||
"action: 03_STRIP_VLAN",
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/ipv4/tcp-->'vlan_vid=100,actions=strip_vlan,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionStripVlan": {}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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-->'vlan_vid=100,actions=strip_vlan,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionStripVlan": {}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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-->'vlan_vid=100,actions=strip_vlan,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionStripVlan": {}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,133 @@
|
|||
[
|
||||
"action: 04_SET_DL_SRC",
|
||||
{
|
||||
"description": "ethernet(src='12:11:11:11:11:11')/ipv4/tcp-->'eth_src=12:11:11:11:11:11,actions=mod_dl_src:aa:aa:aa:aa:aa:aa,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetDlSrc": {
|
||||
"dl_addr": "aa:aa:aa:aa:aa:aa"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='12:11:11:11:11:11')/ipv6/tcp-->'eth_src=12:11:11:11:11:11,actions=mod_dl_src:aa:aa:aa:aa:aa:aa,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetDlSrc": {
|
||||
"dl_addr": "aa:aa:aa:aa:aa:aa"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='aa:aa:aa:aa:aa:aa', 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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='12:11:11:11:11:11')/arp-->'eth_src=12:11:11:11:11:11,actions=mod_dl_src:aa:aa:aa:aa:aa:aa,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetDlSrc": {
|
||||
"dl_addr": "aa:aa:aa:aa:aa:aa"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"egress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='aa:aa:aa:aa:aa:aa', 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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,133 @@
|
|||
[
|
||||
"action: 05_SET_DL_DST",
|
||||
{
|
||||
"description": "ethernet(dst='22:22:22:22:22:22')/ipv4/tcp-->'eth_dst=22:22:22:22:22:22,actions=mod_dl_dst:ba:bb:bb:bb:bb:bb,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetDlDst": {
|
||||
"dl_addr": "ba:bb:bb:bb:bb:bb"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='ba:bb:bb:bb:bb:bb', 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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='22:22:22:22:22:22')/ipv6/tcp-->'eth_dst=22:22:22:22:22:22,actions=mod_dl_dst:ba:bb:bb:bb:bb:bb,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetDlDst": {
|
||||
"dl_addr": "ba:bb:bb:bb:bb:bb"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='ba:bb:bb:bb:bb:bb', 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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='22:22:22:22:22:22')/arp-->'eth_dst=22:22:22:22:22:22,actions=mod_dl_dst:ba:bb:bb:bb:bb:bb,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetDlDst": {
|
||||
"dl_addr": "ba:bb:bb:bb:bb:bb"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"egress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', 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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,95 @@
|
|||
[
|
||||
"action: 06_SET_NW_SRC",
|
||||
{
|
||||
"description": "ethernet/ipv4(src='192.168.10.10')/tcp-->'nw_src=192.168.10.10,actions=mod_nw_src:10.10.10.10,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetNwSrc": {
|
||||
"nw_addr": "10.10.10.10"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='10.10.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='192.168.10.10')/tcp-->'nw_src=192.168.10.10,actions=mod_nw_src:10.10.10.10,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetNwSrc": {
|
||||
"nw_addr": "10.10.10.10"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='10.10.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,95 @@
|
|||
[
|
||||
"action: 07_SET_NW_DST",
|
||||
{
|
||||
"description": "ethernet/ipv4(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.20,actions=mod_nw_dst:10.10.20.20,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetNwDst": {
|
||||
"nw_addr": "10.10.20.20"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='10.10.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.20,actions=mod_nw_dst:10.10.20.20,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetNwDst": {
|
||||
"nw_addr": "10.10.20.20"
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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='10.10.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,95 @@
|
|||
[
|
||||
"action: 08_SET_NW_TOS (IPv4)",
|
||||
{
|
||||
"description": "ethernet/ipv4(tos=32)/tcp-->'nw_tos=32,actions=mod_nw_tos:64,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetNwTos": {
|
||||
"tos": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(tos=32)/tcp-->'nw_tos=32,actions=mod_nw_tos:64,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetNwTos": {
|
||||
"tos": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, proto=6, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,95 @@
|
|||
[
|
||||
"action: 08_SET_NW_TOS (IPv6)",
|
||||
{
|
||||
"description": "ethernet/ipv6(traffic_class=32)/tcp-->'nw_tos=32,actions=mod_nw_tos:64,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetNwTos": {
|
||||
"tos": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(traffic_class=32)/tcp-->'nw_tos=32,actions=mod_nw_tos:64,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetNwTos": {
|
||||
"tos": 64
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,97 @@
|
|||
[
|
||||
"action: 09_SET_TP_SRC (IPv4/TCP)",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp(src_port=11111)-->'tp_dst=11111,actions=mod_tp_src:12345,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpSrc": {
|
||||
"tp": 12345
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/tcp(src_port=11111)-->'tp_dst=11111,actions=mod_tp_src:12345,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpSrc": {
|
||||
"tp": 12345
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,97 @@
|
|||
[
|
||||
"action: 09_SET_TP_SRC (IPv4/UDP)",
|
||||
{
|
||||
"description": "ethernet/ipv4/udp(src_port=11111)-->'tp_dst=11111,actions=mod_tp_src:12345,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpSrc": {
|
||||
"tp": 12345
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(src_port=11111)-->'tp_dst=11111,actions=mod_tp_src:12345,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpSrc": {
|
||||
"tp": 12345
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,97 @@
|
|||
[
|
||||
"action: 09_SET_TP_SRC (IPv6/TCP)",
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp(src_port=11111)-->'tp_dst=11111,actions=mod_tp_src:12345,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpSrc": {
|
||||
"tp": 12345
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src_port=11111)-->'tp_dst=11111,actions=mod_tp_src:12345,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpSrc": {
|
||||
"tp": 12345
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,97 @@
|
|||
[
|
||||
"action: 09_SET_TP_SRC (IPv6/UDP)",
|
||||
{
|
||||
"description": "ethernet/ipv6/udp(src_port=11111)-->'tp_dst=11111,actions=mod_tp_src:12345,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpSrc": {
|
||||
"tp": 12345
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(src_port=11111)-->'tp_dst=11111,actions=mod_tp_src:12345,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpSrc": {
|
||||
"tp": 12345
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,97 @@
|
|||
[
|
||||
"action: 10_SET_TP_DST (IPv4/TCP)",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp(dst_port=2222)-->'tp_dst=2222,actions=mod_tp_dst:6789,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpDst": {
|
||||
"tp": 6789
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=6789, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/tcp(dst_port=2222)-->'tp_dst=2222,actions=mod_tp_dst:6789,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpDst": {
|
||||
"tp": 6789
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,97 @@
|
|||
[
|
||||
"action: 10_SET_TP_DST (IPv4/UDP)",
|
||||
{
|
||||
"description": "ethernet/ipv4/udp(dst_port=2222)-->'tp_dst=2222,actions=mod_tp_dst:6789,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpDst": {
|
||||
"tp": 6789
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=6789, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(dst_port=2222)-->'tp_dst=2222,actions=mod_tp_dst:6789,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpDst": {
|
||||
"tp": 6789
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=6789, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,97 @@
|
|||
[
|
||||
"action: 10_SET_TP_DST (IPv4/TCP)",
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp(dst_port=2222)-->'tp_dst=2222,actions=mod_tp_dst:6789,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpDst": {
|
||||
"tp": 6789
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=6789, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst_port=2222)-->'tp_dst=2222,actions=mod_tp_dst:6789,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpDst": {
|
||||
"tp": 6789
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=32)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,97 @@
|
|||
[
|
||||
"action: 10_SET_TP_DST (IPv6/UDP)",
|
||||
{
|
||||
"description": "ethernet/ipv6/udp(dst_port=2222)-->'tp_dst=2222,actions=mod_tp_dst:6789,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpDst": {
|
||||
"tp": 6789
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=6789, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(dst_port=2222)-->'tp_dst=2222,actions=mod_tp_dst:6789,output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionSetTpDst": {
|
||||
"tp": 6789
|
||||
}
|
||||
},
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=6789, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,340 @@
|
|||
[
|
||||
"match: 00_IN_PORT",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp-->'in_port=1,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/tcp-->'in_port=1,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/tcp-->'in_port=2,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp-->'in_port=1,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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-->'in_port=1,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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-->'in_port=2,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/arp-->'in_port=1,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/arp-->'in_port=1,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/arp-->'in_port=2,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"in_port": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)",
|
||||
"arp(dst_ip='10.10.20.20',dst_mac='ba:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,340 @@
|
|||
[
|
||||
"match: 01_DL_SRC",
|
||||
{
|
||||
"description": "ethernet(src='12:11:11:11:11:11')/ipv4/tcp-->'dl_src=12:11:11:11:11:11,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='12:11:11:11:11:11')/ipv4/tcp-->'dl_src=12:11:11:11:11:11,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='aa:aa:aa:aa:aa:aa')/ipv4/tcp-->'dl_src=12:11:11:11:11:11,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(src='12:11:11:11:11:11')/ipv6/tcp-->'dl_src=12:11:11:11:11:11,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='12:11:11:11:11:11')/ipv6/tcp-->'dl_src=12:11:11:11:11:11,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='aa:aa:aa:aa:aa:aa')/ipv6/tcp-->'dl_src=12:11:11:11:11:11,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(src='12:11:11:11:11:11')/arp-->'dl_src=12:11:11:11:11:11,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(src='12:11:11:11:11:11')/arp-->'dl_src=12:11:11:11:11:11,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(src='aa:aa:aa:aa:aa:aa')/arp-->'dl_src=12:11:11:11:11:11,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_src": "12:11:11:11:11:11"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)",
|
||||
"arp(dst_ip='10.10.20.20',dst_mac='ba:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,340 @@
|
|||
[
|
||||
"match: 02_DL_DST",
|
||||
{
|
||||
"description": "ethernet(dst='22:22:22:22:22:22')/ipv4/tcp-->'dl_dst=22:22:22:22:22:22,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='22:22:22:22:22:22')/ipv4/tcp-->'dl_dst=22:22:22:22:22:22,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='ba:bb:bb:bb:bb:bb')/ipv4/tcp-->'dl_dst=22:22:22:22:22:22,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(dst='22:22:22:22:22:22')/ipv6/tcp-->'dl_dst=22:22:22:22:22:22,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='22:22:22:22:22:22')/ipv6/tcp-->'dl_dst=22:22:22:22:22:22,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='ba:bb:bb:bb:bb:bb')/ipv6/tcp-->'dl_dst=22:22:22:22:22:22,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(dst='22:22:22:22:22:22')/arp-->'dl_dst=22:22:22:22:22:22,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(dst='22:22:22:22:22:22')/arp-->'dl_dst=22:22:22:22:22:22,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(dst='ba:bb:bb:bb:bb:bb')/arp-->'dl_dst=22:22:22:22:22:22,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_dst": "22:22:22:22:22:22"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)",
|
||||
"arp(dst_ip='10.10.20.20',dst_mac='ba:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,355 @@
|
|||
[
|
||||
"match: 03_DL_VLAN",
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/ipv4/tcp-->'dl_vlan=100,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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)/ipv4/tcp-->'dl_vlan=100,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=203)/ipv4/tcp-->'dl_vlan=100,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/ipv6/tcp-->'dl_vlan=100,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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-->'dl_vlan=100,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=203)/ipv6/tcp-->'dl_vlan=100,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/arp-->'dl_vlan=100,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
],
|
||||
"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=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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(vid=100)/arp-->'dl_vlan=100,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(vid=203)/arp-->'dl_vlan=100,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2054)",
|
||||
"arp(dst_ip='10.10.20.20',dst_mac='ba:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,364 @@
|
|||
[
|
||||
"match: 04_DL_VLAN_PCP",
|
||||
{
|
||||
"description": "ethernet/vlan(pcp=3)/ipv4/tcp-->'dl_vlan_pcp=3,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(pcp=3)/ipv4/tcp-->'dl_vlan_pcp=3,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(pcp=5)/ipv4/tcp-->'dl_vlan_pcp=3,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(pcp=3)/ipv6/tcp-->'dl_vlan_pcp=3,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(pcp=3)/ipv6/tcp-->'dl_vlan_pcp=3,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(pcp=5)/ipv6/tcp-->'dl_vlan_pcp=3,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(pcp=3)/arp-->'dl_vlan_pcp=3,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
],
|
||||
"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=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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(pcp=3)/arp-->'dl_vlan_pcp=3,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=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')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan(pcp=5)/arp-->'dl_vlan_pcp=3,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_vlan": 100,
|
||||
"dl_vlan_pcp": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2054)",
|
||||
"arp(dst_ip='10.10.20.20',dst_mac='ba:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')",
|
||||
"bytes(b'\\x00' * 30)"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,340 @@
|
|||
[
|
||||
"match: 05_DL_TYPE",
|
||||
{
|
||||
"description": "ethernet(ethertype=0x0800)/ipv4/tcp-->'dl_type=0x0800,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(ethertype=0x0800)/ipv4/tcp-->'dl_type=0x0800,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(ethertype=0x0800)/ipv4/tcp-->'dl_type=0x0806,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2054
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(ethertype=0x86dd)/ipv6/tcp-->'dl_type=0x86dd,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(ethertype=0x86dd)/ipv6/tcp-->'dl_type=0x86dd,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(ethertype=0x86dd)/ipv6/tcp-->'dl_type=0x0806,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2054
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(ethertype=0x0806)/arp-->'dl_type=0x0806,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2054
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(ethertype=0x0806)/arp-->'dl_type=0x0806,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2054
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"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')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet(ethertype=0x0806)/arp-->'dl_type=0x0800,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2054)",
|
||||
"arp(dst_ip='10.10.20.20',dst_mac='ba:bb:bb:bb:bb:bb', opcode=2, src_ip='10.10.10.10',src_mac='aa:aa:aa:aa:aa:aa')",
|
||||
"bytes(b'\\x00' * (60 - 42))"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,242 @@
|
|||
[
|
||||
"match: 06_NW_TOS (IPv4)",
|
||||
{
|
||||
"description": "ethernet/ipv4(tos=32)/tcp-->'nw_tos=32,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(tos=32)/tcp-->'nw_tos=32,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(tos=65)/tcp-->'nw_tos=32,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4(tos=32)/tcp-->'nw_tos=32,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(tos=32)/tcp-->'nw_tos=32,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(tos=65)/tcp-->'nw_tos=32,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,242 @@
|
|||
[
|
||||
"match: 06_NW_TOS (IPv6)",
|
||||
{
|
||||
"description": "ethernet/ipv6(traffic_class=32)/tcp-->'nw_tos=32,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(traffic_class=32)/tcp-->'nw_tos=32,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(traffic_class=65)/tcp-->'nw_tos=32,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6(traffic_class=32)/tcp-->'nw_tos=32,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(traffic_class=32)/tcp-->'nw_tos=32,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(traffic_class=65)/tcp-->'nw_tos=32,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_tos": 32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,242 @@
|
|||
[
|
||||
"match: 07_NW_PROTO (IPv4)",
|
||||
{
|
||||
"description": "ethernet/ipv4(proto=6)/tcp-->'nw_proto=6,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(proto=6)/tcp-->'nw_proto=6,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(proto=6)/tcp-->'nw_proto=17,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4(proto=6)/tcp-->'nw_proto=6,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(proto=6)/tcp-->'nw_proto=6,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(proto=6)/tcp-->'nw_proto=17,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,242 @@
|
|||
[
|
||||
"match: 07_NW_PROTO (IPv6)",
|
||||
{
|
||||
"description": "ethernet/ipv6(nxt=6)/tcp-->'nw_proto=6,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(nxt=6)/tcp-->'nw_proto=6,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(nxt=6)/tcp-->'nw_proto=17,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6(nxt=6)/tcp-->'nw_proto=6,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(nxt=6)/tcp-->'nw_proto=6,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(nxt=6)/tcp-->'nw_proto=17,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,242 @@
|
|||
[
|
||||
"match: 08_NW_SRC",
|
||||
{
|
||||
"description": "ethernet/ipv4(src='192.168.10.10')/tcp-->'nw_src=192.168.10.10,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(src='192.168.10.10')/tcp-->'nw_src=192.168.10.10,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(src='10.10.10.10')/tcp-->'nw_src=192.168.10.10,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4(src='192.168.10.10')/tcp-->'nw_src=192.168.10.10,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='192.168.10.10')/tcp-->'nw_src=192.168.10.10,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='10.10.10.10')/tcp-->'nw_src=192.168.10.10,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.10"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 08_NW_SRC (Mask)",
|
||||
{
|
||||
"description": "ethernet/ipv4(src='192.168.10.10')/tcp-->'nw_src=192.168.10.0/24,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.0",
|
||||
"nw_src_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(src='192.168.10.10')/tcp-->'nw_src=192.168.10.0/24,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.0",
|
||||
"nw_src_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(src='10.10.10.10')/tcp-->'nw_src=192.168.10.0/24,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.0",
|
||||
"nw_src_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4(src='192.168.10.10')/tcp-->'nw_src=192.168.10.0/24,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.0",
|
||||
"nw_src_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='192.168.10.10')/tcp-->'nw_src=192.168.10.0/24,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.0",
|
||||
"nw_src_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src='10.10.10.10')/tcp-->'nw_src=192.168.10.0/24,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_src": "192.168.10.0",
|
||||
"nw_src_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,242 @@
|
|||
[
|
||||
"match: 09_NW_DST",
|
||||
{
|
||||
"description": "ethernet/ipv4(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.20,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.20,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(dst='10.10.20.20')/tcp-->'nw_dst=192.168.20.20,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.20,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.20,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='10.10.20.20')/tcp-->'nw_dst=192.168.20.20,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.20"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 09_NW_DST (Mask)",
|
||||
{
|
||||
"description": "ethernet/ipv4(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.0/24,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.0",
|
||||
"nw_dst_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.0/24,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.0",
|
||||
"nw_dst_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4(dst='10.10.20.20')/tcp-->'nw_dst=192.168.20.0/24,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.0",
|
||||
"nw_dst_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.0/24,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.0",
|
||||
"nw_dst_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='192.168.20.20')/tcp-->'nw_dst=192.168.20.0/24,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.0",
|
||||
"nw_dst_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst='10.10.20.20')/tcp-->'nw_dst=192.168.20.0/24,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_dst": "192.168.20.0",
|
||||
"nw_dst_mask": 24
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 10_TP_SRC (IPv4/TCP)",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp(src_port=11111)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/tcp(src_port=11111)-->'tp_src=11111,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/tcp(src_port=12345)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4/tcp(src_port=11111)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/tcp(src_port=11111)-->'tp_src=11111,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/tcp(src_port=12345)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 10_TP_SRC (IPv4/UDP)",
|
||||
{
|
||||
"description": "ethernet/ipv4/udp(src_port=11111)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/udp(src_port=11111)-->'tp_src=11111,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/udp(src_port=12345)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=17, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"udp(dst_port=6789, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4/udp(src_port=11111)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(src_port=11111)-->'tp_src=11111,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(src_port=12345)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=17, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"udp(dst_port=6789, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 10_TP_SRC (IPv4/TCP)",
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp(src_port=11111)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src_port=11111)-->'tp_src=11111,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src_port=12345)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6/tcp(src_port=11111)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src_port=11111)-->'tp_src=11111,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(src_port=12345)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 10_TP_SRC (IPv6/UDP)",
|
||||
{
|
||||
"description": "ethernet/ipv6/udp(src_port=11111)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(src_port=11111)-->'tp_src=11111,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(src_port=12345)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=17, hop_limit=127, traffic_class=65)",
|
||||
"udp(dst_port=6789, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6/udp(src_port=11111)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(src_port=11111)-->'tp_src=11111,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(src_port=12345)-->'tp_src=11111,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_src": 11111
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=17, hop_limit=127, traffic_class=65)",
|
||||
"udp(dst_port=6789, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 11_TP_DST (IPv4/TCP)",
|
||||
{
|
||||
"description": "ethernet/ipv4/tcp(dst_port=2222)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/tcp(dst_port=2222)-->'tp_dst=2222,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/tcp(dst_port=6789)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4/tcp(dst_port=2222)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/tcp(dst_port=2222)-->'tp_dst=2222,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/tcp(dst_port=6789)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=6, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 11_TP_DST (IPv4/UDP)",
|
||||
{
|
||||
"description": "ethernet/ipv4/udp(dst_port=2222)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/udp(dst_port=2222)-->'tp_dst=2222,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/ipv4/udp(dst_port=6789)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=2048)",
|
||||
"ipv4(tos=65, proto=17, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"udp(dst_port=6789, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv4/udp(dst_port=2222)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(dst_port=2222)-->'tp_dst=2222,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=33024)",
|
||||
"vlan(pcp=3, cfi=0, vid=100, ethertype=2048)",
|
||||
"ipv4(tos=32, proto=17, src='192.168.10.10', dst='192.168.20.20', ttl=64)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(dst_port=6789)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 2048,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=2048)",
|
||||
"ipv4(tos=65, proto=17, src='10.10.10.10', dst='10.10.20.20', ttl=127)",
|
||||
"udp(dst_port=6789, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 11_TP_DST (IPv6/TCP)",
|
||||
{
|
||||
"description": "ethernet/ipv6/tcp(dst_port=2222)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst_port=2222)-->'tp_dst=2222,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst_port=6789)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6/tcp(dst_port=2222)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=64, traffic_class=32)",
|
||||
"tcp(dst_port=2222, option=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst_port=2222)-->'tp_dst=2222,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=bytes(b'\\x00' * 4), src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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(dst_port=6789)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 6,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=6, hop_limit=127, traffic_class=65)",
|
||||
"tcp(dst_port=6789, option=bytes(b'\\x01' * 4), src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,248 @@
|
|||
[
|
||||
"match: 11_TP_DST (IPv6/UDP)",
|
||||
{
|
||||
"description": "ethernet/ipv6/udp(dst_port=2222)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(dst_port=2222)-->'tp_dst=2222,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='12:11:11:11:11:11', ethertype=34525)",
|
||||
"ipv6(dst='20::20', flow_label=100, src='10::10', nxt=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(dst_port=6789)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=17, hop_limit=127, traffic_class=65)",
|
||||
"udp(dst_port=6789, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "ethernet/vlan/ipv6/udp(dst_port=2222)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(dst_port=2222)-->'tp_dst=2222,actions=output:CONTROLLER'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 65533
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"PACKET_IN": [
|
||||
"ethernet(dst='22:22:22:22:22:22', src='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=17, hop_limit=64, traffic_class=32)",
|
||||
"udp(dst_port=2222, src_port=11111)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\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/udp(dst_port=6789)-->'tp_dst=2222,actions=output:2'",
|
||||
"prerequisite": [
|
||||
{
|
||||
"OFPFlowMod": {
|
||||
"actions": [
|
||||
{
|
||||
"OFPActionOutput": {
|
||||
"port": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"command": 0,
|
||||
"cookie": 0,
|
||||
"match": {
|
||||
"OFPMatch": {
|
||||
"dl_type": 34525,
|
||||
"nw_proto": 17,
|
||||
"tp_dst": 2222
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"tests": [
|
||||
{
|
||||
"ingress": [
|
||||
"ethernet(dst='ba:bb:bb:bb:bb:bb', src='aa:aa:aa:aa:aa:aa', ethertype=33024)",
|
||||
"vlan(pcp=5, cfi=0, vid=203, ethertype=34525)",
|
||||
"ipv6(dst='b0::b0', flow_label=203, src='a0::a0', nxt=17, hop_limit=127, traffic_class=65)",
|
||||
"udp(dst_port=6789, src_port=12345)",
|
||||
"b'\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'"
|
||||
],
|
||||
"table-miss": [
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue