/** * Write a DLEP MAC address TLV * @param writer dlep writer * @param mac_lid mac address/LID * @return -1 if address was wrong type, 0 otherwise */ int dlep_writer_add_mac_tlv(struct dlep_writer *writer, const struct oonf_layer2_neigh_key *mac_lid) { uint8_t value[8]; switch (netaddr_get_address_family(&mac_lid->addr)) { case AF_MAC48: case AF_EUI64: break; default: return -1; } netaddr_to_binary(value, &mac_lid->addr, 8); dlep_writer_add_tlv(writer, DLEP_MAC_ADDRESS_TLV, value, netaddr_get_binlength(&mac_lid->addr)); return 0; }
/** * Write a DLEP MAC address TLV * @param writer dlep writer * @param mac mac address * @return -1 if address was wrong type, 0 otherwise */ int dlep_writer_add_mac_tlv(struct dlep_writer *writer, const struct netaddr *mac) { uint8_t value[8]; switch (netaddr_get_address_family(mac)) { case AF_MAC48: case AF_EUI64: break; default: return -1; } netaddr_to_binary(value, mac, 8); dlep_writer_add_tlv(writer, DLEP_MAC_ADDRESS_TLV, value, netaddr_get_binlength(mac)); return 0; }