Lines Matching refs:sk

100 static void dn_ack(struct sock *sk, struct sk_buff *skb, unsigned short ack)  in dn_ack()  argument
102 struct dn_scp *scp = DN_SK(sk); in dn_ack()
110 wakeup |= dn_nsp_check_xmit_queue(sk, skb, in dn_ack()
120 wakeup |= dn_nsp_check_xmit_queue(sk, skb, in dn_ack()
129 if (wakeup && !sock_flag(sk, SOCK_DEAD)) in dn_ack()
130 sk->sk_state_change(sk); in dn_ack()
136 static int dn_process_ack(struct sock *sk, struct sk_buff *skb, int oth) in dn_process_ack() argument
152 dn_ack(sk, skb, ack); in dn_process_ack()
165 dn_ack(sk, skb, ack); in dn_process_ack()
332 static void dn_nsp_conn_init(struct sock *sk, struct sk_buff *skb) in dn_nsp_conn_init() argument
334 if (sk_acceptq_is_full(sk)) { in dn_nsp_conn_init()
339 sk->sk_ack_backlog++; in dn_nsp_conn_init()
340 skb_queue_tail(&sk->sk_receive_queue, skb); in dn_nsp_conn_init()
341 sk->sk_state_change(sk); in dn_nsp_conn_init()
344 static void dn_nsp_conn_conf(struct sock *sk, struct sk_buff *skb) in dn_nsp_conn_conf() argument
347 struct dn_scp *scp = DN_SK(sk); in dn_nsp_conn_conf()
361 sk->sk_state = TCP_ESTABLISHED; in dn_nsp_conn_conf()
378 dn_nsp_send_link(sk, DN_NOCHANGE, 0); in dn_nsp_conn_conf()
379 if (!sock_flag(sk, SOCK_DEAD)) in dn_nsp_conn_conf()
380 sk->sk_state_change(sk); in dn_nsp_conn_conf()
387 static void dn_nsp_conn_ack(struct sock *sk, struct sk_buff *skb) in dn_nsp_conn_ack() argument
389 struct dn_scp *scp = DN_SK(sk); in dn_nsp_conn_ack()
399 static void dn_nsp_disc_init(struct sock *sk, struct sk_buff *skb) in dn_nsp_disc_init() argument
401 struct dn_scp *scp = DN_SK(sk); in dn_nsp_disc_init()
424 sk->sk_state = TCP_CLOSE; in dn_nsp_disc_init()
430 sk->sk_err = ECONNREFUSED; in dn_nsp_disc_init()
433 sk->sk_shutdown |= SHUTDOWN_MASK; in dn_nsp_disc_init()
441 if (!sock_flag(sk, SOCK_DEAD)) { in dn_nsp_disc_init()
442 if (sk->sk_socket->state != SS_UNCONNECTED) in dn_nsp_disc_init()
443 sk->sk_socket->state = SS_DISCONNECTING; in dn_nsp_disc_init()
444 sk->sk_state_change(sk); in dn_nsp_disc_init()
454 dn_nsp_send_disc(sk, NSP_DISCCONF, NSP_REASON_DC, GFP_ATOMIC); in dn_nsp_disc_init()
457 scp->persist = dn_nsp_persist(sk); in dn_nsp_disc_init()
467 static void dn_nsp_disc_conf(struct sock *sk, struct sk_buff *skb) in dn_nsp_disc_conf() argument
469 struct dn_scp *scp = DN_SK(sk); in dn_nsp_disc_conf()
477 sk->sk_state = TCP_CLOSE; in dn_nsp_disc_conf()
493 sk->sk_shutdown |= SHUTDOWN_MASK; in dn_nsp_disc_conf()
498 if (!sock_flag(sk, SOCK_DEAD)) { in dn_nsp_disc_conf()
499 if (sk->sk_socket->state != SS_UNCONNECTED) in dn_nsp_disc_conf()
500 sk->sk_socket->state = SS_DISCONNECTING; in dn_nsp_disc_conf()
501 sk->sk_state_change(sk); in dn_nsp_disc_conf()
505 scp->persist = dn_nsp_persist(sk); in dn_nsp_disc_conf()
511 static void dn_nsp_linkservice(struct sock *sk, struct sk_buff *skb) in dn_nsp_linkservice() argument
513 struct dn_scp *scp = DN_SK(sk); in dn_nsp_linkservice()
559 dn_nsp_output(sk); in dn_nsp_linkservice()
570 if (wake_up && !sock_flag(sk, SOCK_DEAD)) in dn_nsp_linkservice()
571 sk->sk_state_change(sk); in dn_nsp_linkservice()
574 dn_nsp_send_oth_ack(sk); in dn_nsp_linkservice()
585 static __inline__ int dn_queue_skb(struct sock *sk, struct sk_buff *skb, int sig, struct sk_buff_he… in dn_queue_skb() argument
592 if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >= in dn_queue_skb()
593 (unsigned int)sk->sk_rcvbuf) { in dn_queue_skb()
598 err = sk_filter(sk, skb); in dn_queue_skb()
602 skb_set_owner_r(skb, sk); in dn_queue_skb()
605 if (!sock_flag(sk, SOCK_DEAD)) in dn_queue_skb()
606 sk->sk_data_ready(sk); in dn_queue_skb()
611 static void dn_nsp_otherdata(struct sock *sk, struct sk_buff *skb) in dn_nsp_otherdata() argument
613 struct dn_scp *scp = DN_SK(sk); in dn_nsp_otherdata()
626 if (dn_queue_skb(sk, skb, SIGURG, &scp->other_receive_queue) == 0) { in dn_nsp_otherdata()
633 dn_nsp_send_oth_ack(sk); in dn_nsp_otherdata()
639 static void dn_nsp_data(struct sock *sk, struct sk_buff *skb) in dn_nsp_data() argument
644 struct dn_scp *scp = DN_SK(sk); in dn_nsp_data()
653 if (dn_queue_skb(sk, skb, SIGIO, &sk->sk_receive_queue) == 0) { in dn_nsp_data()
658 if ((scp->flowloc_sw == DN_SEND) && dn_congested(sk)) { in dn_nsp_data()
660 dn_nsp_send_link(sk, DN_DONTSEND, 0); in dn_nsp_data()
664 dn_nsp_send_data_ack(sk); in dn_nsp_data()
675 static void dn_returned_conn_init(struct sock *sk, struct sk_buff *skb) in dn_returned_conn_init() argument
677 struct dn_scp *scp = DN_SK(sk); in dn_returned_conn_init()
681 sk->sk_state = TCP_CLOSE; in dn_returned_conn_init()
682 if (!sock_flag(sk, SOCK_DEAD)) in dn_returned_conn_init()
683 sk->sk_state_change(sk); in dn_returned_conn_init()
721 struct sock *sk = NULL; in dn_nsp_rx_packet() local
750 sk = dn_find_listener(skb, &reason); in dn_nsp_rx_packet()
790 sk = dn_find_by_skb(skb); in dn_nsp_rx_packet()
792 if (sk != NULL) { in dn_nsp_rx_packet()
793 struct dn_scp *scp = DN_SK(sk); in dn_nsp_rx_packet()
806 return sk_receive_skb(sk, skb, 0); in dn_nsp_rx_packet()
828 int dn_nsp_backlog_rcv(struct sock *sk, struct sk_buff *skb) in dn_nsp_backlog_rcv() argument
830 struct dn_scp *scp = DN_SK(sk); in dn_nsp_backlog_rcv()
835 dn_returned_conn_init(sk, skb); in dn_nsp_backlog_rcv()
848 dn_nsp_conn_init(sk, skb); in dn_nsp_backlog_rcv()
851 dn_nsp_conn_conf(sk, skb); in dn_nsp_backlog_rcv()
854 dn_nsp_disc_init(sk, skb); in dn_nsp_backlog_rcv()
857 dn_nsp_disc_conf(sk, skb); in dn_nsp_backlog_rcv()
866 dn_nsp_conn_ack(sk, skb); in dn_nsp_backlog_rcv()
871 if ((scp->state == DN_CC) && !sock_flag(sk, SOCK_DEAD)) { in dn_nsp_backlog_rcv()
873 sk->sk_state = TCP_ESTABLISHED; in dn_nsp_backlog_rcv()
874 sk->sk_state_change(sk); in dn_nsp_backlog_rcv()
887 dn_process_ack(sk, skb, other); in dn_nsp_backlog_rcv()
901 dn_nsp_linkservice(sk, skb); in dn_nsp_backlog_rcv()
904 dn_nsp_otherdata(sk, skb); in dn_nsp_backlog_rcv()
907 dn_nsp_data(sk, skb); in dn_nsp_backlog_rcv()