Lines Matching refs:sk
172 struct sock *sk = (struct sock *) chan->private; in pptp_xmit() local
173 struct pppox_sock *po = pppox_sk(sk); in pptp_xmit()
192 rt = ip_route_output_ports(sock_net(sk), &fl4, NULL, in pptp_xmit()
210 if (skb->sk) in pptp_xmit()
211 skb_set_owner_w(new_skb, skb->sk); in pptp_xmit()
267 if (ip_dont_fragment(sk, &rt->dst)) in pptp_xmit()
295 static int pptp_rcv_core(struct sock *sk, struct sk_buff *skb) in pptp_rcv_core() argument
297 struct pppox_sock *po = pppox_sk(sk); in pptp_rcv_core()
303 if (!(sk->sk_state & PPPOX_CONNECTED)) { in pptp_rcv_core()
304 if (sock_queue_rcv_skb(sk, skb)) in pptp_rcv_core()
417 struct sock *sk = sock->sk; in pptp_bind() local
419 struct pppox_sock *po = pppox_sk(sk); in pptp_bind()
426 lock_sock(sk); in pptp_bind()
432 release_sock(sk); in pptp_bind()
439 struct sock *sk = sock->sk; in pptp_connect() local
441 struct pppox_sock *po = pppox_sk(sk); in pptp_connect()
456 lock_sock(sk); in pptp_connect()
458 if (sk->sk_state & PPPOX_CONNECTED) { in pptp_connect()
464 if (sk->sk_state & PPPOX_DEAD) { in pptp_connect()
474 po->chan.private = sk; in pptp_connect()
477 rt = ip_route_output_ports(sock_net(sk), &fl4, sk, in pptp_connect()
481 IPPROTO_GRE, RT_CONN_FLAGS(sk), 0); in pptp_connect()
486 sk_setup_caps(sk, &rt->dst); in pptp_connect()
502 sk->sk_state = PPPOX_CONNECTED; in pptp_connect()
505 release_sock(sk); in pptp_connect()
519 sp.sa_addr.pptp = pppox_sk(sock->sk)->proto.pptp.src_addr; in pptp_getname()
530 struct sock *sk = sock->sk; in pptp_release() local
535 if (!sk) in pptp_release()
538 lock_sock(sk); in pptp_release()
540 if (sock_flag(sk, SOCK_DEAD)) { in pptp_release()
541 release_sock(sk); in pptp_release()
545 po = pppox_sk(sk); in pptp_release()
549 pppox_unbind_sock(sk); in pptp_release()
550 sk->sk_state = PPPOX_DEAD; in pptp_release()
552 sock_orphan(sk); in pptp_release()
553 sock->sk = NULL; in pptp_release()
555 release_sock(sk); in pptp_release()
556 sock_put(sk); in pptp_release()
561 static void pptp_sock_destruct(struct sock *sk) in pptp_sock_destruct() argument
563 if (!(sk->sk_state & PPPOX_DEAD)) { in pptp_sock_destruct()
564 del_chan(pppox_sk(sk)); in pptp_sock_destruct()
565 pppox_unbind_sock(sk); in pptp_sock_destruct()
567 skb_queue_purge(&sk->sk_receive_queue); in pptp_sock_destruct()
573 struct sock *sk; in pptp_create() local
577 sk = sk_alloc(net, PF_PPPOX, GFP_KERNEL, &pptp_sk_proto); in pptp_create()
578 if (!sk) in pptp_create()
581 sock_init_data(sock, sk); in pptp_create()
586 sk->sk_backlog_rcv = pptp_rcv_core; in pptp_create()
587 sk->sk_state = PPPOX_NONE; in pptp_create()
588 sk->sk_type = SOCK_STREAM; in pptp_create()
589 sk->sk_family = PF_PPPOX; in pptp_create()
590 sk->sk_protocol = PX_PROTO_PPTP; in pptp_create()
591 sk->sk_destruct = pptp_sock_destruct; in pptp_create()
593 po = pppox_sk(sk); in pptp_create()
607 struct sock *sk = (struct sock *) chan->private; in pptp_ppp_ioctl() local
608 struct pppox_sock *po = pppox_sk(sk); in pptp_ppp_ioctl()