Lines Matching refs:optname

119 static bool setsockopt_needs_rtnl(int optname)
121 switch (optname) {
162 static int do_ipv6_mcast_group_source(struct sock *sk, int optname,
177 if (optname == MCAST_BLOCK_SOURCE) {
180 } else if (optname == MCAST_UNBLOCK_SOURCE) {
183 } else if (optname == MCAST_JOIN_SOURCE_GROUP) {
278 static int ipv6_mcast_join_leave(struct sock *sk, int optname,
292 if (optname == MCAST_JOIN_GROUP)
298 static int compat_ipv6_mcast_join_leave(struct sock *sk, int optname,
312 if (optname == MCAST_JOIN_GROUP)
318 static int ipv6_set_opt_hdr(struct sock *sk, int optname, sockptr_t optval,
328 if (optname != IPV6_RTHDR && !ns_capable(net->user_ns, CAP_NET_RAW))
352 opt = ipv6_renew_options(sk, opt, optname, new);
359 if (optname == IPV6_RTHDR && opt && opt->srcrt) {
392 static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
399 bool needs_rtnl = setsockopt_needs_rtnl(optname);
413 if (ip6_mroute_opt(optname))
414 return ip6_mroute_setsockopt(sk, optname, optval, optlen);
426 switch (optname) {
662 retv = ipv6_set_opt_hdr(sk, optname, optval, optlen);
843 if (optname == IPV6_ADD_MEMBERSHIP)
861 if (optname == IPV6_JOIN_ANYCAST)
877 retv = compat_ipv6_mcast_join_leave(sk, optname, optval,
880 retv = ipv6_mcast_join_leave(sk, optname, optval,
887 retv = do_ipv6_mcast_group_source(sk, optname, optval, optlen);
945 retv = xfrm_user_policy(sk, optname, optval, optlen);
998 int ipv6_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval,
1004 return udp_prot.setsockopt(sk, level, optname, optval, optlen);
1009 err = do_ipv6_setsockopt(sk, level, optname, optval, optlen);
1012 if (err == -ENOPROTOOPT && optname != IPV6_IPSEC_POLICY &&
1013 optname != IPV6_XFRM_POLICY)
1014 err = nf_setsockopt(sk, PF_INET6, optname, optval, optlen);
1021 int optname, char __user *optval, int len)
1028 switch (optname) {
1123 static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
1130 if (ip6_mroute_opt(optname))
1131 return ip6_mroute_getsockopt(sk, optname, optval, optlen);
1135 switch (optname) {
1258 len = ipv6_getsockopt_sticky(sk, opt, optname, optval, len);
1342 if (optname == IPV6_UNICAST_HOPS)
1472 int ipv6_getsockopt(struct sock *sk, int level, int optname,
1478 return udp_prot.getsockopt(sk, level, optname, optval, optlen);
1483 err = do_ipv6_getsockopt(sk, level, optname, optval, optlen, 0);
1486 if (err == -ENOPROTOOPT && optname != IPV6_2292PKTOPTIONS) {
1492 err = nf_getsockopt(sk, PF_INET6, optname, optval, &len);