Lines Matching refs:scp
144 struct dn_scp scp; member
165 struct dn_scp *scp = DN_SK(sk); in dn_find_list() local
167 if (scp->addr.sdn_flags & SDF_WILD) in dn_find_list()
170 return &dn_sk_hash[le16_to_cpu(scp->addrloc) & DN_SK_HASH_MASK]; in dn_find_list()
184 struct dn_scp *scp = DN_SK(sk); in check_port() local
185 if (scp->addrloc == port) in check_port()
193 struct dn_scp *scp = DN_SK(sk); in port_alloc() local
202 scp->addrloc = cpu_to_le16(port); in port_alloc()
214 struct dn_scp *scp = DN_SK(sk); in dn_hash_sock() local
222 if (!scp->addrloc && !port_alloc(sk)) in dn_hash_sock()
274 struct dn_scp *scp = DN_SK(sk); in dn_rehash_sock() local
276 if (scp->addr.sdn_flags & SDF_WILD) in dn_rehash_sock()
381 struct dn_scp *scp = DN_SK(sk); in dn_sklist_find_listener() local
384 if (scp->addr.sdn_objnum) { in dn_sklist_find_listener()
385 if (scp->addr.sdn_objnum != addr->sdn_objnum) in dn_sklist_find_listener()
390 if (scp->addr.sdn_objnamel != addr->sdn_objnamel) in dn_sklist_find_listener()
392 if (memcmp(scp->addr.sdn_objname, addr->sdn_objname, le16_to_cpu(addr->sdn_objnamel)) != 0) in dn_sklist_find_listener()
416 struct dn_scp *scp; in dn_find_by_skb() local
420 scp = DN_SK(sk); in dn_find_by_skb()
421 if (cb->src != dn_saddr2dn(&scp->peer)) in dn_find_by_skb()
423 if (cb->dst_port != scp->addrloc) in dn_find_by_skb()
425 if (scp->addrrem && (cb->src_port != scp->addrrem)) in dn_find_by_skb()
440 struct dn_scp *scp = DN_SK(sk); in dn_destruct() local
442 skb_queue_purge(&scp->data_xmit_queue); in dn_destruct()
443 skb_queue_purge(&scp->other_xmit_queue); in dn_destruct()
444 skb_queue_purge(&scp->other_receive_queue); in dn_destruct()
473 struct dn_scp *scp; in dn_alloc_sock() local
493 scp = DN_SK(sk); in dn_alloc_sock()
494 scp->state = DN_O; /* Open */ in dn_alloc_sock()
495 scp->numdat = 1; /* Next data seg to tx */ in dn_alloc_sock()
496 scp->numoth = 1; /* Next oth data to tx */ in dn_alloc_sock()
497 scp->ackxmt_dat = 0; /* Last data seg ack'ed */ in dn_alloc_sock()
498 scp->ackxmt_oth = 0; /* Last oth data ack'ed */ in dn_alloc_sock()
499 scp->ackrcv_dat = 0; /* Highest data ack recv*/ in dn_alloc_sock()
500 scp->ackrcv_oth = 0; /* Last oth data ack rec*/ in dn_alloc_sock()
501 scp->flowrem_sw = DN_SEND; in dn_alloc_sock()
502 scp->flowloc_sw = DN_SEND; in dn_alloc_sock()
503 scp->flowrem_dat = 0; in dn_alloc_sock()
504 scp->flowrem_oth = 1; in dn_alloc_sock()
505 scp->flowloc_dat = 0; in dn_alloc_sock()
506 scp->flowloc_oth = 1; in dn_alloc_sock()
507 scp->services_rem = 0; in dn_alloc_sock()
508 scp->services_loc = 1 | NSP_FC_NONE; in dn_alloc_sock()
509 scp->info_rem = 0; in dn_alloc_sock()
510 scp->info_loc = 0x03; /* NSP version 4.1 */ in dn_alloc_sock()
511 scp->segsize_rem = 230 - DN_MAX_NSP_DATA_HEADER; /* Default: Updated by remote segsize */ in dn_alloc_sock()
512 scp->nonagle = 0; in dn_alloc_sock()
513 scp->multi_ireq = 1; in dn_alloc_sock()
514 scp->accept_mode = ACC_IMMED; in dn_alloc_sock()
515 scp->addr.sdn_family = AF_DECnet; in dn_alloc_sock()
516 scp->peer.sdn_family = AF_DECnet; in dn_alloc_sock()
517 scp->accessdata.acc_accl = 5; in dn_alloc_sock()
518 memcpy(scp->accessdata.acc_acc, "LINUX", 5); in dn_alloc_sock()
520 scp->max_window = NSP_MAX_WINDOW; in dn_alloc_sock()
521 scp->snd_window = NSP_MIN_WINDOW; in dn_alloc_sock()
522 scp->nsp_srtt = NSP_INITIAL_SRTT; in dn_alloc_sock()
523 scp->nsp_rttvar = NSP_INITIAL_RTTVAR; in dn_alloc_sock()
524 scp->nsp_rxtshift = 0; in dn_alloc_sock()
526 skb_queue_head_init(&scp->data_xmit_queue); in dn_alloc_sock()
527 skb_queue_head_init(&scp->other_xmit_queue); in dn_alloc_sock()
528 skb_queue_head_init(&scp->other_receive_queue); in dn_alloc_sock()
530 scp->persist = 0; in dn_alloc_sock()
531 scp->persist_fxn = NULL; in dn_alloc_sock()
532 scp->keepalive = 10 * HZ; in dn_alloc_sock()
533 scp->keepalive_fxn = dn_keepalive; in dn_alloc_sock()
535 init_timer(&scp->delack_timer); in dn_alloc_sock()
536 scp->delack_pending = 0; in dn_alloc_sock()
537 scp->delack_fxn = dn_nsp_delayed_ack; in dn_alloc_sock()
550 struct dn_scp *scp = DN_SK(sk); in dn_keepalive() local
557 if (skb_queue_empty(&scp->other_xmit_queue)) in dn_keepalive()
571 struct dn_scp *scp = DN_SK(sk); in dn_destroy_timer() local
573 scp->persist = dn_nsp_persist(sk); in dn_destroy_timer()
575 switch (scp->state) { in dn_destroy_timer()
578 if (scp->nsp_rxtshift >= decnet_di_count) in dn_destroy_timer()
579 scp->state = DN_CN; in dn_destroy_timer()
584 if (scp->nsp_rxtshift >= decnet_dr_count) in dn_destroy_timer()
585 scp->state = DN_DRC; in dn_destroy_timer()
589 if (scp->nsp_rxtshift < decnet_dn_count) { in dn_destroy_timer()
597 scp->persist = (HZ * decnet_time_wait); in dn_destroy_timer()
602 if (time_after_eq(jiffies, scp->stamp + HZ * decnet_time_wait)) { in dn_destroy_timer()
613 struct dn_scp *scp = DN_SK(sk); in dn_destroy_sock() local
615 scp->nsp_rxtshift = 0; /* reset back off */ in dn_destroy_sock()
624 switch (scp->state) { in dn_destroy_sock()
628 scp->persist_fxn = dn_destroy_timer; in dn_destroy_sock()
629 scp->persist = dn_nsp_persist(sk); in dn_destroy_sock()
632 scp->state = DN_DR; in dn_destroy_sock()
635 scp->state = DN_DI; in dn_destroy_sock()
648 scp->persist_fxn = dn_destroy_timer; in dn_destroy_sock()
649 scp->persist = dn_nsp_persist(sk); in dn_destroy_sock()
728 struct dn_scp *scp = DN_SK(sk); in dn_bind() local
773 memcpy(&scp->addr, saddr, addr_len); in dn_bind()
789 struct dn_scp *scp = DN_SK(sk); in dn_auto_bind() local
794 scp->addr.sdn_flags = 0; in dn_auto_bind()
795 scp->addr.sdn_objnum = 0; in dn_auto_bind()
801 if ((scp->accessdata.acc_accl != 0) && in dn_auto_bind()
802 (scp->accessdata.acc_accl <= 12)) { in dn_auto_bind()
804 scp->addr.sdn_objnamel = cpu_to_le16(scp->accessdata.acc_accl); in dn_auto_bind()
805 memcpy(scp->addr.sdn_objname, scp->accessdata.acc_acc, le16_to_cpu(scp->addr.sdn_objnamel)); in dn_auto_bind()
807 scp->accessdata.acc_accl = 0; in dn_auto_bind()
808 memset(scp->accessdata.acc_acc, 0, 40); in dn_auto_bind()
812 scp->addr.sdn_add.a_len = cpu_to_le16(2); in dn_auto_bind()
813 rv = dn_dev_bind_default((__le16 *)scp->addr.sdn_add.a_addr); in dn_auto_bind()
825 struct dn_scp *scp = DN_SK(sk); in dn_confirm_accept() local
829 if (scp->state != DN_CR) in dn_confirm_accept()
832 scp->state = DN_CC; in dn_confirm_accept()
833 scp->segsize_loc = dst_metric_advmss(__sk_dst_get(sk)); in dn_confirm_accept()
839 if (scp->state == DN_CC) in dn_confirm_accept()
843 if (scp->state == DN_RUN) in dn_confirm_accept()
859 } else if (scp->state != DN_CC) { in dn_confirm_accept()
867 struct dn_scp *scp = DN_SK(sk); in dn_wait_run() local
871 if (scp->state == DN_RUN) in dn_wait_run()
880 if (scp->state == DN_CI || scp->state == DN_CC) in dn_wait_run()
884 if (scp->state == DN_RUN) in dn_wait_run()
901 } else if (scp->state != DN_CI && scp->state != DN_CC) { in dn_wait_run()
910 struct dn_scp *scp = DN_SK(sk); in __dn_connect() local
920 if (scp->state == DN_RUN) { in __dn_connect()
925 if (scp->state != DN_CI && scp->state != DN_CC) { in __dn_connect()
933 if (scp->state != DN_O) in __dn_connect()
949 memcpy(&scp->peer, addr, sizeof(struct sockaddr_dn)); in __dn_connect()
954 fld.daddr = dn_saddr2dn(&scp->peer); in __dn_connect()
955 fld.saddr = dn_saddr2dn(&scp->addr); in __dn_connect()
956 dn_sk_ports_copy(&fld, scp); in __dn_connect()
963 scp->state = DN_CI; in __dn_connect()
964 scp->segsize_loc = dst_metric_advmss(dst); in __dn_connect()
991 struct dn_scp *scp = DN_SK(sk); in dn_check_state() local
993 switch (scp->state) { in dn_check_state()
1186 struct dn_scp *scp = DN_SK(sk); in dn_getname() local
1195 scp->accept_mode == ACC_IMMED) { in dn_getname()
1200 memcpy(sa, &scp->peer, sizeof(struct sockaddr_dn)); in dn_getname()
1202 memcpy(sa, &scp->addr, sizeof(struct sockaddr_dn)); in dn_getname()
1214 struct dn_scp *scp = DN_SK(sk); in dn_poll() local
1217 if (!skb_queue_empty(&scp->other_receive_queue)) in dn_poll()
1226 struct dn_scp *scp = DN_SK(sk); in dn_ioctl() local
1240 val = !skb_queue_empty(&scp->other_receive_queue); in dn_ioctl()
1241 if (scp->state != DN_RUN) in dn_ioctl()
1255 skb = skb_peek(&scp->other_receive_queue); in dn_ioctl()
1303 struct dn_scp *scp = DN_SK(sk); in dn_shutdown() local
1316 if (scp->state == DN_O) in dn_shutdown()
1347 struct dn_scp *scp = DN_SK(sk); in __dn_setsockopt() local
1373 if ((scp->state != DN_O) && (scp->state != DN_CR)) in __dn_setsockopt()
1382 memcpy(&scp->conndata_out, &u.opt, optlen); in __dn_setsockopt()
1387 scp->accept_mode == ACC_IMMED) in __dn_setsockopt()
1396 memcpy(&scp->discdata_out, &u.opt, optlen); in __dn_setsockopt()
1402 if (scp->state != DN_O) in __dn_setsockopt()
1413 memcpy(&scp->accessdata, &u.acc, optlen); in __dn_setsockopt()
1419 if (scp->state != DN_O) in __dn_setsockopt()
1428 scp->accept_mode = (unsigned char)u.mode; in __dn_setsockopt()
1432 if (scp->state != DN_CR) in __dn_setsockopt()
1439 if (scp->state != DN_CR) in __dn_setsockopt()
1442 scp->state = DN_DR; in __dn_setsockopt()
1463 scp->max_window = u.win; in __dn_setsockopt()
1464 if (scp->snd_window > u.win) in __dn_setsockopt()
1465 scp->snd_window = u.win; in __dn_setsockopt()
1471 if (scp->nonagle == 2) in __dn_setsockopt()
1473 scp->nonagle = (u.val == 0) ? 0 : 1; in __dn_setsockopt()
1480 if (scp->nonagle == 1) in __dn_setsockopt()
1482 scp->nonagle = (u.val == 0) ? 0 : 2; in __dn_setsockopt()
1493 scp->services_loc = u.services; in __dn_setsockopt()
1501 scp->info_loc = u.info; in __dn_setsockopt()
1523 struct dn_scp *scp = DN_SK(sk); in __dn_getsockopt() local
1536 r_data = &scp->conndata_in; in __dn_getsockopt()
1542 r_data = &scp->discdata_in; in __dn_getsockopt()
1548 r_data = &scp->accessdata; in __dn_getsockopt()
1554 r_data = &scp->accept_mode; in __dn_getsockopt()
1577 link.idn_segsize = scp->segsize_rem; in __dn_getsockopt()
1604 r_data = &scp->max_window; in __dn_getsockopt()
1610 val = (scp->nonagle == 1); in __dn_getsockopt()
1617 val = (scp->nonagle == 2); in __dn_getsockopt()
1624 r_data = &scp->services_rem; in __dn_getsockopt()
1630 r_data = &scp->info_rem; in __dn_getsockopt()
1679 struct dn_scp *scp = DN_SK(sk); in dn_recvmsg() local
1711 queue = &scp->other_receive_queue; in dn_recvmsg()
1726 if (!skb_queue_empty(&scp->other_receive_queue)) { in dn_recvmsg()
1729 if (!scp->other_report) { in dn_recvmsg()
1730 scp->other_report = 1; in dn_recvmsg()
1736 if (scp->state != DN_RUN) in dn_recvmsg()
1784 if ((scp->flowloc_sw == DN_DONTSEND) && !dn_congested(sk)) { in dn_recvmsg()
1785 scp->flowloc_sw = DN_SEND; in dn_recvmsg()
1816 memcpy(msg->msg_name, &scp->peer, sizeof(struct sockaddr_dn)); in dn_recvmsg()
1826 static inline int dn_queue_too_long(struct dn_scp *scp, struct sk_buff_head *queue, int flags) in dn_queue_too_long() argument
1828 unsigned char fctype = scp->services_rem & NSP_FC_MASK; in dn_queue_too_long()
1829 if (skb_queue_len(queue) >= scp->snd_window) in dn_queue_too_long()
1833 if (scp->flowrem_oth == 0) in dn_queue_too_long()
1836 if (scp->flowrem_dat == 0) in dn_queue_too_long()
1876 struct dn_scp *scp = DN_SK(sk); in dn_current_mss() local
1877 int mss_now = min_t(int, scp->segsize_loc, scp->segsize_rem); in dn_current_mss()
1914 struct dn_scp *scp = DN_SK(sk); in dn_sendmsg() local
1916 struct sk_buff_head *queue = &scp->data_xmit_queue; in dn_sendmsg()
1964 mss = scp->segsize_rem; in dn_sendmsg()
1965 fctype = scp->services_rem & NSP_FC_MASK; in dn_sendmsg()
1970 queue = &scp->other_xmit_queue; in dn_sendmsg()
1977 scp->persist_fxn = dn_nsp_xmit_timeout; in dn_sendmsg()
2001 if (dn_queue_too_long(scp, queue, flags)) { in dn_sendmsg()
2012 !dn_queue_too_long(scp, queue, flags)); in dn_sendmsg()
2045 scp->flowrem_oth--; in dn_sendmsg()
2048 if (scp->seg_total == 0) in dn_sendmsg()
2051 scp->seg_total += len; in dn_sendmsg()
2055 scp->seg_total = 0; in dn_sendmsg()
2057 scp->flowrem_dat--; in dn_sendmsg()
2060 scp->flowrem_dat--; in dn_sendmsg()
2067 scp->persist = dn_nsp_persist(sk); in dn_sendmsg()
2266 struct dn_scp *scp = DN_SK(sk); in dn_socket_format_entry() local
2272 dn_printable_object(&scp->addr, local_object); in dn_socket_format_entry()
2273 dn_printable_object(&scp->peer, remote_object); in dn_socket_format_entry()
2278 dn_addr2asc(le16_to_cpu(dn_saddr2dn(&scp->addr)), buf1), in dn_socket_format_entry()
2279 scp->addrloc, in dn_socket_format_entry()
2280 scp->numdat, in dn_socket_format_entry()
2281 scp->numoth, in dn_socket_format_entry()
2282 scp->ackxmt_dat, in dn_socket_format_entry()
2283 scp->ackxmt_oth, in dn_socket_format_entry()
2284 scp->flowloc_sw, in dn_socket_format_entry()
2286 dn_addr2asc(le16_to_cpu(dn_saddr2dn(&scp->peer)), buf2), in dn_socket_format_entry()
2287 scp->addrrem, in dn_socket_format_entry()
2288 scp->numdat_rcv, in dn_socket_format_entry()
2289 scp->numoth_rcv, in dn_socket_format_entry()
2290 scp->ackrcv_dat, in dn_socket_format_entry()
2291 scp->ackrcv_oth, in dn_socket_format_entry()
2292 scp->flowrem_sw, in dn_socket_format_entry()
2294 dn_state2asc(scp->state), in dn_socket_format_entry()
2295 ((scp->accept_mode == ACC_IMMED) ? "IMMED" : "DEFER")); in dn_socket_format_entry()