--- zzzz-none-000/linux-4.1.38/net/ipv6/addrconf_core.c 2017-01-18 18:48:06.000000000 +0000 +++ bcm63-7582-715/linux-4.1.38/net/ipv6/addrconf_core.c 2020-11-25 10:06:48.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.