blob: 02c2bb4b483d6516d8f4d7bdb73fe18dcf897f4e [file] [log] [blame]
-- 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(OFChecksum128.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);
}