On May 18, 2017, at 12:24 AM, Remy Leone <remy.leone@xxxxxxxx> wrote:
> Could the reason be that IEEE 802.15.4 is not ethernet? They are EUI-64 and not EUI-48.
The reason is that 802.15.4 doesn't use MAC-48/EUI-48.
MAC address resolution works for non-Ethernet networks, as long as they use MAC-48/EUI-48. "ethers" is really "mac-48s" or "eui-48s", and isn't tied to Ethernet; the name "ethers" is historical (from BSD).
In order to get address-to-name resolution for EUI-64 addresses, you would:
1) have to either add a new file for EUI-64-to-name mapping, and add code to read that file, or add to the code that reads the ethers file code to recognize EUI-64 addresses, as well as the MAC-48/EUI-48 addresses already supported, and have them build a lookup table similar to the one used for MAC-48/EUI-48 addresses;
2) add an "address to resolved address string" routine, and a "how long is the resolved address string for this address" routine, for EUI-64 in epan/address.c, putting pointers to those routines into eui64_address.
And to get them for short 802.15.4 addresses, you'll also have to write code to translate them, and register the "address to resolved address string" and "how long is the resolved address string for this address" routines in the address_type_dissector_register() call in epan/dissectors/packet-ieee802154.c.