On August 10, 2019 6:07:15 AM GMT+02:00, Guo Wei Lim <limguowei@xxxxxxxxx> wrote: >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? Can you say which places cause this,and which driver you're using? Also, I guess the type of frame and what address format it has would be good to know. If you aren't also hitting the warning in rx.c about alignment though, it might be that we do in fact need to use code not expecting alignment. johannes -- Sent from my phone.