and a length. The buffer should be 3 * addrlen. Remove local tap_ether_sprintf(), and use ether_snprintf() instead.