Prefix Information Option never send in RA messages

The problem came from the fact that there two opposite macro (UIP_CONF_ROUTER) that could not activate the code responsible to send the PIO option in NDP.
This commit is contained in:
Sébastien De Fauw 2014-06-17 11:41:43 +02:00
parent b441901321
commit 22caf4b2e1

View file

@ -121,6 +121,8 @@ static uint8_t *nd6_opt_llao; /** Pointer to llao option in uip_buf */
#if !UIP_CONF_ROUTER // TBD see if we move it to ra_input #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_nd6_opt_prefix_info *nd6_opt_prefix_info; /** Pointer to prefix information option in uip_buf */
static uip_ipaddr_t ipaddr; static uip_ipaddr_t ipaddr;
#endif
#if (!UIP_CONF_ROUTER || UIP_ND6_SEND_RA)
static uip_ds6_prefix_t *prefix; /** Pointer to a prefix list entry */ static uip_ds6_prefix_t *prefix; /** Pointer to a prefix list entry */
#endif #endif
static uip_ds6_nbr_t *nbr; /** Pointer to a nbr cache entry*/ static uip_ds6_nbr_t *nbr; /** Pointer to a nbr cache entry*/
@ -682,7 +684,6 @@ uip_nd6_ra_output(uip_ipaddr_t * dest)
nd6_opt_offset = UIP_ND6_RA_LEN; nd6_opt_offset = UIP_ND6_RA_LEN;
#if !UIP_CONF_ROUTER
/* Prefix list */ /* Prefix list */
for(prefix = uip_ds6_prefix_list; for(prefix = uip_ds6_prefix_list;
prefix < uip_ds6_prefix_list + UIP_DS6_PREFIX_NB; prefix++) { prefix < uip_ds6_prefix_list + UIP_DS6_PREFIX_NB; prefix++) {
@ -699,7 +700,6 @@ uip_nd6_ra_output(uip_ipaddr_t * dest)
uip_len += UIP_ND6_OPT_PREFIX_INFO_LEN; uip_len += UIP_ND6_OPT_PREFIX_INFO_LEN;
} }
} }
#endif /* !UIP_CONF_ROUTER */
/* Source link-layer option */ /* Source link-layer option */
create_llao((uint8_t *)UIP_ND6_OPT_HDR_BUF, UIP_ND6_OPT_SLLAO); create_llao((uint8_t *)UIP_ND6_OPT_HDR_BUF, UIP_ND6_OPT_SLLAO);