Lines Matching refs:optname
639 static bool setsockopt_needs_rtnl(int optname) in setsockopt_needs_rtnl() argument
641 switch (optname) { in setsockopt_needs_rtnl()
721 static int do_mcast_group_source(struct sock *sk, int optname, in do_mcast_group_source() argument
743 if (optname == MCAST_BLOCK_SOURCE) { in do_mcast_group_source()
746 } else if (optname == MCAST_UNBLOCK_SOURCE) { in do_mcast_group_source()
749 } else if (optname == MCAST_JOIN_SOURCE_GROUP) { in do_mcast_group_source()
844 static int ip_mcast_join_leave(struct sock *sk, int optname, in ip_mcast_join_leave() argument
861 if (optname == MCAST_JOIN_GROUP) in ip_mcast_join_leave()
866 static int compat_ip_mcast_join_leave(struct sock *sk, int optname, in compat_ip_mcast_join_leave() argument
884 if (optname == MCAST_JOIN_GROUP) in compat_ip_mcast_join_leave()
889 static int do_ip_setsockopt(struct sock *sk, int level, int optname, in do_ip_setsockopt() argument
895 bool needs_rtnl = setsockopt_needs_rtnl(optname); in do_ip_setsockopt()
897 switch (optname) { in do_ip_setsockopt()
937 if (optname == IP_ROUTER_ALERT) in do_ip_setsockopt()
939 if (ip_mroute_opt(optname)) in do_ip_setsockopt()
940 return ip_mroute_setsockopt(sk, optname, optval, optlen); in do_ip_setsockopt()
947 switch (optname) { in do_ip_setsockopt()
1222 if (optname == IP_ADD_MEMBERSHIP) in do_ip_setsockopt()
1273 if (optname == IP_BLOCK_SOURCE) { in do_ip_setsockopt()
1276 } else if (optname == IP_UNBLOCK_SOURCE) { in do_ip_setsockopt()
1279 } else if (optname == IP_ADD_SOURCE_MEMBERSHIP) { in do_ip_setsockopt()
1300 err = compat_ip_mcast_join_leave(sk, optname, optval, in do_ip_setsockopt()
1303 err = ip_mcast_join_leave(sk, optname, optval, optlen); in do_ip_setsockopt()
1309 err = do_mcast_group_source(sk, optname, optval, optlen); in do_ip_setsockopt()
1336 err = xfrm_user_policy(sk, optname, optval, optlen); in do_ip_setsockopt()
1415 int ip_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval, in ip_setsockopt() argument
1423 err = do_ip_setsockopt(sk, level, optname, optval, optlen); in ip_setsockopt()
1425 if (optname >= BPFILTER_IPT_SO_SET_REPLACE && in ip_setsockopt()
1426 optname < BPFILTER_IPT_SET_MAX) in ip_setsockopt()
1427 err = bpfilter_ip_set_sockopt(sk, optname, optval, optlen); in ip_setsockopt()
1431 if (err == -ENOPROTOOPT && optname != IP_HDRINCL && in ip_setsockopt()
1432 optname != IP_IPSEC_POLICY && in ip_setsockopt()
1433 optname != IP_XFRM_POLICY && in ip_setsockopt()
1434 !ip_mroute_opt(optname)) in ip_setsockopt()
1435 err = nf_setsockopt(sk, PF_INET, optname, optval, optlen); in ip_setsockopt()
1446 static bool getsockopt_needs_rtnl(int optname) in getsockopt_needs_rtnl() argument
1448 switch (optname) { in getsockopt_needs_rtnl()
1515 static int do_ip_getsockopt(struct sock *sk, int level, int optname, in do_ip_getsockopt() argument
1519 bool needs_rtnl = getsockopt_needs_rtnl(optname); in do_ip_getsockopt()
1526 if (ip_mroute_opt(optname)) in do_ip_getsockopt()
1527 return ip_mroute_getsockopt(sk, optname, optval, optlen); in do_ip_getsockopt()
1538 switch (optname) { in do_ip_getsockopt()
1757 int optname, char __user *optval, int __user *optlen) in ip_getsockopt() argument
1761 err = do_ip_getsockopt(sk, level, optname, optval, optlen); in ip_getsockopt()
1764 if (optname >= BPFILTER_IPT_SO_GET_INFO && in ip_getsockopt()
1765 optname < BPFILTER_IPT_GET_MAX) in ip_getsockopt()
1766 err = bpfilter_ip_get_sockopt(sk, optname, optval, optlen); in ip_getsockopt()
1770 if (err == -ENOPROTOOPT && optname != IP_PKTOPTIONS && in ip_getsockopt()
1771 !ip_mroute_opt(optname)) { in ip_getsockopt()
1777 err = nf_getsockopt(sk, PF_INET, optname, optval, &len); in ip_getsockopt()