I have traced a large number of unaligned memory access on mips cpu due to ether_addr_equal(), is_multicast_ether_addr(), is_broadcast_ether_addr() being called on odd addresses. Even though the values are u8, the inlines in etherdevice.h converts them to u16 causing the issue. I can replace ether_addr_equal() with ether_addr_equal_unaligned() but it doesn't seem like a proper fix. Anyone has better ideas?