blob: 1d6f4c3184bec8ea1ee5fbd76686010036e0e51a [file] [log] [blame]
Yotam Harchol5749dc32013-08-22 15:41:30 -07001-- binary
204 0e # version, type
300 80 # length
412 34 56 78 # xid
5
6fe dc ba 98 76 54 32 10 # cookie
7
8ff 00 ff 00 ff 00 ff 00 # cookie_mask
9
1003 # table_id
1102 # _command
1200 05 # idle_timeout
1300 0a # hard_timeout
1417 70 # priority
15
1600 00 00 32 # buffer_id
1700 00 00 06 # out_port
18
1900 00 00 08 # out_group
2000 00 # flags
2100 00 # pad
22
2300 01 # match.type
2400 3F # match.length # 59 bytes OXMs + 4 bytes match header
25
2680 00 01 08 # match.oxm_list[0].type_len - IN_PORT
2700 00 00 04 # match.oxm_list[0].value
2800 00 00 05 # match.oxm_list[0].mask
29
3080 00 0A 02 # match.oxm_list[1].type_len - ETH_TYPE
3186 DD # match.oxm_list[1].value - ETH_TYPE = IPv6
32
3380 00 14 01 # match.oxm_list[2].type_len - IP Proto
3406 # match.oxm_list[2].value = IP_PROTO = TCP
35
3680 00 35 20 # match.oxm_list[3].type_len - IPV6_SRC
371C CA FE 1C B1 10 1C 00 00 28 00 00 00 00 00 00 # match.oxm_list[3].value
38FF FF FF FF FF F0 FF FF 1C 2C 3C 00 00 00 00 00 # match.oxm_list[3].mask
39
4000 # match.pad
41
4200 01 # instructions[0].type
4300 08 # instructions[0].length
4404 # instructions[0].table_id
4500 00 00 # pad
46
4700 01 # instructions[1].type
4800 08 # instructions[1].length
4907 # instructions[1].table_id
5000 00 00 # pad
51-- python
52ofp.message.flow_modify_strict(
53 xid=0x12345678,
54 cookie=0xFEDCBA9876543210,
55 cookie_mask=0xFF00FF00FF00FF00,
56 table_id=3,
57 idle_timeout=5,
58 hard_timeout=10,
59 priority=6000,
60 buffer_id=50,
61 out_port=6,
62 out_group=8,
63 flags=0,
64 match=ofp.match(oxm_list=[
65 ofp.oxm.in_port_masked(value=4, value_mask=5),
66 ofp.oxm.eth_type(value=0x86dd),
67 ofp.oxm.ip_proto(value=6),
68 ofp.oxm.ipv6_src_masked(
69 value ='\x1C\xCA\xFE\x1C\xB1\x10\x1C\x00\x00\x28\x00\x00\x00\x00\x00\x00',
70 value_mask='\xFF\xFF\xFF\xFF\xFF\xF0\xFF\xFF\x1C\x2C\x3C\x00\x00\x00\x00\x00')
71 ]),
72 instructions=[
73 ofp.instruction.goto_table(table_id=4),
74 ofp.instruction.goto_table(table_id=7)])
75-- java
76builder.setXid(0x12345678)
77 .setCookie(U64.parseHex("FEDCBA9876543210"))
78 .setCookieMask(U64.parseHex("FF00FF00FF00FF00"))
Andreas Wundsam37e0fb12013-09-28 18:57:57 -070079 .setTableId(TableId.of(3))
Yotam Harchol5749dc32013-08-22 15:41:30 -070080 .setIdleTimeout(5)
81 .setHardTimeout(10)
82 .setPriority(6000)
Rob Vaterlausb10ae552013-09-23 14:39:39 -070083 .setBufferId(OFBufferId.of(50))
Yotam Harchol5749dc32013-08-22 15:41:30 -070084 .setOutPort(OFPort.of(6))
85 .setOutGroup(8)
Andreas Wundsam938f3262013-09-17 14:03:47 -070086 .setFlags(ImmutableSet.<OFFlowModFlags>of())
Yotam Harchol5749dc32013-08-22 15:41:30 -070087 .setMatch(
Yotam Harchola86e4252013-09-06 15:36:28 -070088 factory.buildMatch()
Yotam Harchol5749dc32013-08-22 15:41:30 -070089 .setMasked(MatchField.IN_PORT, OFPort.of(4), OFPort.of(5))
Andreas Wundsamf10ed082013-09-23 14:49:54 -070090 .setExact(MatchField.ETH_TYPE, EthType.IPv6)
Andreas Wundsam520c8802013-10-08 22:05:23 -070091 .setExact(MatchField.IP_PROTO, IpProtocol.TCP)
Yotam Harchol5749dc32013-08-22 15:41:30 -070092 .setMasked(MatchField.IPV6_SRC,
Yotam Harchola289d552013-09-16 10:10:40 -070093 IPv6Address.of(0x1CCAFE1CB1101C00l, 0x0028000000000000l),
94 IPv6Address.of(0xFFFFFFFFFFF0FFFFl, 0x1C2C3C0000000000l))
Yotam Harchol5749dc32013-08-22 15:41:30 -070095 .build()
96 )
97 .setInstructions(
98 ImmutableList.<OFInstruction>of(
Andreas Wundsam37e0fb12013-09-28 18:57:57 -070099 factory.instructions().gotoTable(TableId.of(4)),
100 factory.instructions().gotoTable(TableId.of(7))
Yotam Harchol5749dc32013-08-22 15:41:30 -0700101 )
102 );