Lines Matching refs:optname
121 static bool setsockopt_needs_rtnl(int optname)
123 switch (optname) {
164 static int do_ipv6_mcast_group_source(struct sock *sk, int optname,
179 if (optname == MCAST_BLOCK_SOURCE) {
182 } else if (optname == MCAST_UNBLOCK_SOURCE) {
185 } else if (optname == MCAST_JOIN_SOURCE_GROUP) {
280 static int ipv6_mcast_join_leave(struct sock *sk, int optname,
294 if (optname == MCAST_JOIN_GROUP)
300 static int compat_ipv6_mcast_join_leave(struct sock *sk, int optname,
314 if (optname == MCAST_JOIN_GROUP)
320 static int ipv6_set_opt_hdr(struct sock *sk, int optname, sockptr_t optval,
330 if (optname != IPV6_RTHDR && !sockopt_ns_capable(net->user_ns, CAP_NET_RAW))
354 opt = ipv6_renew_options(sk, opt, optname, new);
361 if (optname == IPV6_RTHDR && opt && opt->srcrt) {
394 int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
401 bool needs_rtnl = setsockopt_needs_rtnl(optname);
415 if (ip6_mroute_opt(optname))
416 return ip6_mroute_setsockopt(sk, optname, optval, optlen);
428 switch (optname) {
659 retv = ipv6_set_opt_hdr(sk, optname, optval, optlen);
841 if (optname == IPV6_ADD_MEMBERSHIP)
859 if (optname == IPV6_JOIN_ANYCAST)
875 retv = compat_ipv6_mcast_join_leave(sk, optname, optval,
878 retv = ipv6_mcast_join_leave(sk, optname, optval,
885 retv = do_ipv6_mcast_group_source(sk, optname, optval, optlen);
943 retv = xfrm_user_policy(sk, optname, optval, optlen);
1001 int ipv6_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval,
1007 return udp_prot.setsockopt(sk, level, optname, optval, optlen);
1012 err = do_ipv6_setsockopt(sk, level, optname, optval, optlen);
1015 if (err == -ENOPROTOOPT && optname != IPV6_IPSEC_POLICY &&
1016 optname != IPV6_XFRM_POLICY)
1017 err = nf_setsockopt(sk, PF_INET6, optname, optval, optlen);
1024 int optname, sockptr_t optval, int len)
1031 switch (optname) {
1125 int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
1132 if (ip6_mroute_opt(optname))
1133 return ip6_mroute_getsockopt(sk, optname, optval, optlen);
1137 switch (optname) {
1265 len = ipv6_getsockopt_sticky(sk, opt, optname, optval, len);
1349 if (optname == IPV6_UNICAST_HOPS)
1479 int ipv6_getsockopt(struct sock *sk, int level, int optname,
1485 return udp_prot.getsockopt(sk, level, optname, optval, optlen);
1490 err = do_ipv6_getsockopt(sk, level, optname,
1494 if (err == -ENOPROTOOPT && optname != IPV6_2292PKTOPTIONS) {
1500 err = nf_getsockopt(sk, PF_INET6, optname, optval, &len);