Lines Matching refs:pn

122 	struct pep_sock *pn = pep_sk(sk);  in pep_indicate()  local
133 ph->pipe_handle = pn->pipe_handle; in pep_indicate()
143 struct pep_sock *pn = pep_sk(sk); in pipe_handler_request() local
154 ph->pipe_handle = pn->pipe_handle; in pipe_handler_request()
161 struct pep_sock *pn = pep_sk(sk); in pipe_handler_send_created_ind() local
164 pn->tx_fc, pn->rx_fc, in pipe_handler_send_created_ind()
241 struct pep_sock *pn = pep_sk(sk); in pipe_grant_credits() local
245 switch (pn->rx_fc) { in pipe_grant_credits()
251 pn->rx_credits = 1; in pipe_grant_credits()
254 if ((pn->rx_credits + CREDITS_THR) > CREDITS_MAX) in pipe_grant_credits()
257 CREDITS_MAX - pn->rx_credits, in pipe_grant_credits()
259 pn->rx_credits = CREDITS_MAX; in pipe_grant_credits()
266 struct pep_sock *pn = pep_sk(sk); in pipe_rcv_status() local
282 switch (pn->tx_fc) { in pipe_rcv_status()
286 atomic_set(&pn->tx_credits, 0); in pipe_rcv_status()
289 atomic_set(&pn->tx_credits, wake = 1); in pipe_rcv_status()
295 atomic_set(&pn->tx_credits, wake = 1); in pipe_rcv_status()
301 if (pn->tx_fc != PN_MULTI_CREDIT_FLOW_CONTROL) in pipe_rcv_status()
303 atomic_add(wake = hdr->data[4], &pn->tx_credits); in pipe_rcv_status()
318 struct pep_sock *pn = pep_sk(sk); in pipe_rcv_created() local
322 pn->rx_fc = pn->tx_fc = PN_LEGACY_FLOW_CONTROL; in pipe_rcv_created()
334 pn->tx_fc = data[0] & 3; in pipe_rcv_created()
335 pn->rx_fc = data[1] & 3; in pipe_rcv_created()
347 struct pep_sock *pn = pep_sk(sk); in pipe_do_rcv() local
374 pn->init_enable = 0; in pipe_do_rcv()
377 pn->init_enable = 1; in pipe_do_rcv()
385 atomic_set(&pn->tx_credits, 0); in pipe_do_rcv()
390 if (skb_queue_len(&pn->ctrlreq_queue) >= PNPIPE_CTRLREQ_MAX) { in pipe_do_rcv()
395 queue = &pn->ctrlreq_queue; in pipe_do_rcv()
403 if (!pn_flow_safe(pn->rx_fc)) { in pipe_do_rcv()
411 if (pn->rx_credits == 0) { in pipe_do_rcv()
416 pn->rx_credits--; in pipe_do_rcv()
434 if (!pn->init_enable) in pipe_do_rcv()
438 if (!pn_flow_safe(pn->tx_fc)) { in pipe_do_rcv()
439 atomic_set(&pn->tx_credits, 1); in pipe_do_rcv()
450 pn->rx_credits = 0; in pipe_do_rcv()
474 struct pep_sock *pn = pep_sk(sk); in pipe_destruct() local
477 skb_queue_purge(&pn->ctrlreq_queue); in pipe_destruct()
496 struct pep_sock *pn = pep_sk(sk); in pep_connresp_rcv() local
520 pn->tx_fc = pipe_negotiate_fc(data + 2, len - 2); in pep_connresp_rcv()
526 pn->rx_fc = pipe_negotiate_fc(data + 2, len - 2); in pep_connresp_rcv()
550 struct pep_sock *pn = pep_sk(sk); in pipe_start_flow_control() local
552 if (!pn_flow_safe(pn->tx_fc)) { in pipe_start_flow_control()
553 atomic_set(&pn->tx_credits, 1); in pipe_start_flow_control()
563 struct pep_sock *pn = pep_sk(sk); in pipe_handler_do_rcv() local
573 if (!pn_flow_safe(pn->rx_fc)) { in pipe_handler_do_rcv()
581 if (pn->rx_credits == 0) { in pipe_handler_do_rcv()
586 pn->rx_credits--; in pipe_handler_do_rcv()
603 if (pn->init_enable == PN_PIPE_DISABLE) in pipe_handler_do_rcv()
668 struct pep_sock *pn = pep_sk(sk); in pep_do_rcv() local
685 sknode = pep_find_pipe(&pn->hlist, &dst, pipe_handle); in pep_do_rcv()
729 struct pep_sock *pn = pep_sk(sk); in pipe_do_remove() local
740 ph->pipe_handle = pn->pipe_handle; in pipe_do_remove()
748 struct pep_sock *pn = pep_sk(sk); in pep_sock_close() local
765 ifindex = pn->ifindex; in pep_sock_close()
766 pn->ifindex = 0; in pep_sock_close()
776 struct pep_sock *pn = pep_sk(sk), *newpn; in pep_sock_accept() local
839 newsk = pep_find_pipe(&pn->hlist, &dst, pipe_handle); in pep_sock_accept()
885 sk_add_node(newsk, &pn->hlist); in pep_sock_accept()
895 struct pep_sock *pn = pep_sk(sk); in pep_sock_connect() local
899 if (pn->pipe_handle == PN_PIPE_INVALID_HANDLE) in pep_sock_connect()
900 pn->pipe_handle = 1; /* anything but INVALID_HANDLE */ in pep_sock_connect()
903 pn->init_enable, data, 4); in pep_sock_connect()
905 pn->pipe_handle = PN_PIPE_INVALID_HANDLE; in pep_sock_connect()
930 struct pep_sock *pn = pep_sk(sk); in pep_ioctl() local
943 !skb_queue_empty(&pn->ctrlreq_queue)) in pep_ioctl()
944 answ = skb_peek(&pn->ctrlreq_queue)->len; in pep_ioctl()
970 struct pep_sock *pn = pep_sk(sk); in pep_init() local
973 INIT_HLIST_HEAD(&pn->hlist); in pep_init()
974 pn->listener = NULL; in pep_init()
975 skb_queue_head_init(&pn->ctrlreq_queue); in pep_init()
976 atomic_set(&pn->tx_credits, 0); in pep_init()
977 pn->ifindex = 0; in pep_init()
978 pn->peer_type = 0; in pep_init()
979 pn->pipe_handle = PN_PIPE_INVALID_HANDLE; in pep_init()
980 pn->rx_credits = 0; in pep_init()
981 pn->rx_fc = pn->tx_fc = PN_LEGACY_FLOW_CONTROL; in pep_init()
982 pn->init_enable = 1; in pep_init()
983 pn->aligned = 0; in pep_init()
990 struct pep_sock *pn = pep_sk(sk); in pep_setsockopt() local
1007 if (!pn->ifindex == !val) in pep_setsockopt()
1017 pn->ifindex = err; in pep_setsockopt()
1021 pn->ifindex = 0; in pep_setsockopt()
1031 pn->pipe_handle = val; in pep_setsockopt()
1037 pn->init_enable = !!val; in pep_setsockopt()
1052 struct pep_sock *pn = pep_sk(sk); in pep_getsockopt() local
1062 val = pn->ifindex ? PNPIPE_ENCAP_IP : PNPIPE_ENCAP_NONE; in pep_getsockopt()
1066 val = pn->ifindex; in pep_getsockopt()
1070 val = pn->pipe_handle; in pep_getsockopt()
1076 val = pn->init_enable; in pep_getsockopt()
1093 struct pep_sock *pn = pep_sk(sk); in pipe_skb_send() local
1097 if (pn_flow_safe(pn->tx_fc) && in pipe_skb_send()
1098 !atomic_add_unless(&pn->tx_credits, -1, 0)) { in pipe_skb_send()
1103 skb_push(skb, 3 + pn->aligned); in pipe_skb_send()
1107 if (pn->aligned) { in pipe_skb_send()
1112 ph->pipe_handle = pn->pipe_handle; in pipe_skb_send()
1115 if (err && pn_flow_safe(pn->tx_fc)) in pipe_skb_send()
1116 atomic_inc(&pn->tx_credits); in pipe_skb_send()
1123 struct pep_sock *pn = pep_sk(sk); in pep_sendmsg() local
1142 skb_reserve(skb, MAX_PHONET_HEADER + 3 + pn->aligned); in pep_sendmsg()
1168 done = atomic_read(&pn->tx_credits); in pep_sendmsg()
1183 done = sk_wait_event(sk, &timeo, atomic_read(&pn->tx_credits)); in pep_sendmsg()
1203 struct pep_sock *pn = pep_sk(sk); in pep_writeable() local
1205 return atomic_read(&pn->tx_credits); in pep_writeable()
1263 struct pep_sock *pn = pep_sk(sk); in pep_recvmsg() local
1267 skb = skb_dequeue(&pn->ctrlreq_queue); in pep_recvmsg()
1307 struct pep_sock *pn = pep_sk(sk); in pep_sock_unhash() local
1312 if (pn->listener != NULL) { in pep_sock_unhash()
1313 skparent = pn->listener; in pep_sock_unhash()
1314 pn->listener = NULL; in pep_sock_unhash()
1317 pn = pep_sk(skparent); in pep_sock_unhash()
1325 if (hlist_empty(&pn->hlist)) in pep_sock_unhash()
1326 pn_sock_unhash(&pn->pn_sk.sk); in pep_sock_unhash()