Lines Matching full:if

53 #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
78 if (inet_sk(sk)->inet_num == num) { in __raw_v6_lookup()
81 if (!net_eq(sock_net(sk), net)) in __raw_v6_lookup()
84 if (!ipv6_addr_any(&np->daddr) && in __raw_v6_lookup()
88 if (sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif) in __raw_v6_lookup()
91 if (!ipv6_addr_any(&np->rcv_saddr)) { in __raw_v6_lookup()
92 if (ipv6_addr_equal(&np->rcv_saddr, loc_addr)) in __raw_v6_lookup()
94 if (is_multicast && in __raw_v6_lookup()
115 if (pskb_may_pull(skb, sizeof(struct icmp6hdr))) { in icmpv6_filter()
127 #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
173 if (sk == NULL) in ipv6_raw_deliver()
188 #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) in ipv6_raw_deliver()
209 if (filtered < 0) in ipv6_raw_deliver()
211 if (filtered == 0) { in ipv6_raw_deliver()
215 if (clone) { in ipv6_raw_deliver()
233 if (raw_sk && !ipv6_raw_deliver(skb, nexthdr)) in raw6_local_deliver()
249 if (addr_len < SIN6_LEN_RFC2133) in rawv6_bind()
254 if (addr_type == IPV6_ADDR_MAPPED) in rawv6_bind()
260 if (sk->sk_state != TCP_CLOSE) in rawv6_bind()
264 /* Check if the address belongs to the host. */ in rawv6_bind()
265 if (addr_type != IPV6_ADDR_ANY) { in rawv6_bind()
268 if (addr_type & IPV6_ADDR_LINKLOCAL) { in rawv6_bind()
269 if (addr_len >= sizeof(struct sockaddr_in6) && in rawv6_bind()
271 /* Override any existing binding, if another in rawv6_bind()
278 if (!sk->sk_bound_dev_if) in rawv6_bind()
284 if (!dev) in rawv6_bind()
292 if (!(addr_type & IPV6_ADDR_MULTICAST)) { in rawv6_bind()
294 if (!ipv6_chk_addr(sock_net(sk), &addr->sin6_addr, in rawv6_bind()
303 if (!(addr_type & IPV6_ADDR_MULTICAST)) in rawv6_bind()
322 /* Report error on raw socket, if: in rawv6_err()
327 if (!np->recverr && sk->sk_state != TCP_ESTABLISHED) in rawv6_err()
331 if (type == ICMPV6_PKT_TOOBIG) in rawv6_err()
334 if (np->recverr) { in rawv6_err()
336 if (!inet->hdrincl) in rawv6_err()
341 if (np->recverr || harderr) { in rawv6_err()
359 if (sk != NULL) { in raw6_icmp_error()
378 if ((raw6_sk(sk)->checksum || rcu_access_pointer(sk->sk_filter)) && in rawv6_rcv_skb()
387 if (sock_queue_rcv_skb(sk, skb) < 0) { in rawv6_rcv_skb()
397 * if we demultiplex in network layer we don't need the extra call
399 * maybe we could have the network decide upon a hint if it
407 if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) { in rawv6_rcv()
413 if (!rp->checksum) in rawv6_rcv()
416 if (skb->ip_summed == CHECKSUM_COMPLETE) { in rawv6_rcv()
419 if (!csum_ipv6_magic(&ipv6_hdr(skb)->saddr, in rawv6_rcv()
424 if (!skb_csum_unnecessary(skb)) in rawv6_rcv()
430 if (inet->hdrincl) { in rawv6_rcv()
431 if (skb_checksum_complete(skb)) { in rawv6_rcv()
444 * This should be easy, if there is something there
458 if (flags & MSG_OOB) in rawv6_recvmsg()
461 if (addr_len) in rawv6_recvmsg()
464 if (flags & MSG_ERRQUEUE) in rawv6_recvmsg()
467 if (np->rxpmtu && np->rxopt.bits.rxpmtu) in rawv6_recvmsg()
471 if (!skb) in rawv6_recvmsg()
475 if (copied > len) { in rawv6_recvmsg()
480 if (skb_csum_unnecessary(skb)) { in rawv6_recvmsg()
482 } else if (msg->msg_flags&MSG_TRUNC) { in rawv6_recvmsg()
483 if (__skb_checksum_complete(skb)) in rawv6_recvmsg()
488 if (err == -EINVAL) in rawv6_recvmsg()
491 if (err) in rawv6_recvmsg()
495 if (sin6) { in rawv6_recvmsg()
501 if (ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL) in rawv6_recvmsg()
507 if (np->rxopt.all) in rawv6_recvmsg()
511 if (flags & MSG_TRUNC) in rawv6_recvmsg()
540 if (!rp->checksum) in rawv6_push_pending_frames()
543 if ((skb = skb_peek(&sk->sk_write_queue)) == NULL) in rawv6_push_pending_frames()
548 if (offset >= total_len - 1) { in rawv6_push_pending_frames()
555 if (skb_queue_len(&sk->sk_write_queue) == 1) { in rawv6_push_pending_frames()
567 if (csum_skb) in rawv6_push_pending_frames()
571 if (offset >= len) { in rawv6_push_pending_frames()
583 if (skb_copy_bits(skb, offset, &csum, 2)) in rawv6_push_pending_frames()
587 if (unlikely(csum)) in rawv6_push_pending_frames()
593 if (csum == 0 && fl6->flowi6_proto == IPPROTO_UDP) in rawv6_push_pending_frames()
596 if (skb_store_bits(skb, offset, &csum, 2)) in rawv6_push_pending_frames()
617 if (length > rt->dst.dev->mtu) { in rawv6_send_hdrinc()
621 if (flags&MSG_PROBE) in rawv6_send_hdrinc()
627 if (skb == NULL) in rawv6_send_hdrinc()
644 if (err) in rawv6_send_hdrinc()
650 if (err > 0) in rawv6_send_hdrinc()
652 if (err) in rawv6_send_hdrinc()
662 if (err == -ENOBUFS && !np->recverr) in rawv6_send_hdrinc()
676 if (!msg->msg_iov) in rawv6_probe_proto_opt()
681 if (!iov) in rawv6_probe_proto_opt()
686 /* check if one-byte field is readable or not. */ in rawv6_probe_proto_opt()
687 if (iov->iov_base && iov->iov_len < 1) in rawv6_probe_proto_opt()
690 if (!type) { in rawv6_probe_proto_opt()
692 /* check if code field is readable or not. */ in rawv6_probe_proto_opt()
693 if (iov->iov_len > 1) in rawv6_probe_proto_opt()
695 } else if (!code) in rawv6_probe_proto_opt()
698 if (type && code) { in rawv6_probe_proto_opt()
699 if (get_user(fl6->fl6_icmp_type, type) || in rawv6_probe_proto_opt()
706 if (iov->iov_base && iov->iov_len < 1) in rawv6_probe_proto_opt()
708 /* check if type field is readable or not. */ in rawv6_probe_proto_opt()
709 if (iov->iov_len > 2 - len) { in rawv6_probe_proto_opt()
711 if (get_user(fl6->fl6_mh_type, &p[2 - len])) in rawv6_probe_proto_opt()
722 if (probed) in rawv6_probe_proto_opt()
751 if (len > INT_MAX) in rawv6_sendmsg()
755 if (msg->msg_flags & MSG_OOB) in rawv6_sendmsg()
765 if (sin6) { in rawv6_sendmsg()
766 if (addr_len < SIN6_LEN_RFC2133) in rawv6_sendmsg()
769 if (sin6->sin6_family && sin6->sin6_family != AF_INET6) in rawv6_sendmsg()
775 if (!proto) in rawv6_sendmsg()
777 else if (proto != inet->inet_num) in rawv6_sendmsg()
780 if (proto > 255) in rawv6_sendmsg()
784 if (np->sndflow) { in rawv6_sendmsg()
786 if (fl6.flowlabel&IPV6_FLOWLABEL_MASK) { in rawv6_sendmsg()
788 if (flowlabel == NULL) in rawv6_sendmsg()
798 if (sk->sk_state == TCP_ESTABLISHED && in rawv6_sendmsg()
802 if (addr_len >= sizeof(struct sockaddr_in6) && in rawv6_sendmsg()
807 if (sk->sk_state != TCP_ESTABLISHED) in rawv6_sendmsg()
815 if (fl6.flowi6_oif == 0) in rawv6_sendmsg()
818 if (msg->msg_controllen) { in rawv6_sendmsg()
825 if (err < 0) { in rawv6_sendmsg()
829 if ((fl6.flowlabel&IPV6_FLOWLABEL_MASK) && !flowlabel) { in rawv6_sendmsg()
831 if (flowlabel == NULL) in rawv6_sendmsg()
834 if (!(opt->opt_nflen|opt->opt_flen)) in rawv6_sendmsg()
837 if (opt == NULL) in rawv6_sendmsg()
839 if (flowlabel) in rawv6_sendmsg()
845 if (err) in rawv6_sendmsg()
848 if (!ipv6_addr_any(daddr)) in rawv6_sendmsg()
852 if (ipv6_addr_any(&fl6.saddr) && !ipv6_addr_any(&np->saddr)) in rawv6_sendmsg()
857 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr)) in rawv6_sendmsg()
862 if (IS_ERR(dst)) { in rawv6_sendmsg()
866 if (hlimit < 0) { in rawv6_sendmsg()
867 if (ipv6_addr_is_multicast(&fl6.daddr)) in rawv6_sendmsg()
871 if (hlimit < 0) in rawv6_sendmsg()
875 if (tclass < 0) in rawv6_sendmsg()
878 if (dontfrag < 0) in rawv6_sendmsg()
881 if (msg->msg_flags&MSG_CONFIRM) in rawv6_sendmsg()
885 if (inet->hdrincl) in rawv6_sendmsg()
893 if (err) in rawv6_sendmsg()
895 else if (!(msg->msg_flags & MSG_MORE)) in rawv6_sendmsg()
906 if (!(msg->msg_flags & MSG_PROBE) || len) in rawv6_sendmsg()
917 if (optlen > sizeof(struct icmp6_filter)) in rawv6_seticmpfilter()
919 if (copy_from_user(&raw6_sk(sk)->filter, optval, optlen)) in rawv6_seticmpfilter()
936 if (get_user(len, optlen)) in rawv6_geticmpfilter()
938 if (len < 0) in rawv6_geticmpfilter()
940 if (len > sizeof(struct icmp6_filter)) in rawv6_geticmpfilter()
942 if (put_user(len, optlen)) in rawv6_geticmpfilter()
944 if (copy_to_user(optval, &raw6_sk(sk)->filter, len)) in rawv6_geticmpfilter()
961 if (get_user(val, (int __user *)optval)) in do_rawv6_setsockopt()
966 if (inet_sk(sk)->inet_num == IPPROTO_ICMPV6 && in do_rawv6_setsockopt()
972 * If you want to set it, use IPPROTO_RAW in do_rawv6_setsockopt()
981 if (val > 0 && (val&1)) in do_rawv6_setsockopt()
983 if (val < 0) { in do_rawv6_setsockopt()
1005 if (inet_sk(sk)->inet_num != IPPROTO_ICMPV6) in rawv6_setsockopt()
1009 if (optname == IPV6_CHECKSUM) in rawv6_setsockopt()
1026 if (inet_sk(sk)->inet_num != IPPROTO_ICMPV6) in compat_rawv6_setsockopt()
1030 if (optname == IPV6_CHECKSUM) in compat_rawv6_setsockopt()
1046 if (get_user(len,optlen)) in do_rawv6_getsockopt()
1056 if (rp->checksum == 0) in do_rawv6_getsockopt()
1068 if (put_user(len, optlen)) in do_rawv6_getsockopt()
1070 if (copy_to_user(optval,&val,len)) in do_rawv6_getsockopt()
1083 if (inet_sk(sk)->inet_num != IPPROTO_ICMPV6) in rawv6_getsockopt()
1087 if (optname == IPV6_CHECKSUM) in rawv6_getsockopt()
1104 if (inet_sk(sk)->inet_num != IPPROTO_ICMPV6) in compat_rawv6_getsockopt()
1108 if (optname == IPV6_CHECKSUM) in compat_rawv6_getsockopt()
1132 if (skb != NULL) in rawv6_ioctl()
1166 if (inet_sk(sk)->inet_num == IPPROTO_RAW) in rawv6_close()
1256 if (v == SEQ_START_TOKEN) in raw6_seq_show()
1290 if (!proc_net_fops_create(net, "raw6", S_IRUGO, &raw6_seq_fops)) in raw6_init_net()
1357 if (ret) in rawv6_init()