Rich Lane | c9fc57d | 2013-05-16 16:39:12 -0700 | [diff] [blame] | 1 | -- binary |
| 2 | 04 0a # version, type |
| 3 | 00 35 # length |
| 4 | 12 34 56 78 # xid |
| 5 | 00 00 00 64 # buffer_id |
| 6 | 42 68 # total_len |
| 7 | 01 # reason |
| 8 | 14 # table_id |
| 9 | fe dc ba 98 76 54 32 10 # cookie |
| 10 | 00 01 # match.type |
| 11 | 00 16 # match.length |
| 12 | 80 00 2A 02 # match.oxm_list[0].type_len |
| 13 | 00 01 # match.oxm_list[0].value |
| 14 | 80 00 01 08 # match.oxm_list[1].type_len |
| 15 | 00 00 00 04 # match.oxm_list[1].value |
| 16 | 00 00 00 05 # match.oxm_list[1].mask |
| 17 | 00 00 # match.pad |
| 18 | 00 00 # pad |
| 19 | 61 62 63 # data |
| 20 | -- python |
| 21 | ofp.message.packet_in( |
| 22 | xid=0x12345678, |
| 23 | buffer_id=100, |
| 24 | total_len=17000, |
| 25 | reason=ofp.OFPR_ACTION, |
| 26 | table_id=20, |
| 27 | cookie=0xFEDCBA9876543210, |
| 28 | match=ofp.match(oxm_list=[ |
| 29 | ofp.oxm.arp_op(value=1), |
| 30 | ofp.oxm.in_port_masked(value=4, value_mask=5)]), |
| 31 | data="abc") |
Andreas Wundsam | 6cd99e5 | 2013-08-02 22:27:23 -0700 | [diff] [blame] | 32 | -- java |
Andreas Wundsam | e0d52be | 2013-08-22 07:52:13 -0700 | [diff] [blame] | 33 | OFOxms oxms = factory.oxms(); |
| 34 | |
Andreas Wundsam | 6cd99e5 | 2013-08-02 22:27:23 -0700 | [diff] [blame] | 35 | builder |
| 36 | .setXid(0x12345678) |
| 37 | .setBufferId(100) |
| 38 | .setTotalLen(17000) |
| 39 | .setReason(OFPacketInReason.ACTION) |
| 40 | .setTableId((byte) 20) |
| 41 | .setCookie(U64.parseHex("FEDCBA9876543210")) |
| 42 | .setMatch( |
Andreas Wundsam | e0d52be | 2013-08-22 07:52:13 -0700 | [diff] [blame] | 43 | factory.buildMatchV3().setOxmList( |
| 44 | OFOxmList.of( |
| 45 | oxms.arpOp(ArpOpcode.ARP_OPCODE_REQUEST), |
| 46 | oxms.inPortMasked(OFPort.of(4), OFPort.of(5)) |
Andreas Wundsam | 6cd99e5 | 2013-08-02 22:27:23 -0700 | [diff] [blame] | 47 | ) |
Andreas Wundsam | e0d52be | 2013-08-22 07:52:13 -0700 | [diff] [blame] | 48 | ).build() |
Andreas Wundsam | 6cd99e5 | 2013-08-02 22:27:23 -0700 | [diff] [blame] | 49 | ) |
| 50 | .setData(new byte[] { 97, 98, 99 } ); |
| 51 | |