Lines Matching refs:optname
642 static bool setsockopt_needs_rtnl(int optname) in setsockopt_needs_rtnl() argument
644 switch (optname) { in setsockopt_needs_rtnl()
723 static int do_mcast_group_source(struct sock *sk, int optname, in do_mcast_group_source() argument
745 if (optname == MCAST_BLOCK_SOURCE) { in do_mcast_group_source()
748 } else if (optname == MCAST_UNBLOCK_SOURCE) { in do_mcast_group_source()
751 } else if (optname == MCAST_JOIN_SOURCE_GROUP) { in do_mcast_group_source()
847 static int ip_mcast_join_leave(struct sock *sk, int optname, in ip_mcast_join_leave() argument
864 if (optname == MCAST_JOIN_GROUP) in ip_mcast_join_leave()
869 static int compat_ip_mcast_join_leave(struct sock *sk, int optname, in compat_ip_mcast_join_leave() argument
887 if (optname == MCAST_JOIN_GROUP) in compat_ip_mcast_join_leave()
894 int do_ip_setsockopt(struct sock *sk, int level, int optname, in do_ip_setsockopt() argument
900 bool needs_rtnl = setsockopt_needs_rtnl(optname); in do_ip_setsockopt()
902 switch (optname) { in do_ip_setsockopt()
943 if (optname == IP_ROUTER_ALERT) in do_ip_setsockopt()
945 if (ip_mroute_opt(optname)) in do_ip_setsockopt()
946 return ip_mroute_setsockopt(sk, optname, optval, optlen); in do_ip_setsockopt()
949 switch (optname) { in do_ip_setsockopt()
1049 switch (optname) { in do_ip_setsockopt()
1235 if (optname == IP_ADD_MEMBERSHIP) in do_ip_setsockopt()
1286 if (optname == IP_BLOCK_SOURCE) { in do_ip_setsockopt()
1289 } else if (optname == IP_UNBLOCK_SOURCE) { in do_ip_setsockopt()
1292 } else if (optname == IP_ADD_SOURCE_MEMBERSHIP) { in do_ip_setsockopt()
1313 err = compat_ip_mcast_join_leave(sk, optname, optval, in do_ip_setsockopt()
1316 err = ip_mcast_join_leave(sk, optname, optval, optlen); in do_ip_setsockopt()
1322 err = do_mcast_group_source(sk, optname, optval, optlen); in do_ip_setsockopt()
1335 err = xfrm_user_policy(sk, optname, optval, optlen); in do_ip_setsockopt()
1409 int ip_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval, in ip_setsockopt() argument
1417 err = do_ip_setsockopt(sk, level, optname, optval, optlen); in ip_setsockopt()
1419 if (optname >= BPFILTER_IPT_SO_SET_REPLACE && in ip_setsockopt()
1420 optname < BPFILTER_IPT_SET_MAX) in ip_setsockopt()
1421 err = bpfilter_ip_set_sockopt(sk, optname, optval, optlen); in ip_setsockopt()
1425 if (err == -ENOPROTOOPT && optname != IP_HDRINCL && in ip_setsockopt()
1426 optname != IP_IPSEC_POLICY && in ip_setsockopt()
1427 optname != IP_XFRM_POLICY && in ip_setsockopt()
1428 !ip_mroute_opt(optname)) in ip_setsockopt()
1429 err = nf_setsockopt(sk, PF_INET, optname, optval, optlen); in ip_setsockopt()
1440 static bool getsockopt_needs_rtnl(int optname) in getsockopt_needs_rtnl() argument
1442 switch (optname) { in getsockopt_needs_rtnl()
1512 int do_ip_getsockopt(struct sock *sk, int level, int optname, in do_ip_getsockopt() argument
1516 bool needs_rtnl = getsockopt_needs_rtnl(optname); in do_ip_getsockopt()
1523 if (ip_mroute_opt(optname)) in do_ip_getsockopt()
1524 return ip_mroute_getsockopt(sk, optname, optval, optlen); in do_ip_getsockopt()
1532 switch (optname) { in do_ip_getsockopt()
1601 switch (optname) { in do_ip_getsockopt()
1767 int optname, char __user *optval, int __user *optlen) in ip_getsockopt() argument
1771 err = do_ip_getsockopt(sk, level, optname, in ip_getsockopt()
1775 if (optname >= BPFILTER_IPT_SO_GET_INFO && in ip_getsockopt()
1776 optname < BPFILTER_IPT_GET_MAX) in ip_getsockopt()
1777 err = bpfilter_ip_get_sockopt(sk, optname, optval, optlen); in ip_getsockopt()
1781 if (err == -ENOPROTOOPT && optname != IP_PKTOPTIONS && in ip_getsockopt()
1782 !ip_mroute_opt(optname)) { in ip_getsockopt()
1788 err = nf_getsockopt(sk, PF_INET, optname, optval, &len); in ip_getsockopt()