--- zzzz-none-000/linux-4.1.52/net/ipv6/addrconf_core.c 2018-05-28 02:26:45.000000000 +0000 +++ bcm63-7530ax-731/linux-4.1.52/net/ipv6/addrconf_core.c 2022-03-02 11:37:13.000000000 +0000 @@ -37,7 +37,11 @@ { __be32 st; +#if defined(CONFIG_MIPS_BCM963XX) && defined(CONFIG_BCM_KF_UNALIGNED_EXCEPTION) + memcpy(&st, &addr->s6_addr[0], sizeof(__be32)); +#else st = addr->s6_addr32[0]; +#endif /* Consider all addresses with the first three bits different of 000 and 111 as unicasts.