Lines Matching refs:ndopts

206 					  struct ndisc_options *ndopts)  in ndisc_parse_options()  argument
210 if (!nd_opt || opt_len < 0 || !ndopts) in ndisc_parse_options()
212 memset(ndopts, 0, sizeof(*ndopts)); in ndisc_parse_options()
225 if (ndopts->nd_opt_array[nd_opt->nd_opt_type]) { in ndisc_parse_options()
230 ndopts->nd_opt_array[nd_opt->nd_opt_type] = nd_opt; in ndisc_parse_options()
234 ndopts->nd_opts_pi_end = nd_opt; in ndisc_parse_options()
235 if (!ndopts->nd_opt_array[nd_opt->nd_opt_type]) in ndisc_parse_options()
236 ndopts->nd_opt_array[nd_opt->nd_opt_type] = nd_opt; in ndisc_parse_options()
240 ndopts->nd_opts_ri_end = nd_opt; in ndisc_parse_options()
241 if (!ndopts->nd_opts_ri) in ndisc_parse_options()
242 ndopts->nd_opts_ri = nd_opt; in ndisc_parse_options()
247 ndopts->nd_useropts_end = nd_opt; in ndisc_parse_options()
248 if (!ndopts->nd_useropts) in ndisc_parse_options()
249 ndopts->nd_useropts = nd_opt; in ndisc_parse_options()
266 return ndopts; in ndisc_parse_options()
713 struct ndisc_options ndopts; in ndisc_recv_ns() local
741 if (!ndisc_parse_options(msg->opt, ndoptlen, &ndopts)) { in ndisc_recv_ns()
746 if (ndopts.nd_opts_src_lladdr) { in ndisc_recv_ns()
747 lladdr = ndisc_opt_addr_data(ndopts.nd_opts_src_lladdr, dev); in ndisc_recv_ns()
884 struct ndisc_options ndopts; in ndisc_recv_na() local
905 if (!ndisc_parse_options(msg->opt, ndoptlen, &ndopts)) { in ndisc_recv_na()
909 if (ndopts.nd_opts_tgt_lladdr) { in ndisc_recv_na()
910 lladdr = ndisc_opt_addr_data(ndopts.nd_opts_tgt_lladdr, dev); in ndisc_recv_na()
987 struct ndisc_options ndopts; in ndisc_recv_rs() local
1011 if (!ndisc_parse_options(rs_msg->opt, ndoptlen, &ndopts)) { in ndisc_recv_rs()
1016 if (ndopts.nd_opts_src_lladdr) { in ndisc_recv_rs()
1017 lladdr = ndisc_opt_addr_data(ndopts.nd_opts_src_lladdr, in ndisc_recv_rs()
1088 struct ndisc_options ndopts; in ndisc_router_discovery() local
1129 if (!ndisc_parse_options(opt, optlen, &ndopts)) { in ndisc_router_discovery()
1314 if (ndopts.nd_opts_src_lladdr) { in ndisc_router_discovery()
1315 lladdr = ndisc_opt_addr_data(ndopts.nd_opts_src_lladdr, in ndisc_router_discovery()
1347 if (in6_dev->cnf.accept_ra_rtr_pref && ndopts.nd_opts_ri) { in ndisc_router_discovery()
1349 for (p = ndopts.nd_opts_ri; in ndisc_router_discovery()
1351 p = ndisc_next_option(p, ndopts.nd_opts_ri_end)) { in ndisc_router_discovery()
1381 if (in6_dev->cnf.accept_ra_pinfo && ndopts.nd_opts_pi) { in ndisc_router_discovery()
1383 for (p = ndopts.nd_opts_pi; in ndisc_router_discovery()
1385 p = ndisc_next_option(p, ndopts.nd_opts_pi_end)) { in ndisc_router_discovery()
1388 ndopts.nd_opts_src_lladdr != NULL); in ndisc_router_discovery()
1392 if (ndopts.nd_opts_mtu && in6_dev->cnf.accept_ra_mtu) { in ndisc_router_discovery()
1396 memcpy(&n, ((u8 *)(ndopts.nd_opts_mtu+1))+2, sizeof(mtu)); in ndisc_router_discovery()
1411 if (ndopts.nd_useropts) { in ndisc_router_discovery()
1413 for (p = ndopts.nd_useropts; in ndisc_router_discovery()
1415 p = ndisc_next_useropt(p, ndopts.nd_useropts_end)) { in ndisc_router_discovery()
1420 if (ndopts.nd_opts_tgt_lladdr || ndopts.nd_opts_rh) { in ndisc_router_discovery()
1432 struct ndisc_options ndopts; in ndisc_redirect_rcv() local
1453 if (!ndisc_parse_options(msg->opt, ndoptlen, &ndopts)) in ndisc_redirect_rcv()
1456 if (!ndopts.nd_opts_rh) { in ndisc_redirect_rcv()
1462 hdr = (u8 *)ndopts.nd_opts_rh; in ndisc_redirect_rcv()