--- nd6.c 2016-05-24 01:59:53.000000000 +0530 +++ nd6_modified.c 2016-05-24 11:36:05.102945741 +0530 @@ -472,6 +472,11 @@ struct prefix_option * prefix_opt; prefix_opt = (struct prefix_option *)buffer; + if(ip6_addr_islinklocal(&(prefix_opt->prefix))) /// RFC 4862 , section 5.5.3 link-local prefix in RA message must be silently discarded. + break; + if(prefix_opt->length != 64) + break; + if (prefix_opt->flags & ND6_PREFIX_FLAG_ON_LINK) { /* Add to on-link prefix list. */ s8_t prefix;