diff --git a/core/net/uip-nd6.c b/core/net/uip-nd6.c index 30ee2980b..27553b897 100644 --- a/core/net/uip-nd6.c +++ b/core/net/uip-nd6.c @@ -129,6 +129,7 @@ static uip_nd6_opt_llao *nd6_opt_llao; /** Pointer to llao option in uip_buf #if !UIP_CONF_ROUTER // TBD see if we move it to ra_input static uip_nd6_opt_prefix_info *nd6_opt_prefix_info; /** Pointer to prefix information option in uip_buf */ +static uip_ipaddr_t ipaddr; #endif static uip_ds6_nbr_t *nbr; /** Pointer to a nbr cache entry*/ static uip_ds6_prefix_t *prefix; /** Pointer to a prefix list entry */ @@ -854,6 +855,7 @@ uip_nd6_ra_input(void) if((nd6_opt_prefix_info->flagsreserved1 & UIP_ND6_RA_FLAG_AUTONOMOUS) && (nd6_opt_prefix_info->validlt != 0) && (nd6_opt_prefix_info->preflen == UIP_DEFAULT_PREFIX_LEN)) { + uip_ipaddr_copy(&ipaddr, &nd6_opt_prefix_info->prefix); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); addr = uip_ds6_addr_lookup(&ipaddr);