static const NLType rtnl_neigh_types[] = {
[NDA_DST] = { .type = NETLINK_TYPE_IN_ADDR },
- [NDA_LLADDR] = { .type = NETLINK_TYPE_ETHER_ADDR },
+ [NDA_LLADDR] = { /* struct ether_addr or struct in_addr */ },
[NDA_CACHEINFO] = { .type = NETLINK_TYPE_CACHE_INFO, .size = sizeof(struct nda_cacheinfo) },
[NDA_PROBES] = { .type = NETLINK_TYPE_U32 },
[NDA_VLAN] = { .type = NETLINK_TYPE_U16 },
if (!in_addr_equal(fam, &gw, gateway))
continue;
- r = sd_netlink_message_read_ether_addr(m, NDA_LLADDR, &mac);
+ r = sd_netlink_message_read(m, NDA_LLADDR, sizeof(mac), &mac);
if (r < 0)
continue;
if (r < 0)
return rtnl_log_create_error(r);
- r = sd_netlink_message_append_ether_addr(req, NDA_LLADDR, fdb_entry->mac_addr);
+ r = sd_netlink_message_append_data(req, NDA_LLADDR, fdb_entry->mac_addr, sizeof(struct ether_addr));
if (r < 0)
return rtnl_log_create_error(r);
if (r < 0)
return log_error_errno(r, "Could not set flags: %m");
- r = sd_netlink_message_append_ether_addr(req, NDA_LLADDR, &neighbor->mac);
+ r = sd_netlink_message_append_data(req, NDA_LLADDR, &neighbor->mac, sizeof(neighbor->mac));
if (r < 0)
return log_error_errno(r, "Could not append NDA_LLADDR attribute: %m");