• Home
  • Raw
  • Download

Lines Matching refs:opt

103 					   struct ipv6_txoptions *opt)  in ipv6_update_options()  argument
106 if (opt && in ipv6_update_options()
110 icsk->icsk_ext_hdr_len = opt->opt_flen + opt->opt_nflen; in ipv6_update_options()
114 opt = xchg((__force struct ipv6_txoptions **)&inet6_sk(sk)->opt, in ipv6_update_options()
115 opt); in ipv6_update_options()
118 return opt; in ipv6_update_options()
326 struct ipv6_txoptions *opt; in ipv6_set_opt_hdr() local
353 opt = rcu_dereference_protected(np->opt, lockdep_sock_is_held(sk)); in ipv6_set_opt_hdr()
354 opt = ipv6_renew_options(sk, opt, optname, new); in ipv6_set_opt_hdr()
356 if (IS_ERR(opt)) in ipv6_set_opt_hdr()
357 return PTR_ERR(opt); in ipv6_set_opt_hdr()
361 if (optname == IPV6_RTHDR && opt && opt->srcrt) { in ipv6_set_opt_hdr()
362 struct ipv6_rt_hdr *rthdr = opt->srcrt; in ipv6_set_opt_hdr()
373 (struct ipv6_sr_hdr *)opt->srcrt; in ipv6_set_opt_hdr()
385 opt = ipv6_update_options(sk, opt); in ipv6_set_opt_hdr()
387 if (opt) { in ipv6_set_opt_hdr()
388 atomic_sub(opt->tot_len, &sk->sk_omem_alloc); in ipv6_set_opt_hdr()
389 txopt_put(opt); in ipv6_set_opt_hdr()
687 struct ipv6_txoptions *opt = NULL; in do_ipv6_setsockopt() local
706 opt = sock_kmalloc(sk, sizeof(*opt) + optlen, GFP_KERNEL); in do_ipv6_setsockopt()
708 if (!opt) in do_ipv6_setsockopt()
711 memset(opt, 0, sizeof(*opt)); in do_ipv6_setsockopt()
712 refcount_set(&opt->refcnt, 1); in do_ipv6_setsockopt()
713 opt->tot_len = sizeof(*opt) + optlen; in do_ipv6_setsockopt()
715 if (copy_from_sockptr(opt + 1, optval, optlen)) in do_ipv6_setsockopt()
720 msg.msg_control = (void *)(opt+1); in do_ipv6_setsockopt()
721 ipc6.opt = opt; in do_ipv6_setsockopt()
728 opt = ipv6_update_options(sk, opt); in do_ipv6_setsockopt()
730 if (opt) { in do_ipv6_setsockopt()
731 atomic_sub(opt->tot_len, &sk->sk_omem_alloc); in do_ipv6_setsockopt()
732 txopt_put(opt); in do_ipv6_setsockopt()
1023 static int ipv6_getsockopt_sticky(struct sock *sk, struct ipv6_txoptions *opt, in ipv6_getsockopt_sticky() argument
1028 if (!opt) in ipv6_getsockopt_sticky()
1033 hdr = opt->hopopt; in ipv6_getsockopt_sticky()
1036 hdr = opt->dst0opt; in ipv6_getsockopt_sticky()
1039 hdr = (struct ipv6_opt_hdr *)opt->srcrt; in ipv6_getsockopt_sticky()
1042 hdr = opt->dst1opt; in ipv6_getsockopt_sticky()
1260 struct ipv6_txoptions *opt; in do_ipv6_getsockopt() local
1263 opt = rcu_dereference_protected(np->opt, in do_ipv6_getsockopt()
1265 len = ipv6_getsockopt_sticky(sk, opt, optname, optval, len); in do_ipv6_getsockopt()