Lines Matching refs:optname
121 static bool setsockopt_needs_rtnl(int optname) in setsockopt_needs_rtnl() argument
123 switch (optname) { in setsockopt_needs_rtnl()
140 static int do_ipv6_setsockopt(struct sock *sk, int level, int optname, in do_ipv6_setsockopt() argument
147 bool needs_rtnl = setsockopt_needs_rtnl(optname); in do_ipv6_setsockopt()
161 if (ip6_mroute_opt(optname)) in do_ipv6_setsockopt()
162 return ip6_mroute_setsockopt(sk, optname, optval, optlen); in do_ipv6_setsockopt()
168 switch (optname) { in do_ipv6_setsockopt()
407 if (optname != IPV6_RTHDR && !ns_capable(net->user_ns, CAP_NET_RAW)) in do_ipv6_setsockopt()
411 opt = ipv6_renew_options(sk, opt, optname, in do_ipv6_setsockopt()
421 if (optname == IPV6_RTHDR && opt && opt->srcrt) { in do_ipv6_setsockopt()
616 if (optname == IPV6_ADD_MEMBERSHIP) in do_ipv6_setsockopt()
634 if (optname == IPV6_JOIN_ANYCAST) in do_ipv6_setsockopt()
657 if (optname == MCAST_JOIN_GROUP) in do_ipv6_setsockopt()
684 if (optname == MCAST_BLOCK_SOURCE) { in do_ipv6_setsockopt()
687 } else if (optname == MCAST_UNBLOCK_SOURCE) { in do_ipv6_setsockopt()
690 } else if (optname == MCAST_JOIN_SOURCE_GROUP) { in do_ipv6_setsockopt()
788 retv = xfrm_user_policy(sk, optname, optval, optlen); in do_ipv6_setsockopt()
884 int ipv6_setsockopt(struct sock *sk, int level, int optname, in ipv6_setsockopt() argument
890 return udp_prot.setsockopt(sk, level, optname, optval, optlen); in ipv6_setsockopt()
895 err = do_ipv6_setsockopt(sk, level, optname, optval, optlen); in ipv6_setsockopt()
898 if (err == -ENOPROTOOPT && optname != IPV6_IPSEC_POLICY && in ipv6_setsockopt()
899 optname != IPV6_XFRM_POLICY) { in ipv6_setsockopt()
901 err = nf_setsockopt(sk, PF_INET6, optname, optval, in ipv6_setsockopt()
911 int compat_ipv6_setsockopt(struct sock *sk, int level, int optname, in compat_ipv6_setsockopt() argument
918 return udp_prot.compat_setsockopt(sk, level, optname, in compat_ipv6_setsockopt()
920 return udp_prot.setsockopt(sk, level, optname, optval, optlen); in compat_ipv6_setsockopt()
926 if (optname >= MCAST_JOIN_GROUP && optname <= MCAST_MSFILTER) in compat_ipv6_setsockopt()
927 return compat_mc_setsockopt(sk, level, optname, optval, optlen, in compat_ipv6_setsockopt()
930 err = do_ipv6_setsockopt(sk, level, optname, optval, optlen); in compat_ipv6_setsockopt()
933 if (err == -ENOPROTOOPT && optname != IPV6_IPSEC_POLICY && in compat_ipv6_setsockopt()
934 optname != IPV6_XFRM_POLICY) { in compat_ipv6_setsockopt()
936 err = compat_nf_setsockopt(sk, PF_INET6, optname, in compat_ipv6_setsockopt()
947 int optname, char __user *optval, int len) in ipv6_getsockopt_sticky() argument
954 switch (optname) { in ipv6_getsockopt_sticky()
980 static int do_ipv6_getsockopt(struct sock *sk, int level, int optname, in do_ipv6_getsockopt() argument
987 if (ip6_mroute_opt(optname)) in do_ipv6_getsockopt()
988 return ip6_mroute_getsockopt(sk, optname, optval, optlen); in do_ipv6_getsockopt()
992 switch (optname) { in do_ipv6_getsockopt()
1127 len = ipv6_getsockopt_sticky(sk, opt, optname, optval, len); in do_ipv6_getsockopt()
1207 if (optname == IPV6_UNICAST_HOPS) in do_ipv6_getsockopt()
1321 int ipv6_getsockopt(struct sock *sk, int level, int optname, in ipv6_getsockopt() argument
1327 return udp_prot.getsockopt(sk, level, optname, optval, optlen); in ipv6_getsockopt()
1332 err = do_ipv6_getsockopt(sk, level, optname, optval, optlen, 0); in ipv6_getsockopt()
1335 if (err == -ENOPROTOOPT && optname != IPV6_2292PKTOPTIONS) { in ipv6_getsockopt()
1342 err = nf_getsockopt(sk, PF_INET6, optname, optval, in ipv6_getsockopt()
1354 int compat_ipv6_getsockopt(struct sock *sk, int level, int optname, in compat_ipv6_getsockopt() argument
1361 return udp_prot.compat_getsockopt(sk, level, optname, in compat_ipv6_getsockopt()
1363 return udp_prot.getsockopt(sk, level, optname, optval, optlen); in compat_ipv6_getsockopt()
1369 if (optname == MCAST_MSFILTER) in compat_ipv6_getsockopt()
1370 return compat_mc_getsockopt(sk, level, optname, optval, optlen, in compat_ipv6_getsockopt()
1373 err = do_ipv6_getsockopt(sk, level, optname, optval, optlen, in compat_ipv6_getsockopt()
1377 if (err == -ENOPROTOOPT && optname != IPV6_2292PKTOPTIONS) { in compat_ipv6_getsockopt()
1385 optname, optval, &len); in compat_ipv6_getsockopt()