| -- binary |
| 04 04 # version, type |
| 00 48 # length |
| 12 34 56 78 # xid |
| 00 5c 16 c7 # experimenter |
| 00 00 00 2e # subtype |
| 00 14 # table_id |
| 00 12 # key_length |
| fe dc ba 98 76 54 32 10 ff ee cc bb aa 99 88 77 # checksum |
| |
| 00 00 # key[0].type |
| 00 08 # key[0].length |
| 00 00 00 05 # key[0].value |
| |
| 00 01 # key[1].type |
| 00 0a # key[1].length |
| 01 23 45 67 89 ab # key[1].value |
| |
| 00 00 # value[0].type |
| 00 08 # value[0].length |
| 00 00 00 06 # value[0].value |
| |
| 00 01 # value[1].type |
| 00 0a # value[1].length |
| ff ee dd cc bb aa # value[1].value |
| -- python |
| ofp.message.bsn_gentable_entry_add( |
| xid=0x12345678, |
| checksum=0xFEDCBA9876543210FFEECCBBAA998877, |
| table_id=20, |
| key=[ |
| ofp.bsn_tlv.port(5), |
| ofp.bsn_tlv.mac([0x01, 0x23, 0x45, 0x67, 0x89, 0xab]), |
| ], |
| value=[ |
| ofp.bsn_tlv.port(6), |
| ofp.bsn_tlv.mac([0xff, 0xee, 0xdd, 0xcc, 0xbb, 0xaa]), |
| ]) |
| -- java |
| builder.setXid(0x12345678) |
| .setChecksum(U128.of(0xFEDCBA9876543210L, 0xFFEECCBBAA998877L)) |
| .setTableId(GenTableId.of(20)) |
| .setKey( |
| ImmutableList.<OFBsnTlv>of( |
| factory.bsnTlvs().port(OFPort.of(5)), |
| factory.bsnTlvs().mac(MacAddress.of("01:23:45:67:89:ab")) |
| ) |
| ) |
| .setValue( |
| ImmutableList.<OFBsnTlv>of( |
| factory.bsnTlvs().port(OFPort.of(6)), |
| factory.bsnTlvs().mac(MacAddress.of("ff:ee:dd:cc:bb:aa")) |
| ) |
| ) |
| -- c |
| obj = of_bsn_gentable_entry_add_new(OF_VERSION_1_3); |
| of_bsn_gentable_entry_add_xid_set(obj, 0x12345678); |
| of_bsn_gentable_entry_add_table_id_set(obj, 20); |
| { |
| of_checksum_128_t checksum = { 0xFEDCBA9876543210L, 0xFFEECCBBAA998877L }; |
| of_bsn_gentable_entry_add_checksum_set(obj, checksum); |
| } |
| { |
| of_object_t *list = of_list_bsn_tlv_new(OF_VERSION_1_3); |
| { |
| of_object_t *tlv = of_bsn_tlv_port_new(OF_VERSION_1_3); |
| of_bsn_tlv_port_value_set(tlv, 5); |
| of_list_append(list, tlv); |
| of_object_delete(tlv); |
| } |
| { |
| of_mac_addr_t mac = { { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab } }; |
| of_object_t *tlv = of_bsn_tlv_mac_new(OF_VERSION_1_3); |
| of_bsn_tlv_mac_value_set(tlv, mac); |
| of_list_append(list, tlv); |
| of_object_delete(tlv); |
| } |
| of_bsn_gentable_entry_add_key_set(obj, list); |
| of_object_delete(list); |
| } |
| { |
| of_object_t *list = of_list_bsn_tlv_new(OF_VERSION_1_3); |
| { |
| of_object_t *tlv = of_bsn_tlv_port_new(OF_VERSION_1_3); |
| of_bsn_tlv_port_value_set(tlv, 6); |
| of_list_append(list, tlv); |
| of_object_delete(tlv); |
| } |
| { |
| of_mac_addr_t mac = { { 0xff, 0xee, 0xdd, 0xcc, 0xbb, 0xaa } }; |
| of_object_t *tlv = of_bsn_tlv_mac_new(OF_VERSION_1_3); |
| of_bsn_tlv_mac_value_set(tlv, mac); |
| of_list_append(list, tlv); |
| of_object_delete(tlv); |
| } |
| of_bsn_gentable_entry_add_value_set(obj, list); |
| of_object_delete(list); |
| } |