Lines Matching refs:optname
642 static bool setsockopt_needs_rtnl(int optname)
644 switch (optname) {
723 static int do_mcast_group_source(struct sock *sk, int optname,
745 if (optname == MCAST_BLOCK_SOURCE) {
748 } else if (optname == MCAST_UNBLOCK_SOURCE) {
751 } else if (optname == MCAST_JOIN_SOURCE_GROUP) {
847 static int ip_mcast_join_leave(struct sock *sk, int optname,
864 if (optname == MCAST_JOIN_GROUP)
869 static int compat_ip_mcast_join_leave(struct sock *sk, int optname,
887 if (optname == MCAST_JOIN_GROUP)
894 int do_ip_setsockopt(struct sock *sk, int level, int optname,
900 bool needs_rtnl = setsockopt_needs_rtnl(optname);
902 switch (optname) {
943 if (optname == IP_ROUTER_ALERT)
945 if (ip_mroute_opt(optname))
946 return ip_mroute_setsockopt(sk, optname, optval, optlen);
949 switch (optname) {
1049 switch (optname) {
1235 if (optname == IP_ADD_MEMBERSHIP)
1286 if (optname == IP_BLOCK_SOURCE) {
1289 } else if (optname == IP_UNBLOCK_SOURCE) {
1292 } else if (optname == IP_ADD_SOURCE_MEMBERSHIP) {
1313 err = compat_ip_mcast_join_leave(sk, optname, optval,
1316 err = ip_mcast_join_leave(sk, optname, optval, optlen);
1322 err = do_mcast_group_source(sk, optname, optval, optlen);
1335 err = xfrm_user_policy(sk, optname, optval, optlen);
1411 int ip_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval,
1419 err = do_ip_setsockopt(sk, level, optname, optval, optlen);
1421 if (optname >= BPFILTER_IPT_SO_SET_REPLACE &&
1422 optname < BPFILTER_IPT_SET_MAX)
1423 err = bpfilter_ip_set_sockopt(sk, optname, optval, optlen);
1427 if (err == -ENOPROTOOPT && optname != IP_HDRINCL &&
1428 optname != IP_IPSEC_POLICY &&
1429 optname != IP_XFRM_POLICY &&
1430 !ip_mroute_opt(optname))
1431 err = nf_setsockopt(sk, PF_INET, optname, optval, optlen);
1442 static bool getsockopt_needs_rtnl(int optname)
1444 switch (optname) {
1514 int do_ip_getsockopt(struct sock *sk, int level, int optname,
1518 bool needs_rtnl = getsockopt_needs_rtnl(optname);
1525 if (ip_mroute_opt(optname))
1526 return ip_mroute_getsockopt(sk, optname, optval, optlen);
1534 switch (optname) {
1603 switch (optname) {
1769 int optname, char __user *optval, int __user *optlen)
1773 err = do_ip_getsockopt(sk, level, optname,
1777 if (optname >= BPFILTER_IPT_SO_GET_INFO &&
1778 optname < BPFILTER_IPT_GET_MAX)
1779 err = bpfilter_ip_get_sockopt(sk, optname, optval, optlen);
1783 if (err == -ENOPROTOOPT && optname != IP_PKTOPTIONS &&
1784 !ip_mroute_opt(optname)) {
1790 err = nf_getsockopt(sk, PF_INET, optname, optval, &len);