Lines Matching defs:ndopts

221 					  struct ndisc_options *ndopts)
225 if (!nd_opt || opt_len < 0 || !ndopts)
227 memset(ndopts, 0, sizeof(*ndopts));
235 if (ndisc_ops_parse_options(dev, nd_opt, ndopts))
243 if (ndopts->nd_opt_array[nd_opt->nd_opt_type]) {
248 ndopts->nd_opt_array[nd_opt->nd_opt_type] = nd_opt;
252 ndopts->nd_opts_pi_end = nd_opt;
253 if (!ndopts->nd_opt_array[nd_opt->nd_opt_type])
254 ndopts->nd_opt_array[nd_opt->nd_opt_type] = nd_opt;
258 ndopts->nd_opts_ri_end = nd_opt;
259 if (!ndopts->nd_opts_ri)
260 ndopts->nd_opts_ri = nd_opt;
265 ndopts->nd_useropts_end = nd_opt;
266 if (!ndopts->nd_useropts)
267 ndopts->nd_useropts = nd_opt;
285 return ndopts;
764 struct ndisc_options *ndopts)
768 ndisc_ops_update(dev, neigh, flags, icmp6_type, ndopts);
779 struct ndisc_options ndopts;
808 if (!ndisc_parse_options(dev, msg->opt, ndoptlen, &ndopts)) {
813 if (ndopts.nd_opts_src_lladdr) {
814 lladdr = ndisc_opt_addr_data(ndopts.nd_opts_src_lladdr, dev);
832 if (ndopts.nd_opts_nonce && ndopts.nd_opts_nonce->nd_opt_len == 1)
833 memcpy(&nonce, (u8 *)(ndopts.nd_opts_nonce + 1), 6);
940 NDISC_NEIGHBOUR_SOLICITATION, &ndopts);
963 struct ndisc_options ndopts;
993 if (!ndisc_parse_options(dev, msg->opt, ndoptlen, &ndopts)) {
997 if (ndopts.nd_opts_tgt_lladdr) {
998 lladdr = ndisc_opt_addr_data(ndopts.nd_opts_tgt_lladdr, dev);
1055 NDISC_NEIGHBOUR_ADVERTISEMENT, &ndopts);
1076 struct ndisc_options ndopts;
1100 if (!ndisc_parse_options(skb->dev, rs_msg->opt, ndoptlen, &ndopts)) {
1105 if (ndopts.nd_opts_src_lladdr) {
1106 lladdr = ndisc_opt_addr_data(ndopts.nd_opts_src_lladdr,
1118 NDISC_ROUTER_SOLICITATION, &ndopts);
1179 struct ndisc_options ndopts;
1220 if (!ndisc_parse_options(skb->dev, opt, optlen, &ndopts)) {
1414 if (ndopts.nd_opts_src_lladdr) {
1415 lladdr = ndisc_opt_addr_data(ndopts.nd_opts_src_lladdr,
1428 NDISC_ROUTER_ADVERTISEMENT, &ndopts);
1448 if (in6_dev->cnf.accept_ra_rtr_pref && ndopts.nd_opts_ri) {
1450 for (p = ndopts.nd_opts_ri;
1452 p = ndisc_next_option(p, ndopts.nd_opts_ri_end)) {
1478 /* skip link-specific ndopts from interior routers */
1487 if (in6_dev->cnf.accept_ra_pinfo && ndopts.nd_opts_pi) {
1489 for (p = ndopts.nd_opts_pi;
1491 p = ndisc_next_option(p, ndopts.nd_opts_pi_end)) {
1494 ndopts.nd_opts_src_lladdr != NULL);
1498 if (ndopts.nd_opts_mtu && in6_dev->cnf.accept_ra_mtu) {
1502 memcpy(&n, ((u8 *)(ndopts.nd_opts_mtu+1))+2, sizeof(mtu));
1514 if (ndopts.nd_useropts) {
1516 for (p = ndopts.nd_useropts;
1519 ndopts.nd_useropts_end)) {
1524 if (ndopts.nd_opts_tgt_lladdr || ndopts.nd_opts_rh) {
1536 struct ndisc_options ndopts;
1557 if (!ndisc_parse_options(skb->dev, msg->opt, ndoptlen, &ndopts))
1560 if (!ndopts.nd_opts_rh) {
1566 hdr = (u8 *)ndopts.nd_opts_rh;