Lines Matching refs:sk

145 	struct sock *sk;  in sctp_v6_err()  local
160 sk = sctp_err_lookup(net, AF_INET6, skb, sctp_hdr(skb), &asoc, &transport); in sctp_v6_err()
164 if (!sk) { in sctp_v6_err()
175 if (ip6_sk_accept_pmtu(sk)) in sctp_v6_err()
176 sctp_icmp_frag_needed(sk, asoc, transport, ntohl(info)); in sctp_v6_err()
180 sctp_icmp_proto_unreachable(sk, asoc, transport); in sctp_v6_err()
185 sctp_icmp_redirect(sk, transport, skb); in sctp_v6_err()
191 np = inet6_sk(sk); in sctp_v6_err()
193 if (!sock_owned_by_user(sk) && np->recverr) { in sctp_v6_err()
194 sk->sk_err = err; in sctp_v6_err()
195 sk->sk_error_report(sk); in sctp_v6_err()
197 sk->sk_err_soft = err; in sctp_v6_err()
201 sctp_err_finish(sk, asoc); in sctp_v6_err()
209 struct sock *sk = skb->sk; in sctp_v6_xmit() local
210 struct ipv6_pinfo *np = inet6_sk(sk); in sctp_v6_xmit()
217 IP6_ECN_flow_xmit(sk, fl6->flowlabel); in sctp_v6_xmit()
222 SCTP_INC_STATS(sock_net(sk), SCTP_MIB_OUTSCTPPACKS); in sctp_v6_xmit()
225 res = ip6_xmit(sk, skb, fl6, rcu_dereference(np->opt), np->tclass); in sctp_v6_xmit()
234 struct flowi *fl, struct sock *sk) in sctp_v6_get_dst() argument
240 struct ipv6_pinfo *np = inet6_sk(sk); in sctp_v6_get_dst()
273 dst = ip6_dst_lookup_flow(sk, fl6, final_p); in sctp_v6_get_dst()
330 dst = ip6_dst_lookup_flow(sk, fl6, final_p); in sctp_v6_get_dst()
363 static void sctp_v6_get_saddr(struct sctp_sock *sk, in sctp_v6_get_saddr() argument
434 static void sctp_v6_from_sk(union sctp_addr *addr, struct sock *sk) in sctp_v6_from_sk() argument
438 addr->v6.sin6_addr = sk->sk_v6_rcv_saddr; in sctp_v6_from_sk()
442 static void sctp_v6_to_sk_saddr(union sctp_addr *addr, struct sock *sk) in sctp_v6_to_sk_saddr() argument
445 sk->sk_v6_rcv_saddr.s6_addr32[0] = 0; in sctp_v6_to_sk_saddr()
446 sk->sk_v6_rcv_saddr.s6_addr32[1] = 0; in sctp_v6_to_sk_saddr()
447 sk->sk_v6_rcv_saddr.s6_addr32[2] = htonl(0x0000ffff); in sctp_v6_to_sk_saddr()
448 sk->sk_v6_rcv_saddr.s6_addr32[3] = in sctp_v6_to_sk_saddr()
451 sk->sk_v6_rcv_saddr = addr->v6.sin6_addr; in sctp_v6_to_sk_saddr()
456 static void sctp_v6_to_sk_daddr(union sctp_addr *addr, struct sock *sk) in sctp_v6_to_sk_daddr() argument
459 sk->sk_v6_daddr.s6_addr32[0] = 0; in sctp_v6_to_sk_daddr()
460 sk->sk_v6_daddr.s6_addr32[1] = 0; in sctp_v6_to_sk_daddr()
461 sk->sk_v6_daddr.s6_addr32[2] = htonl(0x0000ffff); in sctp_v6_to_sk_daddr()
462 sk->sk_v6_daddr.s6_addr32[3] = addr->v4.sin_addr.s_addr; in sctp_v6_to_sk_daddr()
464 sk->sk_v6_daddr = addr->v6.sin6_addr; in sctp_v6_to_sk_daddr()
576 return ipv6_chk_addr(sock_net(&sp->inet.sk), in6, NULL, 0); in sctp_v6_available()
640 static struct sock *sctp_v6_create_accept_sk(struct sock *sk, in sctp_v6_create_accept_sk() argument
644 struct ipv6_pinfo *newnp, *np = inet6_sk(sk); in sctp_v6_create_accept_sk()
648 newsk = sk_alloc(sock_net(sk), PF_INET6, GFP_KERNEL, sk->sk_prot, 0); in sctp_v6_create_accept_sk()
654 sctp_copy_sock(newsk, sk, asoc); in sctp_v6_create_accept_sk()
655 sock_reset_flag(sk, SOCK_ZAPPED); in sctp_v6_create_accept_sk()
660 sctp_sk(newsk)->v4mapped = sctp_sk(sk)->v4mapped; in sctp_v6_create_accept_sk()
678 newsk->sk_v6_rcv_saddr = sk->sk_v6_rcv_saddr; in sctp_v6_create_accept_sk()
729 static void sctp_v6_ecn_capable(struct sock *sk) in sctp_v6_ecn_capable() argument
731 inet6_sk(sk)->tclass |= INET_ECN_ECT_0; in sctp_v6_ecn_capable()
764 *addrlen = sctp_v6_addr_to_user(sctp_sk(asoc->base.sk), addr); in sctp_inet6_event_msgname()
795 *addr_len = sctp_v6_addr_to_user(sctp_sk(skb->sk), addr); in sctp_inet6_skb_msgname()
822 struct sock *sk = sctp_opt2sk(opt); in sctp_inet6_cmp_addr() local
831 if (__ipv6_only_sock(sk) && af1 != af2) in sctp_inet6_cmp_addr()
835 if (sctp_is_any(sk, addr1) || sctp_is_any(sk, addr2)) in sctp_inet6_cmp_addr()
862 net = sock_net(&opt->inet.sk); in sctp_inet6_bind_verify()
896 dev = dev_get_by_index_rcu(sock_net(&opt->inet.sk), in sctp_inet6_send_verify()
936 *uaddr_len = sctp_v6_addr_to_user(sctp_sk(sock->sk), in sctp_getname()