tag | line | file | source code |
sk | 117 | drivers/net/de600.c | static unsigned long de600_rspace(struct sock *sk); |
sk | 484 | drivers/net/de600.c | if (skb->sk && (skb->sk->protocol == IPPROTO_TCP) && |
sk | 485 | drivers/net/de600.c | (skb->sk->prot->rspace != &de600_rspace)) |
sk | 486 | drivers/net/de600.c | skb->sk->prot->rspace = de600_rspace; /* Ugh! */ |
sk | 802 | drivers/net/de600.c | de600_rspace(struct sock *sk) |
sk | 806 | drivers/net/de600.c | if (sk != NULL) { |
sk | 813 | drivers/net/de600.c | if (sk->rmem_alloc >= sk->rcvbuf-2*DE600_MIN_WINDOW) return(0); |
sk | 814 | drivers/net/de600.c | amt = min((sk->rcvbuf-sk->rmem_alloc)/2/*-DE600_MIN_WINDOW*/, DE600_MAX_WINDOW); |
sk | 45 | include/linux/skbuff.h | struct sock *sk; |
sk | 278 | include/linux/skbuff.h | extern struct sk_buff * skb_recv_datagram(struct sock *sk,unsigned flags,int noblock, int *err); |
sk | 279 | include/linux/skbuff.h | extern int datagram_select(struct sock *sk, int sel_type, select_table *wait); |
sk | 79 | net/inet/af_inet.c | struct sock *sk; |
sk | 81 | net/inet/af_inet.c | for(sk = prot->sock_array[num & (SOCK_ARRAY_SIZE -1 )]; |
sk | 82 | net/inet/af_inet.c | sk != NULL; sk=sk->next) |
sk | 84 | net/inet/af_inet.c | if (sk->num == num) |
sk | 107 | net/inet/af_inet.c | struct sock *sk; |
sk | 120 | net/inet/af_inet.c | sk = prot->sock_array[(i+base+1) &(SOCK_ARRAY_SIZE -1)]; |
sk | 121 | net/inet/af_inet.c | while(sk != NULL) |
sk | 123 | net/inet/af_inet.c | sk = sk->next; |
sk | 151 | net/inet/af_inet.c | void put_sock(unsigned short num, struct sock *sk) |
sk | 157 | net/inet/af_inet.c | sk->num = num; |
sk | 158 | net/inet/af_inet.c | sk->next = NULL; |
sk | 163 | net/inet/af_inet.c | if (sk->prot->sock_array[num] == NULL) |
sk | 165 | net/inet/af_inet.c | sk->prot->sock_array[num] = sk; |
sk | 172 | net/inet/af_inet.c | if ((mask & sk->saddr) && |
sk | 173 | net/inet/af_inet.c | (mask & sk->saddr) != (mask & 0xffffffff)) |
sk | 180 | net/inet/af_inet.c | sk1 = sk->prot->sock_array[num]; |
sk | 187 | net/inet/af_inet.c | sk->next = sk->prot->sock_array[num]; |
sk | 188 | net/inet/af_inet.c | sk->prot->sock_array[num] = sk; |
sk | 192 | net/inet/af_inet.c | sk->next = sk2; |
sk | 193 | net/inet/af_inet.c | sk1->next= sk; |
sk | 201 | net/inet/af_inet.c | sk->next = NULL; |
sk | 202 | net/inet/af_inet.c | sk1->next = sk; |
sk | 248 | net/inet/af_inet.c | void destroy_sock(struct sock *sk) |
sk | 252 | net/inet/af_inet.c | sk->inuse = 1; /* just to be safe. */ |
sk | 255 | net/inet/af_inet.c | if (!sk->dead) |
sk | 256 | net/inet/af_inet.c | sk->write_space(sk); |
sk | 258 | net/inet/af_inet.c | remove_sock(sk); |
sk | 261 | net/inet/af_inet.c | delete_timer(sk); |
sk | 263 | net/inet/af_inet.c | while ((skb = tcp_dequeue_partial(sk)) != NULL) { |
sk | 269 | net/inet/af_inet.c | while((skb = skb_dequeue(&sk->write_queue)) != NULL) { |
sk | 279 | net/inet/af_inet.c | if (sk->dead) |
sk | 281 | net/inet/af_inet.c | while((skb=skb_dequeue(&sk->receive_queue))!=NULL) |
sk | 287 | net/inet/af_inet.c | if (skb->sk != NULL && skb->sk != sk) |
sk | 290 | net/inet/af_inet.c | skb->sk->dead = 1; |
sk | 291 | net/inet/af_inet.c | skb->sk->prot->close(skb->sk, 0); |
sk | 300 | net/inet/af_inet.c | for(skb = sk->send_head; skb != NULL; ) |
sk | 318 | net/inet/af_inet.c | sk->send_head = NULL; |
sk | 322 | net/inet/af_inet.c | while((skb=skb_dequeue(&sk->back_log))!=NULL) |
sk | 330 | net/inet/af_inet.c | if (sk->pair) |
sk | 332 | net/inet/af_inet.c | sk->pair->dead = 1; |
sk | 333 | net/inet/af_inet.c | sk->pair->prot->close(sk->pair, 0); |
sk | 334 | net/inet/af_inet.c | sk->pair = NULL; |
sk | 343 | net/inet/af_inet.c | if (sk->dead && sk->rmem_alloc == 0 && sk->wmem_alloc == 0) |
sk | 345 | net/inet/af_inet.c | kfree_s((void *)sk,sizeof(*sk)); |
sk | 351 | net/inet/af_inet.c | sk->destroy = 1; |
sk | 352 | net/inet/af_inet.c | sk->ack_backlog = 0; |
sk | 353 | net/inet/af_inet.c | sk->inuse = 0; |
sk | 354 | net/inet/af_inet.c | reset_timer(sk, TIME_DESTROY, SOCK_DESTROY_TIME); |
sk | 366 | net/inet/af_inet.c | struct sock *sk; |
sk | 368 | net/inet/af_inet.c | sk = (struct sock *) sock->data; |
sk | 380 | net/inet/af_inet.c | sk->proc = arg; |
sk | 383 | net/inet/af_inet.c | return(sk->proc); |
sk | 396 | net/inet/af_inet.c | struct sock *sk = (struct sock *) sock->data; |
sk | 398 | net/inet/af_inet.c | return sock_setsockopt(sk,level,optname,optval,optlen); |
sk | 399 | net/inet/af_inet.c | if (sk->prot->setsockopt==NULL) |
sk | 402 | net/inet/af_inet.c | return sk->prot->setsockopt(sk,level,optname,optval,optlen); |
sk | 412 | net/inet/af_inet.c | struct sock *sk = (struct sock *) sock->data; |
sk | 414 | net/inet/af_inet.c | return sock_getsockopt(sk,level,optname,optval,optlen); |
sk | 415 | net/inet/af_inet.c | if(sk->prot->getsockopt==NULL) |
sk | 418 | net/inet/af_inet.c | return sk->prot->getsockopt(sk,level,optname,optval,optlen); |
sk | 425 | net/inet/af_inet.c | static int inet_autobind(struct sock *sk) |
sk | 428 | net/inet/af_inet.c | if (sk->num == 0) |
sk | 430 | net/inet/af_inet.c | sk->num = get_new_socknum(sk->prot, 0); |
sk | 431 | net/inet/af_inet.c | if (sk->num == 0) |
sk | 433 | net/inet/af_inet.c | put_sock(sk->num, sk); |
sk | 434 | net/inet/af_inet.c | sk->dummy_th.source = ntohs(sk->num); |
sk | 445 | net/inet/af_inet.c | struct sock *sk = (struct sock *) sock->data; |
sk | 447 | net/inet/af_inet.c | if(inet_autobind(sk)!=0) |
sk | 458 | net/inet/af_inet.c | sk->max_ack_backlog = backlog; |
sk | 459 | net/inet/af_inet.c | if (sk->state != TCP_LISTEN) |
sk | 461 | net/inet/af_inet.c | sk->ack_backlog = 0; |
sk | 462 | net/inet/af_inet.c | sk->state = TCP_LISTEN; |
sk | 472 | net/inet/af_inet.c | static void def_callback1(struct sock *sk) |
sk | 474 | net/inet/af_inet.c | if(!sk->dead) |
sk | 475 | net/inet/af_inet.c | wake_up_interruptible(sk->sleep); |
sk | 478 | net/inet/af_inet.c | static void def_callback2(struct sock *sk,int len) |
sk | 480 | net/inet/af_inet.c | if(!sk->dead) |
sk | 482 | net/inet/af_inet.c | wake_up_interruptible(sk->sleep); |
sk | 483 | net/inet/af_inet.c | sock_wake_async(sk->socket); |
sk | 497 | net/inet/af_inet.c | struct sock *sk; |
sk | 501 | net/inet/af_inet.c | sk = (struct sock *) kmalloc(sizeof(*sk), GFP_KERNEL); |
sk | 502 | net/inet/af_inet.c | if (sk == NULL) |
sk | 504 | net/inet/af_inet.c | sk->num = 0; |
sk | 505 | net/inet/af_inet.c | sk->reuse = 0; |
sk | 512 | net/inet/af_inet.c | kfree_s((void *)sk, sizeof(*sk)); |
sk | 516 | net/inet/af_inet.c | sk->no_check = TCP_NO_CHECK; |
sk | 523 | net/inet/af_inet.c | kfree_s((void *)sk, sizeof(*sk)); |
sk | 527 | net/inet/af_inet.c | sk->no_check = UDP_NO_CHECK; |
sk | 534 | net/inet/af_inet.c | kfree_s((void *)sk, sizeof(*sk)); |
sk | 539 | net/inet/af_inet.c | kfree_s((void *)sk, sizeof(*sk)); |
sk | 543 | net/inet/af_inet.c | sk->reuse = 1; |
sk | 544 | net/inet/af_inet.c | sk->no_check = 0; /* |
sk | 548 | net/inet/af_inet.c | sk->num = protocol; |
sk | 554 | net/inet/af_inet.c | kfree_s((void *)sk, sizeof(*sk)); |
sk | 559 | net/inet/af_inet.c | kfree_s((void *)sk, sizeof(*sk)); |
sk | 563 | net/inet/af_inet.c | sk->reuse = 1; |
sk | 564 | net/inet/af_inet.c | sk->no_check = 0; /* Doesn't matter no checksum is |
sk | 567 | net/inet/af_inet.c | sk->num = protocol; |
sk | 571 | net/inet/af_inet.c | kfree_s((void *)sk, sizeof(*sk)); |
sk | 574 | net/inet/af_inet.c | sk->socket = sock; |
sk | 576 | net/inet/af_inet.c | sk->nonagle = 1; |
sk | 578 | net/inet/af_inet.c | sk->nonagle = 0; |
sk | 580 | net/inet/af_inet.c | sk->type = sock->type; |
sk | 581 | net/inet/af_inet.c | sk->stamp.tv_sec=0; |
sk | 582 | net/inet/af_inet.c | sk->protocol = protocol; |
sk | 583 | net/inet/af_inet.c | sk->wmem_alloc = 0; |
sk | 584 | net/inet/af_inet.c | sk->rmem_alloc = 0; |
sk | 585 | net/inet/af_inet.c | sk->sndbuf = SK_WMEM_MAX; |
sk | 586 | net/inet/af_inet.c | sk->rcvbuf = SK_RMEM_MAX; |
sk | 587 | net/inet/af_inet.c | sk->pair = NULL; |
sk | 588 | net/inet/af_inet.c | sk->opt = NULL; |
sk | 589 | net/inet/af_inet.c | sk->write_seq = 0; |
sk | 590 | net/inet/af_inet.c | sk->acked_seq = 0; |
sk | 591 | net/inet/af_inet.c | sk->copied_seq = 0; |
sk | 592 | net/inet/af_inet.c | sk->fin_seq = 0; |
sk | 593 | net/inet/af_inet.c | sk->urg_seq = 0; |
sk | 594 | net/inet/af_inet.c | sk->urg_data = 0; |
sk | 595 | net/inet/af_inet.c | sk->proc = 0; |
sk | 596 | net/inet/af_inet.c | sk->rtt = 0; /*TCP_WRITE_TIME << 3;*/ |
sk | 597 | net/inet/af_inet.c | sk->rto = TCP_TIMEOUT_INIT; /*TCP_WRITE_TIME*/ |
sk | 598 | net/inet/af_inet.c | sk->mdev = 0; |
sk | 599 | net/inet/af_inet.c | sk->backoff = 0; |
sk | 600 | net/inet/af_inet.c | sk->packets_out = 0; |
sk | 601 | net/inet/af_inet.c | sk->cong_window = 1; /* start with only sending one packet at a time. */ |
sk | 602 | net/inet/af_inet.c | sk->cong_count = 0; |
sk | 603 | net/inet/af_inet.c | sk->ssthresh = 0; |
sk | 604 | net/inet/af_inet.c | sk->max_window = 0; |
sk | 605 | net/inet/af_inet.c | sk->urginline = 0; |
sk | 606 | net/inet/af_inet.c | sk->intr = 0; |
sk | 607 | net/inet/af_inet.c | sk->linger = 0; |
sk | 608 | net/inet/af_inet.c | sk->destroy = 0; |
sk | 609 | net/inet/af_inet.c | sk->priority = 1; |
sk | 610 | net/inet/af_inet.c | sk->shutdown = 0; |
sk | 611 | net/inet/af_inet.c | sk->keepopen = 0; |
sk | 612 | net/inet/af_inet.c | sk->zapped = 0; |
sk | 613 | net/inet/af_inet.c | sk->done = 0; |
sk | 614 | net/inet/af_inet.c | sk->ack_backlog = 0; |
sk | 615 | net/inet/af_inet.c | sk->window = 0; |
sk | 616 | net/inet/af_inet.c | sk->bytes_rcv = 0; |
sk | 617 | net/inet/af_inet.c | sk->state = TCP_CLOSE; |
sk | 618 | net/inet/af_inet.c | sk->dead = 0; |
sk | 619 | net/inet/af_inet.c | sk->ack_timed = 0; |
sk | 620 | net/inet/af_inet.c | sk->partial = NULL; |
sk | 621 | net/inet/af_inet.c | sk->user_mss = 0; |
sk | 622 | net/inet/af_inet.c | sk->debug = 0; |
sk | 625 | net/inet/af_inet.c | sk->max_unacked = 2048; /* needs to be at most 2 full packets. */ |
sk | 629 | net/inet/af_inet.c | sk->max_ack_backlog = 0; |
sk | 630 | net/inet/af_inet.c | sk->inuse = 0; |
sk | 631 | net/inet/af_inet.c | sk->delay_acks = 0; |
sk | 632 | net/inet/af_inet.c | skb_queue_head_init(&sk->write_queue); |
sk | 633 | net/inet/af_inet.c | skb_queue_head_init(&sk->receive_queue); |
sk | 634 | net/inet/af_inet.c | sk->mtu = 576; |
sk | 635 | net/inet/af_inet.c | sk->prot = prot; |
sk | 636 | net/inet/af_inet.c | sk->sleep = sock->wait; |
sk | 637 | net/inet/af_inet.c | sk->daddr = 0; |
sk | 638 | net/inet/af_inet.c | sk->saddr = 0 /* ip_my_addr() */; |
sk | 639 | net/inet/af_inet.c | sk->err = 0; |
sk | 640 | net/inet/af_inet.c | sk->next = NULL; |
sk | 641 | net/inet/af_inet.c | sk->pair = NULL; |
sk | 642 | net/inet/af_inet.c | sk->send_tail = NULL; |
sk | 643 | net/inet/af_inet.c | sk->send_head = NULL; |
sk | 644 | net/inet/af_inet.c | sk->timeout = 0; |
sk | 645 | net/inet/af_inet.c | sk->broadcast = 0; |
sk | 646 | net/inet/af_inet.c | sk->localroute = 0; |
sk | 647 | net/inet/af_inet.c | init_timer(&sk->timer); |
sk | 648 | net/inet/af_inet.c | sk->timer.data = (unsigned long)sk; |
sk | 649 | net/inet/af_inet.c | sk->timer.function = &net_timer; |
sk | 650 | net/inet/af_inet.c | skb_queue_head_init(&sk->back_log); |
sk | 651 | net/inet/af_inet.c | sk->blog = 0; |
sk | 652 | net/inet/af_inet.c | sock->data =(void *) sk; |
sk | 653 | net/inet/af_inet.c | sk->dummy_th.doff = sizeof(sk->dummy_th)/4; |
sk | 654 | net/inet/af_inet.c | sk->dummy_th.res1=0; |
sk | 655 | net/inet/af_inet.c | sk->dummy_th.res2=0; |
sk | 656 | net/inet/af_inet.c | sk->dummy_th.urg_ptr = 0; |
sk | 657 | net/inet/af_inet.c | sk->dummy_th.fin = 0; |
sk | 658 | net/inet/af_inet.c | sk->dummy_th.syn = 0; |
sk | 659 | net/inet/af_inet.c | sk->dummy_th.rst = 0; |
sk | 660 | net/inet/af_inet.c | sk->dummy_th.psh = 0; |
sk | 661 | net/inet/af_inet.c | sk->dummy_th.ack = 0; |
sk | 662 | net/inet/af_inet.c | sk->dummy_th.urg = 0; |
sk | 663 | net/inet/af_inet.c | sk->dummy_th.dest = 0; |
sk | 664 | net/inet/af_inet.c | sk->ip_tos=0; |
sk | 665 | net/inet/af_inet.c | sk->ip_ttl=64; |
sk | 667 | net/inet/af_inet.c | sk->ip_mc_loop=1; |
sk | 668 | net/inet/af_inet.c | sk->ip_mc_ttl=1; |
sk | 669 | net/inet/af_inet.c | *sk->ip_mc_name=0; |
sk | 670 | net/inet/af_inet.c | sk->ip_mc_list=NULL; |
sk | 673 | net/inet/af_inet.c | sk->state_change = def_callback1; |
sk | 674 | net/inet/af_inet.c | sk->data_ready = def_callback2; |
sk | 675 | net/inet/af_inet.c | sk->write_space = def_callback1; |
sk | 676 | net/inet/af_inet.c | sk->error_report = def_callback1; |
sk | 678 | net/inet/af_inet.c | if (sk->num) |
sk | 686 | net/inet/af_inet.c | put_sock(sk->num, sk); |
sk | 687 | net/inet/af_inet.c | sk->dummy_th.source = ntohs(sk->num); |
sk | 690 | net/inet/af_inet.c | if (sk->prot->init) |
sk | 692 | net/inet/af_inet.c | err = sk->prot->init(sk); |
sk | 695 | net/inet/af_inet.c | destroy_sock(sk); |
sk | 721 | net/inet/af_inet.c | struct sock *sk = (struct sock *) sock->data; |
sk | 722 | net/inet/af_inet.c | if (sk == NULL) |
sk | 725 | net/inet/af_inet.c | sk->state_change(sk); |
sk | 735 | net/inet/af_inet.c | if (sk->linger == 0) |
sk | 737 | net/inet/af_inet.c | sk->prot->close(sk,0); |
sk | 738 | net/inet/af_inet.c | sk->dead = 1; |
sk | 742 | net/inet/af_inet.c | sk->prot->close(sk, 0); |
sk | 744 | net/inet/af_inet.c | if (sk->lingertime) |
sk | 745 | net/inet/af_inet.c | current->timeout = jiffies + HZ*sk->lingertime; |
sk | 746 | net/inet/af_inet.c | while(sk->state < TCP_LAST_ACK && sk->state!= TCP_FIN_WAIT2 && |
sk | 747 | net/inet/af_inet.c | sk->state != TCP_TIME_WAIT && current->timeout>0) |
sk | 749 | net/inet/af_inet.c | interruptible_sleep_on(sk->sleep); |
sk | 763 | net/inet/af_inet.c | sk->dead = 1; |
sk | 765 | net/inet/af_inet.c | sk->inuse = 1; |
sk | 768 | net/inet/af_inet.c | release_sock(sk); |
sk | 770 | net/inet/af_inet.c | sk->socket = NULL; |
sk | 783 | net/inet/af_inet.c | struct sock *sk=(struct sock *)sock->data, *sk2; |
sk | 788 | net/inet/af_inet.c | if (sk->state != TCP_CLOSE) |
sk | 790 | net/inet/af_inet.c | if (sk->num != 0) |
sk | 805 | net/inet/af_inet.c | snum = get_new_socknum(sk->prot, 0); |
sk | 815 | net/inet/af_inet.c | sk->saddr = addr->sin_addr.s_addr; |
sk | 820 | net/inet/af_inet.c | for(sk2 = sk->prot->sock_array[snum & (SOCK_ARRAY_SIZE -1)]; |
sk | 830 | net/inet/af_inet.c | if (!sk->reuse) |
sk | 838 | net/inet/af_inet.c | if (sk2->saddr != sk->saddr) |
sk | 848 | net/inet/af_inet.c | remove_sock(sk); |
sk | 849 | net/inet/af_inet.c | put_sock(snum, sk); |
sk | 850 | net/inet/af_inet.c | sk->dummy_th.source = ntohs(sk->num); |
sk | 851 | net/inet/af_inet.c | sk->daddr = 0; |
sk | 852 | net/inet/af_inet.c | sk->dummy_th.dest = 0; |
sk | 860 | net/inet/af_inet.c | static int inet_error(struct sock *sk) |
sk | 866 | net/inet/af_inet.c | err=sk->err; |
sk | 867 | net/inet/af_inet.c | sk->err=0; |
sk | 880 | net/inet/af_inet.c | struct sock *sk=(struct sock *)sock->data; |
sk | 884 | net/inet/af_inet.c | if (sock->state == SS_CONNECTING && tcp_connected(sk->state)) |
sk | 891 | net/inet/af_inet.c | if (sock->state == SS_CONNECTING && sk->protocol == IPPROTO_TCP && (flags & O_NONBLOCK)) |
sk | 897 | net/inet/af_inet.c | if(inet_autobind(sk)!=0) |
sk | 899 | net/inet/af_inet.c | if (sk->prot->connect == NULL) |
sk | 901 | net/inet/af_inet.c | err = sk->prot->connect(sk, (struct sockaddr_in *)uaddr, addr_len); |
sk | 907 | net/inet/af_inet.c | if (sk->state > TCP_FIN_WAIT2 && sock->state==SS_CONNECTING) |
sk | 911 | net/inet/af_inet.c | err=sk->err; |
sk | 912 | net/inet/af_inet.c | sk->err=0; |
sk | 917 | net/inet/af_inet.c | if (sk->state != TCP_ESTABLISHED &&(flags & O_NONBLOCK)) |
sk | 921 | net/inet/af_inet.c | while(sk->state == TCP_SYN_SENT || sk->state == TCP_SYN_RECV) |
sk | 923 | net/inet/af_inet.c | interruptible_sleep_on(sk->sleep); |
sk | 931 | net/inet/af_inet.c | if(sk->err && sk->protocol == IPPROTO_TCP) |
sk | 935 | net/inet/af_inet.c | err = -sk->err; |
sk | 936 | net/inet/af_inet.c | sk->err=0; |
sk | 943 | net/inet/af_inet.c | if (sk->state != TCP_ESTABLISHED && sk->err) |
sk | 946 | net/inet/af_inet.c | err=sk->err; |
sk | 947 | net/inet/af_inet.c | sk->err=0; |
sk | 978 | net/inet/af_inet.c | struct sock *sk=(struct sock *)newsock->data; |
sk | 980 | net/inet/af_inet.c | sk->dead = 1; |
sk | 981 | net/inet/af_inet.c | destroy_sock(sk); |
sk | 1050 | net/inet/af_inet.c | struct sock *sk; |
sk | 1053 | net/inet/af_inet.c | sk = (struct sock *) sock->data; |
sk | 1056 | net/inet/af_inet.c | if (!tcp_connected(sk->state)) |
sk | 1058 | net/inet/af_inet.c | sin->sin_port = sk->dummy_th.dest; |
sk | 1059 | net/inet/af_inet.c | sin->sin_addr.s_addr = sk->daddr; |
sk | 1063 | net/inet/af_inet.c | sin->sin_port = sk->dummy_th.source; |
sk | 1064 | net/inet/af_inet.c | if (sk->saddr == 0) |
sk | 1067 | net/inet/af_inet.c | sin->sin_addr.s_addr = sk->saddr; |
sk | 1081 | net/inet/af_inet.c | struct sock *sk = (struct sock *) sock->data; |
sk | 1083 | net/inet/af_inet.c | if (sk->prot->recvfrom == NULL) |
sk | 1085 | net/inet/af_inet.c | if(sk->err) |
sk | 1086 | net/inet/af_inet.c | return inet_error(sk); |
sk | 1088 | net/inet/af_inet.c | if(inet_autobind(sk)!=0) |
sk | 1090 | net/inet/af_inet.c | return(sk->prot->recvfrom(sk, (unsigned char *) ubuf, size, noblock, flags, |
sk | 1104 | net/inet/af_inet.c | struct sock *sk = (struct sock *) sock->data; |
sk | 1106 | net/inet/af_inet.c | if(sk->err) |
sk | 1107 | net/inet/af_inet.c | return inet_error(sk); |
sk | 1109 | net/inet/af_inet.c | if(inet_autobind(sk)) |
sk | 1111 | net/inet/af_inet.c | return(sk->prot->read(sk, (unsigned char *) ubuf, size, noblock, 0)); |
sk | 1117 | net/inet/af_inet.c | struct sock *sk = (struct sock *) sock->data; |
sk | 1118 | net/inet/af_inet.c | if (sk->shutdown & SEND_SHUTDOWN) |
sk | 1123 | net/inet/af_inet.c | if(sk->err) |
sk | 1124 | net/inet/af_inet.c | return inet_error(sk); |
sk | 1126 | net/inet/af_inet.c | if(inet_autobind(sk)!=0) |
sk | 1128 | net/inet/af_inet.c | return(sk->prot->write(sk, (unsigned char *) ubuf, size, noblock, flags)); |
sk | 1139 | net/inet/af_inet.c | struct sock *sk = (struct sock *) sock->data; |
sk | 1140 | net/inet/af_inet.c | if (sk->shutdown & SEND_SHUTDOWN) |
sk | 1145 | net/inet/af_inet.c | if (sk->prot->sendto == NULL) |
sk | 1147 | net/inet/af_inet.c | if(sk->err) |
sk | 1148 | net/inet/af_inet.c | return inet_error(sk); |
sk | 1150 | net/inet/af_inet.c | if(inet_autobind(sk)!=0) |
sk | 1152 | net/inet/af_inet.c | return(sk->prot->sendto(sk, (unsigned char *) ubuf, size, noblock, flags, |
sk | 1159 | net/inet/af_inet.c | struct sock *sk=(struct sock*)sock->data; |
sk | 1170 | net/inet/af_inet.c | if (sock->state == SS_CONNECTING && sk->state == TCP_ESTABLISHED) |
sk | 1172 | net/inet/af_inet.c | if (!tcp_connected(sk->state)) |
sk | 1174 | net/inet/af_inet.c | sk->shutdown |= how; |
sk | 1175 | net/inet/af_inet.c | if (sk->prot->shutdown) |
sk | 1176 | net/inet/af_inet.c | sk->prot->shutdown(sk, how); |
sk | 1183 | net/inet/af_inet.c | struct sock *sk=(struct sock *) sock->data; |
sk | 1184 | net/inet/af_inet.c | if (sk->prot->select == NULL) |
sk | 1188 | net/inet/af_inet.c | return(sk->prot->select(sk, sel_type, wait)); |
sk | 1203 | net/inet/af_inet.c | struct sock *sk=(struct sock *)sock->data; |
sk | 1213 | net/inet/af_inet.c | sk->proc = get_fs_long((int *) arg); |
sk | 1220 | net/inet/af_inet.c | put_fs_long(sk->proc,(int *)arg); |
sk | 1223 | net/inet/af_inet.c | if(sk->stamp.tv_sec==0) |
sk | 1228 | net/inet/af_inet.c | memcpy_tofs((void *)arg,&sk->stamp,sizeof(struct timeval)); |
sk | 1281 | net/inet/af_inet.c | if (sk->prot->ioctl==NULL) |
sk | 1283 | net/inet/af_inet.c | return(sk->prot->ioctl(sk, cmd, arg)); |
sk | 1362 | net/inet/af_inet.c | struct sock *get_sock_raw(struct sock *sk, |
sk | 1369 | net/inet/af_inet.c | s=sk; |
sk | 1391 | net/inet/af_inet.c | struct sock *get_sock_mcast(struct sock *sk, |
sk | 1410 | net/inet/af_inet.c | s=sk; |
sk | 462 | net/inet/arp.c | if(skb->sk==NULL) |
sk | 465 | net/inet/arp.c | dev_queue_xmit(skb,skb->dev,skb->sk->priority); |
sk | 53 | net/inet/datagram.c | struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags, int noblock, int *err) |
sk | 59 | net/inet/datagram.c | sk->inuse = 1; |
sk | 60 | net/inet/datagram.c | while(skb_peek(&sk->receive_queue) == NULL) /* No data */ |
sk | 63 | net/inet/datagram.c | if (sk->shutdown & RCV_SHUTDOWN) |
sk | 65 | net/inet/datagram.c | release_sock(sk); |
sk | 70 | net/inet/datagram.c | if(sk->err) |
sk | 72 | net/inet/datagram.c | release_sock(sk); |
sk | 73 | net/inet/datagram.c | *err=-sk->err; |
sk | 74 | net/inet/datagram.c | sk->err=0; |
sk | 79 | net/inet/datagram.c | if(sk->type==SOCK_SEQPACKET && sk->state!=TCP_ESTABLISHED) |
sk | 81 | net/inet/datagram.c | release_sock(sk); |
sk | 89 | net/inet/datagram.c | release_sock(sk); |
sk | 93 | net/inet/datagram.c | release_sock(sk); |
sk | 98 | net/inet/datagram.c | if (skb_peek(&sk->receive_queue) == NULL) |
sk | 100 | net/inet/datagram.c | interruptible_sleep_on(sk->sleep); |
sk | 108 | net/inet/datagram.c | if(sk->err != 0) /* Error while waiting for packet |
sk | 112 | net/inet/datagram.c | *err = -sk->err; |
sk | 114 | net/inet/datagram.c | sk->err=0; |
sk | 118 | net/inet/datagram.c | sk->inuse = 1; |
sk | 125 | net/inet/datagram.c | skb=skb_dequeue(&sk->receive_queue); |
sk | 134 | net/inet/datagram.c | skb=skb_peek(&sk->receive_queue); |
sk | 174 | net/inet/datagram.c | int datagram_select(struct sock *sk, int sel_type, select_table *wait) |
sk | 176 | net/inet/datagram.c | select_wait(sk->sleep, wait); |
sk | 180 | net/inet/datagram.c | if (sk->type==SOCK_SEQPACKET && sk->state==TCP_CLOSE) |
sk | 185 | net/inet/datagram.c | if (skb_peek(&sk->receive_queue) != NULL || sk->err != 0) |
sk | 193 | net/inet/datagram.c | if (sk->prot && sk->prot->wspace(sk) >= MIN_WRITE_SPACE) |
sk | 197 | net/inet/datagram.c | if (sk->prot==NULL && sk->sndbuf-sk->wmem_alloc >= MIN_WRITE_SPACE) |
sk | 204 | net/inet/datagram.c | if (sk->err) |
sk | 495 | net/inet/dev.c | skb->sk = NULL; |
sk | 216 | net/inet/icmp.c | skb->sk = NULL; |
sk | 477 | net/inet/icmp.c | skb->sk = NULL; |
sk | 612 | net/inet/icmp.c | skb->sk = NULL; |
sk | 710 | net/inet/icmp.c | skb1->sk = NULL; |
sk | 741 | net/inet/icmp.c | int icmp_ioctl(struct sock *sk, int cmd, unsigned long arg) |
sk | 35 | net/inet/icmp.h | extern int icmp_ioctl(struct sock *sk, int cmd, |
sk | 307 | net/inet/igmp.c | int ip_mc_join_group(struct sock *sk , struct device *dev, unsigned long addr) |
sk | 315 | net/inet/igmp.c | if(sk->ip_mc_list==NULL) |
sk | 317 | net/inet/igmp.c | if((sk->ip_mc_list=(struct ip_mc_socklist *)kmalloc(sizeof(*sk->ip_mc_list), GFP_KERNEL))==NULL) |
sk | 319 | net/inet/igmp.c | memset(sk->ip_mc_list,'\0',sizeof(*sk->ip_mc_list)); |
sk | 323 | net/inet/igmp.c | if(sk->ip_mc_list->multiaddr[i]==addr && sk->ip_mc_list->multidev[i]==dev) |
sk | 325 | net/inet/igmp.c | if(sk->ip_mc_list->multidev[i]==NULL) |
sk | 331 | net/inet/igmp.c | sk->ip_mc_list->multiaddr[unused]=addr; |
sk | 332 | net/inet/igmp.c | sk->ip_mc_list->multidev[unused]=dev; |
sk | 341 | net/inet/igmp.c | int ip_mc_leave_group(struct sock *sk, struct device *dev, unsigned long addr) |
sk | 348 | net/inet/igmp.c | if(sk->ip_mc_list==NULL) |
sk | 353 | net/inet/igmp.c | if(sk->ip_mc_list->multiaddr[i]==addr && sk->ip_mc_list->multidev[i]==dev) |
sk | 355 | net/inet/igmp.c | sk->ip_mc_list->multidev[i]=NULL; |
sk | 367 | net/inet/igmp.c | void ip_mc_drop_socket(struct sock *sk) |
sk | 371 | net/inet/igmp.c | if(sk->ip_mc_list==NULL) |
sk | 376 | net/inet/igmp.c | if(sk->ip_mc_list->multidev[i]) |
sk | 378 | net/inet/igmp.c | ip_mc_dec_group(sk->ip_mc_list->multidev[i], sk->ip_mc_list->multiaddr[i]); |
sk | 379 | net/inet/igmp.c | sk->ip_mc_list->multidev[i]=NULL; |
sk | 382 | net/inet/igmp.c | kfree_s(sk->ip_mc_list,sizeof(*sk->ip_mc_list)); |
sk | 383 | net/inet/igmp.c | sk->ip_mc_list=NULL; |
sk | 66 | net/inet/igmp.h | extern int ip_mc_join_group(struct sock *sk, struct device *dev, unsigned long addr); |
sk | 67 | net/inet/igmp.h | extern int ip_mc_leave_group(struct sock *sk, struct device *dev,unsigned long addr); |
sk | 68 | net/inet/igmp.h | extern void ip_mc_drop_socket(struct sock *sk); |
sk | 110 | net/inet/ip.c | extern void sort_send(struct sock *sk); |
sk | 137 | net/inet/ip.c | int ip_ioctl(struct sock *sk, int cmd, unsigned long arg) |
sk | 237 | net/inet/ip.c | if(MULTICAST(daddr) && *dev==NULL && skb->sk && *skb->sk->ip_mc_name) |
sk | 238 | net/inet/ip.c | *dev=dev_get(skb->sk->ip_mc_name); |
sk | 308 | net/inet/ip.c | if (skb->sk) |
sk | 309 | net/inet/ip.c | skb->sk->saddr = saddr; |
sk | 977 | net/inet/ip.c | skb->sk = NULL; |
sk | 1078 | net/inet/ip.c | skb->sk = NULL; |
sk | 1120 | net/inet/ip.c | void ip_fragment(struct sock *sk, struct sk_buff *skb, struct device *dev, int is_frag) |
sk | 1233 | net/inet/ip.c | if (sk) |
sk | 1236 | net/inet/ip.c | sk->wmem_alloc += skb2->mem_len; |
sk | 1237 | net/inet/ip.c | skb2->sk=sk; |
sk | 1276 | net/inet/ip.c | ip_queue_xmit(sk, dev, skb2, 2); |
sk | 1772 | net/inet/ip.c | newskb->sk=NULL; |
sk | 1803 | net/inet/ip.c | void ip_queue_xmit(struct sock *sk, struct device *dev, |
sk | 1850 | net/inet/ip.c | if (sk == NULL) |
sk | 1863 | net/inet/ip.c | ip_fragment(sk,skb,dev,0); |
sk | 1901 | net/inet/ip.c | sk->packets_out++; |
sk | 1912 | net/inet/ip.c | if (sk->send_head == NULL) |
sk | 1914 | net/inet/ip.c | sk->send_tail = skb; |
sk | 1915 | net/inet/ip.c | sk->send_head = skb; |
sk | 1919 | net/inet/ip.c | sk->send_tail->link3 = skb; |
sk | 1920 | net/inet/ip.c | sk->send_tail = skb; |
sk | 1928 | net/inet/ip.c | reset_timer(sk, TIME_WRITE, sk->rto); |
sk | 1932 | net/inet/ip.c | skb->sk = sk; |
sk | 1951 | net/inet/ip.c | if(sk==NULL || sk->ip_mc_loop) |
sk | 1988 | net/inet/ip.c | if (sk != NULL) |
sk | 1990 | net/inet/ip.c | dev_queue_xmit(skb, dev, sk->priority); |
sk | 2060 | net/inet/ip.c | int ip_setsockopt(struct sock *sk, int level, int optname, char *optval, int optlen) |
sk | 2086 | net/inet/ip.c | sk->ip_mc_ttl=(int)ucval; |
sk | 2096 | net/inet/ip.c | sk->ip_tos=val; |
sk | 2098 | net/inet/ip.c | sk->priority=SOPRI_INTERACTIVE; |
sk | 2100 | net/inet/ip.c | sk->priority=SOPRI_BACKGROUND; |
sk | 2105 | net/inet/ip.c | sk->ip_ttl=val; |
sk | 2117 | net/inet/ip.c | sk->ip_mc_ttl=(int)ucval; |
sk | 2128 | net/inet/ip.c | sk->ip_mc_loop=(int)ucval; |
sk | 2155 | net/inet/ip.c | sk->ip_mc_name[0]=0; |
sk | 2176 | net/inet/ip.c | strcpy(sk->ip_mc_name,dev->name); |
sk | 2243 | net/inet/ip.c | return ip_mc_join_group(sk,dev,mreq.imr_multiaddr.s_addr); |
sk | 2297 | net/inet/ip.c | return ip_mc_leave_group(sk,dev,mreq.imr_multiaddr.s_addr); |
sk | 2348 | net/inet/ip.c | int ip_getsockopt(struct sock *sk, int level, int optname, char *optval, int *optlen) |
sk | 2361 | net/inet/ip.c | val=sk->ip_tos; |
sk | 2364 | net/inet/ip.c | val=sk->ip_ttl; |
sk | 2368 | net/inet/ip.c | val=sk->ip_mc_ttl; |
sk | 2371 | net/inet/ip.c | val=sk->ip_mc_loop; |
sk | 2377 | net/inet/ip.c | len=strlen(sk->ip_mc_name); |
sk | 2382 | net/inet/ip.c | memcpy_tofs((void *)optval,sk->ip_mc_name, len); |
sk | 76 | net/inet/ip.h | extern int ip_ioctl(struct sock *sk, int cmd, |
sk | 90 | net/inet/ip.h | extern void ip_queue_xmit(struct sock *sk, |
sk | 93 | net/inet/ip.h | extern int ip_setsockopt(struct sock *sk, int level, int optname, char *optval, int optlen); |
sk | 94 | net/inet/ip.h | extern int ip_getsockopt(struct sock *sk, int level, int optname, char *optval, int *optlen); |
sk | 78 | net/inet/ipx.c | static void ipx_remove_socket(ipx_socket *sk) |
sk | 84 | net/inet/ipx.c | if(s==sk) |
sk | 92 | net/inet/ipx.c | if(s->next==sk) |
sk | 94 | net/inet/ipx.c | s->next=sk->next; |
sk | 103 | net/inet/ipx.c | static void ipx_insert_socket(ipx_socket *sk) |
sk | 106 | net/inet/ipx.c | sk->next=ipx_socket_list; |
sk | 107 | net/inet/ipx.c | ipx_socket_list=sk; |
sk | 133 | net/inet/ipx.c | static void ipx_destroy_socket(ipx_socket *sk) |
sk | 136 | net/inet/ipx.c | ipx_remove_socket(sk); |
sk | 138 | net/inet/ipx.c | while((skb=skb_dequeue(&sk->receive_queue))!=NULL) |
sk | 143 | net/inet/ipx.c | kfree_s(sk,sizeof(*sk)); |
sk | 471 | net/inet/ipx.c | ipx_socket *sk=(ipx_socket *)sock->data; |
sk | 481 | net/inet/ipx.c | ipx_socket *sk; |
sk | 484 | net/inet/ipx.c | sk=(ipx_socket *)sock->data; |
sk | 502 | net/inet/ipx.c | sk->ipx_type=opt; |
sk | 510 | net/inet/ipx.c | return sock_setsockopt(sk,level,optname,optval,optlen); |
sk | 520 | net/inet/ipx.c | ipx_socket *sk; |
sk | 524 | net/inet/ipx.c | sk=(ipx_socket *)sock->data; |
sk | 533 | net/inet/ipx.c | val=sk->ipx_type; |
sk | 541 | net/inet/ipx.c | return sock_getsockopt(sk,level,optname,optval,optlen); |
sk | 560 | net/inet/ipx.c | static void def_callback1(struct sock *sk) |
sk | 562 | net/inet/ipx.c | if(!sk->dead) |
sk | 563 | net/inet/ipx.c | wake_up_interruptible(sk->sleep); |
sk | 566 | net/inet/ipx.c | static void def_callback2(struct sock *sk, int len) |
sk | 568 | net/inet/ipx.c | if(!sk->dead) |
sk | 570 | net/inet/ipx.c | wake_up_interruptible(sk->sleep); |
sk | 571 | net/inet/ipx.c | sock_wake_async(sk->socket); |
sk | 577 | net/inet/ipx.c | ipx_socket *sk; |
sk | 578 | net/inet/ipx.c | sk=(ipx_socket *)kmalloc(sizeof(*sk),GFP_KERNEL); |
sk | 579 | net/inet/ipx.c | if(sk==NULL) |
sk | 586 | net/inet/ipx.c | kfree_s((void *)sk,sizeof(*sk)); |
sk | 589 | net/inet/ipx.c | sk->dead=0; |
sk | 590 | net/inet/ipx.c | sk->next=NULL; |
sk | 591 | net/inet/ipx.c | sk->broadcast=0; |
sk | 592 | net/inet/ipx.c | sk->rcvbuf=SK_RMEM_MAX; |
sk | 593 | net/inet/ipx.c | sk->sndbuf=SK_WMEM_MAX; |
sk | 594 | net/inet/ipx.c | sk->wmem_alloc=0; |
sk | 595 | net/inet/ipx.c | sk->rmem_alloc=0; |
sk | 596 | net/inet/ipx.c | sk->inuse=0; |
sk | 597 | net/inet/ipx.c | sk->shutdown=0; |
sk | 598 | net/inet/ipx.c | sk->prot=NULL; /* So we use default free mechanisms */ |
sk | 599 | net/inet/ipx.c | sk->broadcast=0; |
sk | 600 | net/inet/ipx.c | sk->err=0; |
sk | 601 | net/inet/ipx.c | skb_queue_head_init(&sk->receive_queue); |
sk | 602 | net/inet/ipx.c | skb_queue_head_init(&sk->write_queue); |
sk | 603 | net/inet/ipx.c | sk->send_head=NULL; |
sk | 604 | net/inet/ipx.c | skb_queue_head_init(&sk->back_log); |
sk | 605 | net/inet/ipx.c | sk->state=TCP_CLOSE; |
sk | 606 | net/inet/ipx.c | sk->socket=sock; |
sk | 607 | net/inet/ipx.c | sk->type=sock->type; |
sk | 608 | net/inet/ipx.c | sk->ipx_type=0; /* General user level IPX */ |
sk | 609 | net/inet/ipx.c | sk->debug=0; |
sk | 611 | net/inet/ipx.c | memset(&sk->ipx_dest_addr,'\0',sizeof(sk->ipx_dest_addr)); |
sk | 612 | net/inet/ipx.c | memset(&sk->ipx_source_addr,'\0',sizeof(sk->ipx_source_addr)); |
sk | 613 | net/inet/ipx.c | sk->mtu=IPX_MTU; |
sk | 617 | net/inet/ipx.c | sock->data=(void *)sk; |
sk | 618 | net/inet/ipx.c | sk->sleep=sock->wait; |
sk | 621 | net/inet/ipx.c | sk->state_change=def_callback1; |
sk | 622 | net/inet/ipx.c | sk->data_ready=def_callback2; |
sk | 623 | net/inet/ipx.c | sk->write_space=def_callback1; |
sk | 624 | net/inet/ipx.c | sk->error_report=def_callback1; |
sk | 626 | net/inet/ipx.c | sk->zapped=1; |
sk | 637 | net/inet/ipx.c | ipx_socket *sk=(ipx_socket *)sock->data; |
sk | 638 | net/inet/ipx.c | if(sk==NULL) |
sk | 640 | net/inet/ipx.c | if(!sk->dead) |
sk | 641 | net/inet/ipx.c | sk->state_change(sk); |
sk | 642 | net/inet/ipx.c | sk->dead=1; |
sk | 644 | net/inet/ipx.c | ipx_destroy_socket(sk); |
sk | 663 | net/inet/ipx.c | ipx_socket *sk; |
sk | 668 | net/inet/ipx.c | sk=(ipx_socket *)sock->data; |
sk | 670 | net/inet/ipx.c | if(sk->zapped==0) |
sk | 691 | net/inet/ipx.c | if(sk->debug) |
sk | 697 | net/inet/ipx.c | sk->ipx_source_addr.sock=addr->sipx_port; |
sk | 710 | net/inet/ipx.c | if(sk->debug) |
sk | 712 | net/inet/ipx.c | sk->ipx_source_addr.net); |
sk | 716 | net/inet/ipx.c | sk->ipx_source_addr.net=rt->net; |
sk | 719 | net/inet/ipx.c | memset(sk->ipx_source_addr.node,'\0',6); |
sk | 720 | net/inet/ipx.c | nodestart = sk->ipx_source_addr.node + (6 - rt->dev->addr_len); |
sk | 723 | net/inet/ipx.c | ipx_insert_socket(sk); |
sk | 724 | net/inet/ipx.c | sk->zapped=0; |
sk | 725 | net/inet/ipx.c | if(sk->debug) |
sk | 733 | net/inet/ipx.c | ipx_socket *sk=(ipx_socket *)sock->data; |
sk | 736 | net/inet/ipx.c | sk->state = TCP_CLOSE; |
sk | 743 | net/inet/ipx.c | if(sk->ipx_source_addr.net==0) |
sk | 755 | net/inet/ipx.c | sk->ipx_dest_addr.net=addr->sipx_network; |
sk | 756 | net/inet/ipx.c | sk->ipx_dest_addr.sock=addr->sipx_port; |
sk | 757 | net/inet/ipx.c | memcpy(sk->ipx_dest_addr.node,addr->sipx_node,sizeof(sk->ipx_source_addr.node)); |
sk | 758 | net/inet/ipx.c | if(ipxrtr_get_dev(sk->ipx_dest_addr.net)==NULL) |
sk | 760 | net/inet/ipx.c | sk->ipx_type=addr->sipx_type; |
sk | 762 | net/inet/ipx.c | sk->state=TCP_ESTABLISHED; |
sk | 783 | net/inet/ipx.c | ipx_socket *sk; |
sk | 785 | net/inet/ipx.c | sk=(ipx_socket *)sock->data; |
sk | 791 | net/inet/ipx.c | if(sk->state!=TCP_ESTABLISHED) |
sk | 793 | net/inet/ipx.c | addr=&sk->ipx_dest_addr; |
sk | 796 | net/inet/ipx.c | addr=&sk->ipx_source_addr; |
sk | 799 | net/inet/ipx.c | sipx.sipx_type = sk->ipx_type; |
sk | 905 | net/inet/ipx.c | skb2->sk = NULL; |
sk | 963 | net/inet/ipx.c | ipx_socket *sk=(ipx_socket *)sock->data; |
sk | 981 | net/inet/ipx.c | if(sk->ipx_source_addr.net==0) |
sk | 1002 | net/inet/ipx.c | if(sk->state!=TCP_ESTABLISHED) |
sk | 1006 | net/inet/ipx.c | usipx->sipx_type=sk->ipx_type; |
sk | 1007 | net/inet/ipx.c | usipx->sipx_port=sk->ipx_dest_addr.sock; |
sk | 1008 | net/inet/ipx.c | usipx->sipx_network=sk->ipx_dest_addr.net; |
sk | 1009 | net/inet/ipx.c | memcpy(usipx->sipx_node,sk->ipx_dest_addr.node,sizeof(usipx->sipx_node)); |
sk | 1012 | net/inet/ipx.c | if(sk->debug) |
sk | 1017 | net/inet/ipx.c | if (!sk->broadcast) |
sk | 1024 | net/inet/ipx.c | if(sk->debug) |
sk | 1048 | net/inet/ipx.c | if(sk->debug) |
sk | 1051 | net/inet/ipx.c | if(size+sk->wmem_alloc>sk->sndbuf) { |
sk | 1060 | net/inet/ipx.c | skb->sk=sk; |
sk | 1065 | net/inet/ipx.c | sk->wmem_alloc+=skb->mem_len; |
sk | 1067 | net/inet/ipx.c | if(sk->debug) |
sk | 1086 | net/inet/ipx.c | if(sk->debug) |
sk | 1094 | net/inet/ipx.c | memcpy(&ipx->ipx_source,&sk->ipx_source_addr,sizeof(ipx->ipx_source)); |
sk | 1098 | net/inet/ipx.c | if(sk->debug) |
sk | 1102 | net/inet/ipx.c | if(sk->debug) |
sk | 1109 | net/inet/ipx.c | sk->wmem_alloc-=skb->mem_len; |
sk | 1110 | net/inet/ipx.c | skb->sk = NULL; |
sk | 1125 | net/inet/ipx.c | skb2->sk = NULL; |
sk | 1144 | net/inet/ipx.c | ipx_socket *sk=(ipx_socket *)sock->data; |
sk | 1152 | net/inet/ipx.c | if(sk->err) |
sk | 1154 | net/inet/ipx.c | er= -sk->err; |
sk | 1155 | net/inet/ipx.c | sk->err=0; |
sk | 1162 | net/inet/ipx.c | skb=skb_recv_datagram(sk,flags,noblock,&er); |
sk | 1192 | net/inet/ipx.c | ipx_socket *sk=(ipx_socket *)sock->data; |
sk | 1193 | net/inet/ipx.c | if(sk->zapped) |
sk | 1204 | net/inet/ipx.c | static int ipx_shutdown(struct socket *sk,int how) |
sk | 1211 | net/inet/ipx.c | ipx_socket *sk=(ipx_socket *)sock->data; |
sk | 1213 | net/inet/ipx.c | return datagram_select(sk,sel_type,wait); |
sk | 1220 | net/inet/ipx.c | ipx_socket *sk=(ipx_socket *)sock->data; |
sk | 1228 | net/inet/ipx.c | amount=sk->sndbuf-sk->wmem_alloc; |
sk | 1237 | net/inet/ipx.c | if((skb=skb_peek(&sk->receive_queue))!=NULL) |
sk | 1249 | net/inet/ipx.c | if (sk) |
sk | 1251 | net/inet/ipx.c | if(sk->stamp.tv_sec==0) |
sk | 1256 | net/inet/ipx.c | memcpy_tofs((void *)arg,&sk->stamp,sizeof(struct timeval)); |
sk | 33 | net/inet/p8022.c | skb->sk = NULL; |
sk | 69 | net/inet/packet.c | struct sock *sk; |
sk | 76 | net/inet/packet.c | sk = (struct sock *) pt->data; |
sk | 87 | net/inet/packet.c | skb->sk = sk; |
sk | 94 | net/inet/packet.c | if (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) |
sk | 96 | net/inet/packet.c | skb->sk = NULL; |
sk | 100 | net/inet/packet.c | sk->rmem_alloc += skb->mem_len; |
sk | 106 | net/inet/packet.c | skb_queue_tail(&sk->receive_queue,skb); |
sk | 107 | net/inet/packet.c | wake_up_interruptible(sk->sleep); |
sk | 113 | net/inet/packet.c | release_sock(sk); /* This is now effectively surplus in this layer */ |
sk | 123 | net/inet/packet.c | static int packet_sendto(struct sock *sk, unsigned char *from, int len, |
sk | 169 | net/inet/packet.c | skb = sk->prot->wmalloc(sk, len, 0, GFP_KERNEL); |
sk | 185 | net/inet/packet.c | skb->sk = sk; |
sk | 196 | net/inet/packet.c | dev_queue_xmit(skb, dev, sk->priority); |
sk | 207 | net/inet/packet.c | static int packet_write(struct sock *sk, unsigned char *buff, |
sk | 210 | net/inet/packet.c | return(packet_sendto(sk, buff, len, noblock, flags, NULL, 0)); |
sk | 220 | net/inet/packet.c | static void packet_close(struct sock *sk, int timeout) |
sk | 222 | net/inet/packet.c | sk->inuse = 1; |
sk | 223 | net/inet/packet.c | sk->state = TCP_CLOSE; |
sk | 224 | net/inet/packet.c | dev_remove_pack((struct packet_type *)sk->pair); |
sk | 225 | net/inet/packet.c | kfree_s((void *)sk->pair, sizeof(struct packet_type)); |
sk | 226 | net/inet/packet.c | sk->pair = NULL; |
sk | 227 | net/inet/packet.c | release_sock(sk); |
sk | 238 | net/inet/packet.c | static int packet_init(struct sock *sk) |
sk | 247 | net/inet/packet.c | p->type = sk->num; |
sk | 248 | net/inet/packet.c | p->data = (void *)sk; |
sk | 255 | net/inet/packet.c | sk->pair = (struct sock *)p; |
sk | 266 | net/inet/packet.c | int packet_recvfrom(struct sock *sk, unsigned char *to, int len, |
sk | 278 | net/inet/packet.c | if (sk->shutdown & RCV_SHUTDOWN) |
sk | 295 | net/inet/packet.c | skb=skb_recv_datagram(sk,flags,noblock,&err); |
sk | 337 | net/inet/packet.c | release_sock(sk); |
sk | 347 | net/inet/packet.c | int packet_read(struct sock *sk, unsigned char *buff, |
sk | 350 | net/inet/packet.c | return(packet_recvfrom(sk, buff, len, noblock, flags, NULL, NULL)); |
sk | 69 | net/inet/raw.c | struct sock *sk; |
sk | 73 | net/inet/raw.c | sk = (struct sock *) protocol->data; |
sk | 74 | net/inet/raw.c | if (sk == NULL) |
sk | 80 | net/inet/raw.c | if (sk->cong_window > 1) sk->cong_window = sk->cong_window/2; |
sk | 84 | net/inet/raw.c | sk->err = icmp_err_convert[err & 0xff].errno; |
sk | 85 | net/inet/raw.c | sk->error_report(sk); |
sk | 97 | net/inet/raw.c | int raw_rcv(struct sock *sk, struct sk_buff *skb, struct device *dev, long saddr, long daddr) |
sk | 100 | net/inet/raw.c | skb->sk = sk; |
sk | 109 | net/inet/raw.c | if(sock_queue_rcv_skb(sk,skb)<0) |
sk | 112 | net/inet/raw.c | skb->sk=NULL; |
sk | 118 | net/inet/raw.c | release_sock(sk); |
sk | 126 | net/inet/raw.c | static int raw_sendto(struct sock *sk, unsigned char *from, |
sk | 158 | net/inet/raw.c | if (sk->state != TCP_ESTABLISHED) |
sk | 161 | net/inet/raw.c | sin.sin_port = sk->protocol; |
sk | 162 | net/inet/raw.c | sin.sin_addr.s_addr = sk->daddr; |
sk | 165 | net/inet/raw.c | sin.sin_port = sk->protocol; |
sk | 170 | net/inet/raw.c | if (sk->broadcast == 0 && ip_chk_addr(sin.sin_addr.s_addr)==IS_BROADCAST) |
sk | 173 | net/inet/raw.c | skb=sock_alloc_send_skb(sk, len+sk->prot->max_header, noblock, &err); |
sk | 177 | net/inet/raw.c | skb->sk = sk; |
sk | 179 | net/inet/raw.c | skb->localroute = sk->localroute | (flags&MSG_DONTROUTE); |
sk | 181 | net/inet/raw.c | tmp = sk->prot->build_header(skb, sk->saddr, |
sk | 183 | net/inet/raw.c | sk->protocol, sk->opt, skb->mem_len, sk->ip_tos,sk->ip_ttl); |
sk | 187 | net/inet/raw.c | release_sock(sk); |
sk | 198 | net/inet/raw.c | if(sk->protocol==IPPROTO_RAW) |
sk | 207 | net/inet/raw.c | iph->saddr = sk->saddr; |
sk | 212 | net/inet/raw.c | sk->prot->queue_xmit(sk, dev, skb, 1); |
sk | 213 | net/inet/raw.c | release_sock(sk); |
sk | 218 | net/inet/raw.c | static int raw_write(struct sock *sk, unsigned char *buff, int len, int noblock, |
sk | 221 | net/inet/raw.c | return(raw_sendto(sk, buff, len, noblock, flags, NULL, 0)); |
sk | 225 | net/inet/raw.c | static void raw_close(struct sock *sk, int timeout) |
sk | 227 | net/inet/raw.c | sk->state = TCP_CLOSE; |
sk | 231 | net/inet/raw.c | static int raw_init(struct sock *sk) |
sk | 242 | net/inet/raw.c | int raw_recvfrom(struct sock *sk, unsigned char *to, int len, |
sk | 254 | net/inet/raw.c | if (sk->shutdown & RCV_SHUTDOWN) |
sk | 260 | net/inet/raw.c | skb=skb_recv_datagram(sk,flags,noblock,&err); |
sk | 268 | net/inet/raw.c | sk->stamp=skb->stamp; |
sk | 277 | net/inet/raw.c | release_sock(sk); |
sk | 282 | net/inet/raw.c | int raw_read (struct sock *sk, unsigned char *buff, int len, int noblock,unsigned flags) |
sk | 284 | net/inet/raw.c | return(raw_recvfrom(sk, buff, len, noblock, flags, NULL, NULL)); |
sk | 26 | net/inet/raw.h | extern int raw_recvfrom(struct sock *sk, unsigned char *to, |
sk | 29 | net/inet/raw.h | extern int raw_read(struct sock *sk, unsigned char *buff, |
sk | 355 | net/inet/skbuff.c | if (skb->sk) |
sk | 357 | net/inet/skbuff.c | if(skb->sk->prot!=NULL) |
sk | 360 | net/inet/skbuff.c | skb->sk->prot->rfree(skb->sk, skb, skb->mem_len); |
sk | 362 | net/inet/skbuff.c | skb->sk->prot->wfree(skb->sk, skb, skb->mem_len); |
sk | 369 | net/inet/skbuff.c | skb->sk->rmem_alloc-=skb->mem_len; |
sk | 371 | net/inet/skbuff.c | skb->sk->wmem_alloc-=skb->mem_len; |
sk | 372 | net/inet/skbuff.c | if(!skb->sk->dead) |
sk | 373 | net/inet/skbuff.c | skb->sk->write_space(skb->sk); |
sk | 425 | net/inet/skbuff.c | skb->sk = NULL; |
sk | 502 | net/inet/skbuff.c | n->sk=NULL; |
sk | 115 | net/inet/sock.c | int sock_setsockopt(struct sock *sk, int level, int optname, |
sk | 139 | net/inet/sock.c | sk->debug=val?1:0; |
sk | 142 | net/inet/sock.c | sk->localroute=val?1:0; |
sk | 145 | net/inet/sock.c | sk->broadcast=val?1:0; |
sk | 152 | net/inet/sock.c | sk->sndbuf=val; |
sk | 160 | net/inet/sock.c | sk->linger=0; |
sk | 163 | net/inet/sock.c | sk->lingertime=ling.l_linger; |
sk | 164 | net/inet/sock.c | sk->linger=1; |
sk | 172 | net/inet/sock.c | sk->rcvbuf=val; |
sk | 177 | net/inet/sock.c | sk->reuse = 1; |
sk | 179 | net/inet/sock.c | sk->reuse = 0; |
sk | 184 | net/inet/sock.c | sk->keepopen = 1; |
sk | 186 | net/inet/sock.c | sk->keepopen = 0; |
sk | 191 | net/inet/sock.c | sk->urginline = 1; |
sk | 193 | net/inet/sock.c | sk->urginline = 0; |
sk | 198 | net/inet/sock.c | sk->no_check = 1; |
sk | 200 | net/inet/sock.c | sk->no_check = 0; |
sk | 206 | net/inet/sock.c | sk->priority = val; |
sk | 220 | net/inet/sock.c | int sock_getsockopt(struct sock *sk, int level, int optname, |
sk | 230 | net/inet/sock.c | val = sk->debug; |
sk | 234 | net/inet/sock.c | val = sk->localroute; |
sk | 238 | net/inet/sock.c | val= sk->broadcast; |
sk | 249 | net/inet/sock.c | ling.l_onoff=sk->linger; |
sk | 250 | net/inet/sock.c | ling.l_linger=sk->lingertime; |
sk | 255 | net/inet/sock.c | val=sk->sndbuf; |
sk | 259 | net/inet/sock.c | val =sk->rcvbuf; |
sk | 263 | net/inet/sock.c | val = sk->reuse; |
sk | 267 | net/inet/sock.c | val = sk->keepopen; |
sk | 272 | net/inet/sock.c | if (sk->prot == &tcp_prot) |
sk | 277 | net/inet/sock.c | val = sk->type; |
sk | 281 | net/inet/sock.c | val = sk->err; |
sk | 282 | net/inet/sock.c | sk->err = 0; |
sk | 286 | net/inet/sock.c | val = sk->urginline; |
sk | 290 | net/inet/sock.c | val = sk->no_check; |
sk | 294 | net/inet/sock.c | val = sk->priority; |
sk | 314 | net/inet/sock.c | struct sk_buff *sock_wmalloc(struct sock *sk, unsigned long size, int force, int priority) |
sk | 316 | net/inet/sock.c | if (sk) |
sk | 318 | net/inet/sock.c | if (sk->wmem_alloc + size < sk->sndbuf || force) |
sk | 324 | net/inet/sock.c | sk->wmem_alloc+= c->mem_len; |
sk | 335 | net/inet/sock.c | struct sk_buff *sock_rmalloc(struct sock *sk, unsigned long size, int force, int priority) |
sk | 337 | net/inet/sock.c | if (sk) |
sk | 339 | net/inet/sock.c | if (sk->rmem_alloc + size < sk->rcvbuf || force) |
sk | 345 | net/inet/sock.c | sk->rmem_alloc += c->mem_len; |
sk | 356 | net/inet/sock.c | unsigned long sock_rspace(struct sock *sk) |
sk | 360 | net/inet/sock.c | if (sk != NULL) |
sk | 362 | net/inet/sock.c | if (sk->rmem_alloc >= sk->rcvbuf-2*MIN_WINDOW) |
sk | 364 | net/inet/sock.c | amt = min((sk->rcvbuf-sk->rmem_alloc)/2-MIN_WINDOW, MAX_WINDOW); |
sk | 373 | net/inet/sock.c | unsigned long sock_wspace(struct sock *sk) |
sk | 375 | net/inet/sock.c | if (sk != NULL) |
sk | 377 | net/inet/sock.c | if (sk->shutdown & SEND_SHUTDOWN) |
sk | 379 | net/inet/sock.c | if (sk->wmem_alloc >= sk->sndbuf) |
sk | 381 | net/inet/sock.c | return(sk->sndbuf-sk->wmem_alloc ); |
sk | 387 | net/inet/sock.c | void sock_wfree(struct sock *sk, struct sk_buff *skb, unsigned long size) |
sk | 393 | net/inet/sock.c | if (sk) |
sk | 395 | net/inet/sock.c | sk->wmem_alloc -= size; |
sk | 397 | net/inet/sock.c | if (!sk->dead) |
sk | 398 | net/inet/sock.c | sk->write_space(sk); |
sk | 404 | net/inet/sock.c | void sock_rfree(struct sock *sk, struct sk_buff *skb, unsigned long size) |
sk | 410 | net/inet/sock.c | if (sk) |
sk | 412 | net/inet/sock.c | sk->rmem_alloc -= size; |
sk | 420 | net/inet/sock.c | struct sk_buff *sock_alloc_send_skb(struct sock *sk, unsigned long size, int noblock, int *errcode) |
sk | 425 | net/inet/sock.c | sk->inuse=1; |
sk | 429 | net/inet/sock.c | if(sk->err!=0) |
sk | 432 | net/inet/sock.c | err= -sk->err; |
sk | 433 | net/inet/sock.c | sk->err=0; |
sk | 439 | net/inet/sock.c | if(sk->shutdown&SEND_SHUTDOWN) |
sk | 445 | net/inet/sock.c | skb = sock_wmalloc(sk, size, 0, GFP_KERNEL); |
sk | 455 | net/inet/sock.c | if(sk->shutdown&SEND_SHUTDOWN) |
sk | 460 | net/inet/sock.c | tmp = sk->wmem_alloc; |
sk | 462 | net/inet/sock.c | if(sk->shutdown&SEND_SHUTDOWN) |
sk | 469 | net/inet/sock.c | if( tmp <= sk->wmem_alloc) |
sk | 471 | net/inet/sock.c | interruptible_sleep_on(sk->sleep); |
sk | 492 | net/inet/sock.c | int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) |
sk | 494 | net/inet/sock.c | if(sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) |
sk | 496 | net/inet/sock.c | sk->rmem_alloc+=skb->mem_len; |
sk | 497 | net/inet/sock.c | skb->sk=sk; |
sk | 498 | net/inet/sock.c | skb_queue_tail(&sk->receive_queue,skb); |
sk | 499 | net/inet/sock.c | if(!sk->dead) |
sk | 500 | net/inet/sock.c | sk->data_ready(sk,skb->len); |
sk | 504 | net/inet/sock.c | void release_sock(struct sock *sk) |
sk | 509 | net/inet/sock.c | if (!sk->prot) |
sk | 520 | net/inet/sock.c | if (sk->blog) |
sk | 525 | net/inet/sock.c | sk->blog=1; |
sk | 526 | net/inet/sock.c | sk->inuse = 1; |
sk | 530 | net/inet/sock.c | while((skb = skb_dequeue(&sk->back_log)) != NULL) |
sk | 532 | net/inet/sock.c | sk->blog = 1; |
sk | 533 | net/inet/sock.c | if (sk->prot->rcv) |
sk | 534 | net/inet/sock.c | sk->prot->rcv(skb, skb->dev, sk->opt, |
sk | 537 | net/inet/sock.c | (struct inet_protocol *)sk->pair); |
sk | 540 | net/inet/sock.c | sk->blog = 0; |
sk | 541 | net/inet/sock.c | sk->inuse = 0; |
sk | 543 | net/inet/sock.c | if (sk->dead && sk->state == TCP_CLOSE) |
sk | 546 | net/inet/sock.c | reset_timer(sk, TIME_DONE, min(sk->rtt * 2, TCP_DONE_TIME)); |
sk | 178 | net/inet/sock.h | void (*state_change)(struct sock *sk); |
sk | 179 | net/inet/sock.h | void (*data_ready)(struct sock *sk,int bytes); |
sk | 180 | net/inet/sock.h | void (*write_space)(struct sock *sk); |
sk | 181 | net/inet/sock.h | void (*error_report)(struct sock *sk); |
sk | 186 | net/inet/sock.h | struct sk_buff * (*wmalloc)(struct sock *sk, |
sk | 189 | net/inet/sock.h | struct sk_buff * (*rmalloc)(struct sock *sk, |
sk | 192 | net/inet/sock.h | void (*wfree)(struct sock *sk, struct sk_buff *skb, |
sk | 194 | net/inet/sock.h | void (*rfree)(struct sock *sk, struct sk_buff *skb, |
sk | 196 | net/inet/sock.h | unsigned long (*rspace)(struct sock *sk); |
sk | 197 | net/inet/sock.h | unsigned long (*wspace)(struct sock *sk); |
sk | 198 | net/inet/sock.h | void (*close)(struct sock *sk, int timeout); |
sk | 199 | net/inet/sock.h | int (*read)(struct sock *sk, unsigned char *to, |
sk | 201 | net/inet/sock.h | int (*write)(struct sock *sk, unsigned char *to, |
sk | 203 | net/inet/sock.h | int (*sendto)(struct sock *sk, |
sk | 207 | net/inet/sock.h | int (*recvfrom)(struct sock *sk, |
sk | 216 | net/inet/sock.h | int (*connect)(struct sock *sk, |
sk | 218 | net/inet/sock.h | struct sock * (*accept) (struct sock *sk, int flags); |
sk | 219 | net/inet/sock.h | void (*queue_xmit)(struct sock *sk, |
sk | 222 | net/inet/sock.h | void (*retransmit)(struct sock *sk, int all); |
sk | 223 | net/inet/sock.h | void (*write_wakeup)(struct sock *sk); |
sk | 224 | net/inet/sock.h | void (*read_wakeup)(struct sock *sk); |
sk | 229 | net/inet/sock.h | int (*select)(struct sock *sk, int which, |
sk | 231 | net/inet/sock.h | int (*ioctl)(struct sock *sk, int cmd, |
sk | 233 | net/inet/sock.h | int (*init)(struct sock *sk); |
sk | 234 | net/inet/sock.h | void (*shutdown)(struct sock *sk, int how); |
sk | 235 | net/inet/sock.h | int (*setsockopt)(struct sock *sk, int level, int optname, |
sk | 237 | net/inet/sock.h | int (*getsockopt)(struct sock *sk, int level, int optname, |
sk | 260 | net/inet/sock.h | extern void destroy_sock(struct sock *sk); |
sk | 263 | net/inet/sock.h | extern void release_sock(struct sock *sk); |
sk | 273 | net/inet/sock.h | extern struct sk_buff *sock_wmalloc(struct sock *sk, |
sk | 276 | net/inet/sock.h | extern struct sk_buff *sock_rmalloc(struct sock *sk, |
sk | 279 | net/inet/sock.h | extern void sock_wfree(struct sock *sk, struct sk_buff *skb, |
sk | 281 | net/inet/sock.h | extern void sock_rfree(struct sock *sk, struct sk_buff *skb, |
sk | 283 | net/inet/sock.h | extern unsigned long sock_rspace(struct sock *sk); |
sk | 284 | net/inet/sock.h | extern unsigned long sock_wspace(struct sock *sk); |
sk | 286 | net/inet/sock.h | extern int sock_setsockopt(struct sock *sk,int level,int op,char *optval,int optlen); |
sk | 288 | net/inet/sock.h | extern int sock_getsockopt(struct sock *sk,int level,int op,char *optval,int *optlen); |
sk | 290 | net/inet/sock.h | extern int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb); |
sk | 209 | net/inet/tcp.c | static void tcp_close(struct sock *sk, int timeout); |
sk | 236 | net/inet/tcp.c | static __inline__ void tcp_set_state(struct sock *sk, int state) |
sk | 238 | net/inet/tcp.c | if(sk->state==TCP_ESTABLISHED) |
sk | 241 | net/inet/tcp.c | if(sk->debug) |
sk | 242 | net/inet/tcp.c | printk("TCP sk=%p, State %s -> %s\n",sk, statename[sk->state],statename[state]); |
sk | 247 | net/inet/tcp.c | if(state==TCP_ESTABLISHED && sk->state==TCP_SYN_RECV) |
sk | 251 | net/inet/tcp.c | sk->state=state; |
sk | 271 | net/inet/tcp.c | int tcp_select_window(struct sock *sk) |
sk | 273 | net/inet/tcp.c | int new_window = sk->prot->rspace(sk); |
sk | 275 | net/inet/tcp.c | if(sk->window_clamp) |
sk | 276 | net/inet/tcp.c | new_window=min(sk->window_clamp,new_window); |
sk | 286 | net/inet/tcp.c | if (new_window < min(sk->mss, MAX_WINDOW/2) || new_window < sk->window) |
sk | 287 | net/inet/tcp.c | return(sk->window); |
sk | 303 | net/inet/tcp.c | if(p->sk->state == TCP_ESTABLISHED || p->sk->state >= TCP_FIN_WAIT1) |
sk | 318 | net/inet/tcp.c | static void tcp_close_pending (struct sock *sk, int timeout) |
sk | 322 | net/inet/tcp.c | while ((skb = skb_dequeue(&sk->receive_queue)) != NULL) { |
sk | 323 | net/inet/tcp.c | tcp_close(skb->sk, timeout); |
sk | 347 | net/inet/tcp.c | static void tcp_time_wait(struct sock *sk) |
sk | 349 | net/inet/tcp.c | tcp_set_state(sk,TCP_TIME_WAIT); |
sk | 350 | net/inet/tcp.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 351 | net/inet/tcp.c | if (!sk->dead) |
sk | 352 | net/inet/tcp.c | sk->state_change(sk); |
sk | 353 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE, TCP_TIMEWAIT_LEN); |
sk | 361 | net/inet/tcp.c | void tcp_do_retransmit(struct sock *sk, int all) |
sk | 367 | net/inet/tcp.c | prot = sk->prot; |
sk | 368 | net/inet/tcp.c | skb = sk->send_head; |
sk | 408 | net/inet/tcp.c | th->ack_seq = ntohl(sk->acked_seq); |
sk | 409 | net/inet/tcp.c | th->window = ntohs(tcp_select_window(sk)); |
sk | 410 | net/inet/tcp.c | tcp_send_check(th, sk->saddr, sk->daddr, size, sk); |
sk | 426 | net/inet/tcp.c | if (sk && !skb_device_locked(skb)) |
sk | 432 | net/inet/tcp.c | dev_queue_xmit(skb, dev, sk->priority); |
sk | 439 | net/inet/tcp.c | sk->retransmits++; |
sk | 440 | net/inet/tcp.c | sk->prot->retransmits ++; |
sk | 451 | net/inet/tcp.c | if (sk->retransmits >= sk->cong_window) |
sk | 464 | net/inet/tcp.c | void tcp_retransmit_time(struct sock *sk, int all) |
sk | 466 | net/inet/tcp.c | tcp_do_retransmit(sk, all); |
sk | 481 | net/inet/tcp.c | sk->retransmits++; |
sk | 482 | net/inet/tcp.c | sk->backoff++; |
sk | 483 | net/inet/tcp.c | sk->rto = min(sk->rto << 1, 120*HZ); |
sk | 484 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, sk->rto); |
sk | 495 | net/inet/tcp.c | static void tcp_retransmit(struct sock *sk, int all) |
sk | 499 | net/inet/tcp.c | tcp_retransmit_time(sk, all); |
sk | 503 | net/inet/tcp.c | sk->ssthresh = sk->cong_window >> 1; /* remember window where we lost */ |
sk | 505 | net/inet/tcp.c | sk->cong_count = 0; |
sk | 507 | net/inet/tcp.c | sk->cong_window = 1; |
sk | 510 | net/inet/tcp.c | tcp_retransmit_time(sk, all); |
sk | 527 | net/inet/tcp.c | struct sock *sk; |
sk | 534 | net/inet/tcp.c | sk = get_sock(&tcp_prot, th->source, daddr, th->dest, saddr); |
sk | 536 | net/inet/tcp.c | if (sk == NULL) |
sk | 541 | net/inet/tcp.c | sk->err = -err; |
sk | 542 | net/inet/tcp.c | sk->error_report(sk); |
sk | 553 | net/inet/tcp.c | if (sk->cong_window > 4) |
sk | 554 | net/inet/tcp.c | sk->cong_window--; |
sk | 565 | net/inet/tcp.c | if (icmp_err_convert[err & 0xff].fatal || sk->state == TCP_SYN_SENT) |
sk | 567 | net/inet/tcp.c | if (sk->state == TCP_SYN_SENT) |
sk | 570 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSE); |
sk | 571 | net/inet/tcp.c | sk->error_report(sk); /* Wake people up to see the error (see connect in sock.c) */ |
sk | 573 | net/inet/tcp.c | sk->err = icmp_err_convert[err & 0xff].errno; |
sk | 584 | net/inet/tcp.c | static int tcp_readable(struct sock *sk) |
sk | 592 | net/inet/tcp.c | if(sk && sk->debug) |
sk | 593 | net/inet/tcp.c | printk("tcp_readable: %p - ",sk); |
sk | 597 | net/inet/tcp.c | if (sk == NULL || (skb = skb_peek(&sk->receive_queue)) == NULL) |
sk | 600 | net/inet/tcp.c | if(sk && sk->debug) |
sk | 605 | net/inet/tcp.c | counted = sk->copied_seq; /* Where we are at the moment */ |
sk | 644 | net/inet/tcp.c | while(skb != (struct sk_buff *)&sk->receive_queue); |
sk | 647 | net/inet/tcp.c | if(sk->debug) |
sk | 658 | net/inet/tcp.c | static int do_tcp_select(struct sock *sk, int sel_type, select_table *wait) |
sk | 663 | net/inet/tcp.c | if (sk->err) |
sk | 665 | net/inet/tcp.c | if (sk->state == TCP_LISTEN) { |
sk | 667 | net/inet/tcp.c | return (tcp_find_established(sk) != NULL); |
sk | 669 | net/inet/tcp.c | if (sk->state == TCP_SYN_SENT || sk->state == TCP_SYN_RECV) |
sk | 671 | net/inet/tcp.c | if (sk->acked_seq != sk->copied_seq) |
sk | 673 | net/inet/tcp.c | if (sk->shutdown & RCV_SHUTDOWN) |
sk | 678 | net/inet/tcp.c | if (sk->shutdown & SEND_SHUTDOWN) { |
sk | 688 | net/inet/tcp.c | if (sk->prot->wspace(sk) >= sk->mtu+128+sk->prot->max_header) |
sk | 691 | net/inet/tcp.c | if (sk->state == TCP_SYN_RECV || |
sk | 692 | net/inet/tcp.c | sk->state == TCP_SYN_SENT) return 0; |
sk | 698 | net/inet/tcp.c | if (sk->err || sk->urg_data) |
sk | 705 | net/inet/tcp.c | static int tcp_select(struct sock *sk, int sel_type, select_table *wait) |
sk | 709 | net/inet/tcp.c | sk->inuse = 1; |
sk | 710 | net/inet/tcp.c | select_wait(sk->sleep, wait); |
sk | 711 | net/inet/tcp.c | retval = do_tcp_select(sk, sel_type, wait); |
sk | 712 | net/inet/tcp.c | release_sock(sk); |
sk | 716 | net/inet/tcp.c | int tcp_ioctl(struct sock *sk, int cmd, unsigned long arg) |
sk | 729 | net/inet/tcp.c | if (sk->state == TCP_LISTEN) |
sk | 732 | net/inet/tcp.c | sk->inuse = 1; |
sk | 733 | net/inet/tcp.c | amount = tcp_readable(sk); |
sk | 734 | net/inet/tcp.c | release_sock(sk); |
sk | 744 | net/inet/tcp.c | int answ = sk->urg_data && sk->urg_seq == sk->copied_seq; |
sk | 757 | net/inet/tcp.c | if (sk->state == TCP_LISTEN) return(-EINVAL); |
sk | 758 | net/inet/tcp.c | amount = sk->prot->wspace(sk); |
sk | 859 | net/inet/tcp.c | unsigned long daddr, int len, struct sock *sk) |
sk | 866 | net/inet/tcp.c | static void tcp_send_skb(struct sock *sk, struct sk_buff *skb) |
sk | 898 | net/inet/tcp.c | if (after(skb->h.seq, sk->window_seq) || |
sk | 899 | net/inet/tcp.c | (sk->retransmits && sk->timeout == TIME_WRITE) || |
sk | 900 | net/inet/tcp.c | sk->packets_out >= sk->cong_window) |
sk | 910 | net/inet/tcp.c | skb_queue_tail(&sk->write_queue, skb); |
sk | 911 | net/inet/tcp.c | if (before(sk->window_seq, sk->write_queue.next->h.seq) && |
sk | 912 | net/inet/tcp.c | sk->send_head == NULL && |
sk | 913 | net/inet/tcp.c | sk->ack_backlog == 0) |
sk | 914 | net/inet/tcp.c | reset_timer(sk, TIME_PROBE0, sk->rto); |
sk | 918 | net/inet/tcp.c | th->ack_seq = ntohl(sk->acked_seq); |
sk | 919 | net/inet/tcp.c | th->window = ntohs(tcp_select_window(sk)); |
sk | 921 | net/inet/tcp.c | tcp_send_check(th, sk->saddr, sk->daddr, size, sk); |
sk | 923 | net/inet/tcp.c | sk->sent_seq = sk->write_seq; |
sk | 924 | net/inet/tcp.c | sk->prot->queue_xmit(sk, skb->dev, skb, 0); |
sk | 928 | net/inet/tcp.c | struct sk_buff * tcp_dequeue_partial(struct sock * sk) |
sk | 935 | net/inet/tcp.c | skb = sk->partial; |
sk | 937 | net/inet/tcp.c | sk->partial = NULL; |
sk | 938 | net/inet/tcp.c | del_timer(&sk->partial_timer); |
sk | 944 | net/inet/tcp.c | static void tcp_send_partial(struct sock *sk) |
sk | 948 | net/inet/tcp.c | if (sk == NULL) |
sk | 950 | net/inet/tcp.c | while ((skb = tcp_dequeue_partial(sk)) != NULL) |
sk | 951 | net/inet/tcp.c | tcp_send_skb(sk, skb); |
sk | 954 | net/inet/tcp.c | void tcp_enqueue_partial(struct sk_buff * skb, struct sock * sk) |
sk | 961 | net/inet/tcp.c | tmp = sk->partial; |
sk | 963 | net/inet/tcp.c | del_timer(&sk->partial_timer); |
sk | 964 | net/inet/tcp.c | sk->partial = skb; |
sk | 965 | net/inet/tcp.c | init_timer(&sk->partial_timer); |
sk | 966 | net/inet/tcp.c | sk->partial_timer.expires = HZ; |
sk | 967 | net/inet/tcp.c | sk->partial_timer.function = (void (*)(unsigned long)) tcp_send_partial; |
sk | 968 | net/inet/tcp.c | sk->partial_timer.data = (unsigned long) sk; |
sk | 969 | net/inet/tcp.c | add_timer(&sk->partial_timer); |
sk | 972 | net/inet/tcp.c | tcp_send_skb(sk, tmp); |
sk | 981 | net/inet/tcp.c | struct sock *sk, |
sk | 989 | net/inet/tcp.c | if(sk->zapped) |
sk | 996 | net/inet/tcp.c | buff = sk->prot->wmalloc(sk, MAX_ACK_SIZE, 1, GFP_ATOMIC); |
sk | 1000 | net/inet/tcp.c | sk->ack_backlog++; |
sk | 1001 | net/inet/tcp.c | if (sk->timeout != TIME_WRITE && tcp_connected(sk->state)) |
sk | 1003 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, 10); |
sk | 1009 | net/inet/tcp.c | buff->sk = sk; |
sk | 1010 | net/inet/tcp.c | buff->localroute = sk->localroute; |
sk | 1014 | net/inet/tcp.c | tmp = sk->prot->build_header(buff, sk->saddr, daddr, &dev, |
sk | 1015 | net/inet/tcp.c | IPPROTO_TCP, sk->opt, MAX_ACK_SIZE,sk->ip_tos,sk->ip_ttl); |
sk | 1019 | net/inet/tcp.c | sk->prot->wfree(sk, buff->mem_addr, buff->mem_len); |
sk | 1036 | net/inet/tcp.c | sk->window = tcp_select_window(sk); |
sk | 1037 | net/inet/tcp.c | t1->window = ntohs(sk->window); |
sk | 1045 | net/inet/tcp.c | if (ack == sk->acked_seq) |
sk | 1047 | net/inet/tcp.c | sk->ack_backlog = 0; |
sk | 1048 | net/inet/tcp.c | sk->bytes_rcv = 0; |
sk | 1049 | net/inet/tcp.c | sk->ack_timed = 0; |
sk | 1050 | net/inet/tcp.c | if (sk->send_head == NULL && skb_peek(&sk->write_queue) == NULL |
sk | 1051 | net/inet/tcp.c | && sk->timeout == TIME_WRITE) |
sk | 1053 | net/inet/tcp.c | if(sk->keepopen) { |
sk | 1054 | net/inet/tcp.c | reset_timer(sk,TIME_KEEPOPEN,TCP_TIMEOUT_LEN); |
sk | 1056 | net/inet/tcp.c | delete_timer(sk); |
sk | 1062 | net/inet/tcp.c | tcp_send_check(t1, sk->saddr, daddr, sizeof(*t1), sk); |
sk | 1063 | net/inet/tcp.c | if (sk->debug) |
sk | 1066 | net/inet/tcp.c | sk->prot->queue_xmit(sk, dev, buff, 1); |
sk | 1074 | net/inet/tcp.c | extern __inline int tcp_build_header(struct tcphdr *th, struct sock *sk, int push) |
sk | 1078 | net/inet/tcp.c | memcpy(th,(void *) &(sk->dummy_th), sizeof(*th)); |
sk | 1079 | net/inet/tcp.c | th->seq = htonl(sk->write_seq); |
sk | 1084 | net/inet/tcp.c | sk->ack_backlog = 0; |
sk | 1085 | net/inet/tcp.c | sk->bytes_rcv = 0; |
sk | 1086 | net/inet/tcp.c | sk->ack_timed = 0; |
sk | 1087 | net/inet/tcp.c | th->ack_seq = htonl(sk->acked_seq); |
sk | 1088 | net/inet/tcp.c | sk->window = tcp_select_window(sk); |
sk | 1089 | net/inet/tcp.c | th->window = htons(sk->window); |
sk | 1099 | net/inet/tcp.c | static int tcp_write(struct sock *sk, unsigned char *from, |
sk | 1111 | net/inet/tcp.c | sk->inuse=1; |
sk | 1112 | net/inet/tcp.c | prot = sk->prot; |
sk | 1115 | net/inet/tcp.c | if (sk->err) |
sk | 1117 | net/inet/tcp.c | release_sock(sk); |
sk | 1120 | net/inet/tcp.c | tmp = -sk->err; |
sk | 1121 | net/inet/tcp.c | sk->err = 0; |
sk | 1129 | net/inet/tcp.c | if (sk->shutdown & SEND_SHUTDOWN) |
sk | 1131 | net/inet/tcp.c | release_sock(sk); |
sk | 1132 | net/inet/tcp.c | sk->err = EPIPE; |
sk | 1135 | net/inet/tcp.c | sk->err = 0; |
sk | 1144 | net/inet/tcp.c | while(sk->state != TCP_ESTABLISHED && sk->state != TCP_CLOSE_WAIT) |
sk | 1146 | net/inet/tcp.c | if (sk->err) |
sk | 1148 | net/inet/tcp.c | release_sock(sk); |
sk | 1151 | net/inet/tcp.c | tmp = -sk->err; |
sk | 1152 | net/inet/tcp.c | sk->err = 0; |
sk | 1156 | net/inet/tcp.c | if (sk->state != TCP_SYN_SENT && sk->state != TCP_SYN_RECV) |
sk | 1158 | net/inet/tcp.c | release_sock(sk); |
sk | 1162 | net/inet/tcp.c | if (sk->err) |
sk | 1164 | net/inet/tcp.c | tmp = -sk->err; |
sk | 1165 | net/inet/tcp.c | sk->err = 0; |
sk | 1169 | net/inet/tcp.c | if (sk->keepopen) |
sk | 1178 | net/inet/tcp.c | release_sock(sk); |
sk | 1184 | net/inet/tcp.c | release_sock(sk); |
sk | 1187 | net/inet/tcp.c | if (sk->state != TCP_ESTABLISHED && |
sk | 1188 | net/inet/tcp.c | sk->state != TCP_CLOSE_WAIT && sk->err == 0) |
sk | 1190 | net/inet/tcp.c | interruptible_sleep_on(sk->sleep); |
sk | 1199 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1219 | net/inet/tcp.c | if ((skb = tcp_dequeue_partial(sk)) != NULL) |
sk | 1230 | net/inet/tcp.c | copy = min(sk->mss - (skb->len - hdrlen), len); |
sk | 1243 | net/inet/tcp.c | sk->write_seq += copy; |
sk | 1245 | net/inet/tcp.c | if ((skb->len - hdrlen) >= sk->mss || |
sk | 1246 | net/inet/tcp.c | (flags & MSG_OOB) || !sk->packets_out) |
sk | 1247 | net/inet/tcp.c | tcp_send_skb(sk, skb); |
sk | 1249 | net/inet/tcp.c | tcp_enqueue_partial(skb, sk); |
sk | 1265 | net/inet/tcp.c | copy = sk->window_seq - sk->write_seq; |
sk | 1266 | net/inet/tcp.c | if (copy <= 0 || copy < (sk->max_window >> 1) || copy > sk->mss) |
sk | 1267 | net/inet/tcp.c | copy = sk->mss; |
sk | 1276 | net/inet/tcp.c | if (copy < sk->mss && !(flags & MSG_OOB)) |
sk | 1281 | net/inet/tcp.c | release_sock(sk); |
sk | 1286 | net/inet/tcp.c | skb = prot->wmalloc(sk, sk->mtu + 128 + prot->max_header, 0, GFP_KERNEL); |
sk | 1287 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1295 | net/inet/tcp.c | release_sock(sk); |
sk | 1296 | net/inet/tcp.c | skb = prot->wmalloc(sk, copy + prot->max_header , 0, GFP_KERNEL); |
sk | 1297 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1308 | net/inet/tcp.c | release_sock(sk); |
sk | 1318 | net/inet/tcp.c | tmp = sk->wmem_alloc; |
sk | 1319 | net/inet/tcp.c | release_sock(sk); |
sk | 1324 | net/inet/tcp.c | if (tmp <= sk->wmem_alloc && |
sk | 1325 | net/inet/tcp.c | (sk->state == TCP_ESTABLISHED||sk->state == TCP_CLOSE_WAIT) |
sk | 1326 | net/inet/tcp.c | && sk->err == 0) |
sk | 1328 | net/inet/tcp.c | interruptible_sleep_on(sk->sleep); |
sk | 1337 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1343 | net/inet/tcp.c | skb->sk = sk; |
sk | 1345 | net/inet/tcp.c | skb->localroute = sk->localroute|(flags&MSG_DONTROUTE); |
sk | 1354 | net/inet/tcp.c | tmp = prot->build_header(skb, sk->saddr, sk->daddr, &dev, |
sk | 1355 | net/inet/tcp.c | IPPROTO_TCP, sk->opt, skb->mem_len,sk->ip_tos,sk->ip_ttl); |
sk | 1358 | net/inet/tcp.c | prot->wfree(sk, skb->mem_addr, skb->mem_len); |
sk | 1359 | net/inet/tcp.c | release_sock(sk); |
sk | 1368 | net/inet/tcp.c | tmp = tcp_build_header((struct tcphdr *)buff, sk, len-copy); |
sk | 1371 | net/inet/tcp.c | prot->wfree(sk, skb->mem_addr, skb->mem_len); |
sk | 1372 | net/inet/tcp.c | release_sock(sk); |
sk | 1391 | net/inet/tcp.c | sk->write_seq += copy; |
sk | 1393 | net/inet/tcp.c | if (send_tmp != NULL && sk->packets_out) |
sk | 1395 | net/inet/tcp.c | tcp_enqueue_partial(send_tmp, sk); |
sk | 1398 | net/inet/tcp.c | tcp_send_skb(sk, skb); |
sk | 1400 | net/inet/tcp.c | sk->err = 0; |
sk | 1413 | net/inet/tcp.c | if(sk->partial && ((!sk->packets_out) |
sk | 1415 | net/inet/tcp.c | || (sk->nonagle && before(sk->write_seq , sk->window_seq)) |
sk | 1417 | net/inet/tcp.c | tcp_send_partial(sk); |
sk | 1419 | net/inet/tcp.c | release_sock(sk); |
sk | 1424 | net/inet/tcp.c | static int tcp_sendto(struct sock *sk, unsigned char *from, |
sk | 1430 | net/inet/tcp.c | if (sk->state == TCP_CLOSE) |
sk | 1436 | net/inet/tcp.c | if (addr->sin_port != sk->dummy_th.dest) |
sk | 1438 | net/inet/tcp.c | if (addr->sin_addr.s_addr != sk->daddr) |
sk | 1440 | net/inet/tcp.c | return tcp_write(sk, from, len, nonblock, flags); |
sk | 1444 | net/inet/tcp.c | static void tcp_read_wakeup(struct sock *sk) |
sk | 1451 | net/inet/tcp.c | if (!sk->ack_backlog) |
sk | 1465 | net/inet/tcp.c | buff = sk->prot->wmalloc(sk,MAX_ACK_SIZE,1, GFP_ATOMIC); |
sk | 1469 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, 10); |
sk | 1474 | net/inet/tcp.c | buff->sk = sk; |
sk | 1475 | net/inet/tcp.c | buff->localroute = sk->localroute; |
sk | 1481 | net/inet/tcp.c | tmp = sk->prot->build_header(buff, sk->saddr, sk->daddr, &dev, |
sk | 1482 | net/inet/tcp.c | IPPROTO_TCP, sk->opt, MAX_ACK_SIZE,sk->ip_tos,sk->ip_ttl); |
sk | 1486 | net/inet/tcp.c | sk->prot->wfree(sk, buff->mem_addr, buff->mem_len); |
sk | 1493 | net/inet/tcp.c | memcpy(t1,(void *) &sk->dummy_th, sizeof(*t1)); |
sk | 1494 | net/inet/tcp.c | t1->seq = htonl(sk->sent_seq); |
sk | 1502 | net/inet/tcp.c | sk->ack_backlog = 0; |
sk | 1503 | net/inet/tcp.c | sk->bytes_rcv = 0; |
sk | 1504 | net/inet/tcp.c | sk->window = tcp_select_window(sk); |
sk | 1505 | net/inet/tcp.c | t1->window = ntohs(sk->window); |
sk | 1506 | net/inet/tcp.c | t1->ack_seq = ntohl(sk->acked_seq); |
sk | 1508 | net/inet/tcp.c | tcp_send_check(t1, sk->saddr, sk->daddr, sizeof(*t1), sk); |
sk | 1509 | net/inet/tcp.c | sk->prot->queue_xmit(sk, dev, buff, 1); |
sk | 1521 | net/inet/tcp.c | static void cleanup_rbuf(struct sock *sk) |
sk | 1528 | net/inet/tcp.c | if(sk->debug) |
sk | 1529 | net/inet/tcp.c | printk("cleaning rbuf for sk=%p\n", sk); |
sk | 1534 | net/inet/tcp.c | left = sk->prot->rspace(sk); |
sk | 1541 | net/inet/tcp.c | while((skb=skb_peek(&sk->receive_queue)) != NULL) |
sk | 1546 | net/inet/tcp.c | skb->sk = sk; |
sk | 1559 | net/inet/tcp.c | if(sk->debug) |
sk | 1560 | net/inet/tcp.c | printk("sk->rspace = %lu, was %lu\n", sk->prot->rspace(sk), |
sk | 1562 | net/inet/tcp.c | if ((rspace=sk->prot->rspace(sk)) != left) |
sk | 1574 | net/inet/tcp.c | sk->ack_backlog++; |
sk | 1584 | net/inet/tcp.c | if (rspace > (sk->window - sk->bytes_rcv + sk->mtu)) |
sk | 1587 | net/inet/tcp.c | tcp_read_wakeup(sk); |
sk | 1592 | net/inet/tcp.c | int was_active = del_timer(&sk->timer); |
sk | 1593 | net/inet/tcp.c | if (!was_active || TCP_ACK_TIME < sk->timer.expires) |
sk | 1595 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, TCP_ACK_TIME); |
sk | 1598 | net/inet/tcp.c | add_timer(&sk->timer); |
sk | 1608 | net/inet/tcp.c | static int tcp_read_urg(struct sock * sk, int nonblock, |
sk | 1611 | net/inet/tcp.c | if (sk->urginline || !sk->urg_data || sk->urg_data == URG_READ) |
sk | 1613 | net/inet/tcp.c | if (sk->err) |
sk | 1615 | net/inet/tcp.c | int tmp = -sk->err; |
sk | 1616 | net/inet/tcp.c | sk->err = 0; |
sk | 1620 | net/inet/tcp.c | if (sk->state == TCP_CLOSE || sk->done) |
sk | 1622 | net/inet/tcp.c | if (!sk->done) { |
sk | 1623 | net/inet/tcp.c | sk->done = 1; |
sk | 1629 | net/inet/tcp.c | if (sk->shutdown & RCV_SHUTDOWN) |
sk | 1631 | net/inet/tcp.c | sk->done = 1; |
sk | 1634 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1635 | net/inet/tcp.c | if (sk->urg_data & URG_VALID) |
sk | 1637 | net/inet/tcp.c | char c = sk->urg_data; |
sk | 1639 | net/inet/tcp.c | sk->urg_data = URG_READ; |
sk | 1641 | net/inet/tcp.c | release_sock(sk); |
sk | 1644 | net/inet/tcp.c | release_sock(sk); |
sk | 1661 | net/inet/tcp.c | static int tcp_read(struct sock *sk, unsigned char *to, |
sk | 1671 | net/inet/tcp.c | if (sk->state == TCP_LISTEN) |
sk | 1676 | net/inet/tcp.c | return tcp_read_urg(sk, nonblock, to, len, flags); |
sk | 1678 | net/inet/tcp.c | peek_seq = sk->copied_seq; |
sk | 1679 | net/inet/tcp.c | seq = &sk->copied_seq; |
sk | 1683 | net/inet/tcp.c | add_wait_queue(sk->sleep, &wait); |
sk | 1684 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1693 | net/inet/tcp.c | if (copied && sk->urg_data && sk->urg_seq == *seq) |
sk | 1698 | net/inet/tcp.c | skb = skb_peek(&sk->receive_queue); |
sk | 1716 | net/inet/tcp.c | while (skb != (struct sk_buff *)&sk->receive_queue); |
sk | 1721 | net/inet/tcp.c | if (sk->err) |
sk | 1723 | net/inet/tcp.c | copied = -sk->err; |
sk | 1724 | net/inet/tcp.c | sk->err = 0; |
sk | 1728 | net/inet/tcp.c | if (sk->state == TCP_CLOSE) |
sk | 1730 | net/inet/tcp.c | if (!sk->done) |
sk | 1732 | net/inet/tcp.c | sk->done = 1; |
sk | 1739 | net/inet/tcp.c | if (sk->shutdown & RCV_SHUTDOWN) |
sk | 1741 | net/inet/tcp.c | sk->done = 1; |
sk | 1751 | net/inet/tcp.c | cleanup_rbuf(sk); |
sk | 1752 | net/inet/tcp.c | release_sock(sk); |
sk | 1754 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1769 | net/inet/tcp.c | if (sk->urg_data) |
sk | 1771 | net/inet/tcp.c | unsigned long urg_offset = sk->urg_seq - *seq; |
sk | 1776 | net/inet/tcp.c | if (!sk->urginline) |
sk | 1794 | net/inet/tcp.c | if (after(sk->copied_seq,sk->urg_seq)) |
sk | 1795 | net/inet/tcp.c | sk->urg_data = 0; |
sk | 1810 | net/inet/tcp.c | sk->shutdown |= RCV_SHUTDOWN; |
sk | 1814 | net/inet/tcp.c | remove_wait_queue(sk->sleep, &wait); |
sk | 1818 | net/inet/tcp.c | cleanup_rbuf(sk); |
sk | 1819 | net/inet/tcp.c | release_sock(sk); |
sk | 1828 | net/inet/tcp.c | void tcp_shutdown(struct sock *sk, int how) |
sk | 1852 | net/inet/tcp.c | if (sk->state == TCP_FIN_WAIT1 || |
sk | 1853 | net/inet/tcp.c | sk->state == TCP_FIN_WAIT2 || |
sk | 1854 | net/inet/tcp.c | sk->state == TCP_CLOSING || |
sk | 1855 | net/inet/tcp.c | sk->state == TCP_LAST_ACK || |
sk | 1856 | net/inet/tcp.c | sk->state == TCP_TIME_WAIT |
sk | 1861 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1867 | net/inet/tcp.c | sk->shutdown |= SEND_SHUTDOWN; |
sk | 1873 | net/inet/tcp.c | if (sk->partial) |
sk | 1874 | net/inet/tcp.c | tcp_send_partial(sk); |
sk | 1876 | net/inet/tcp.c | prot =(struct proto *)sk->prot; |
sk | 1877 | net/inet/tcp.c | th =(struct tcphdr *)&sk->dummy_th; |
sk | 1878 | net/inet/tcp.c | release_sock(sk); /* in case the malloc sleeps. */ |
sk | 1879 | net/inet/tcp.c | buff = prot->wmalloc(sk, MAX_RESET_SIZE,1 , GFP_KERNEL); |
sk | 1882 | net/inet/tcp.c | sk->inuse = 1; |
sk | 1884 | net/inet/tcp.c | buff->sk = sk; |
sk | 1886 | net/inet/tcp.c | buff->localroute = sk->localroute; |
sk | 1893 | net/inet/tcp.c | tmp = prot->build_header(buff,sk->saddr, sk->daddr, &dev, |
sk | 1894 | net/inet/tcp.c | IPPROTO_TCP, sk->opt, |
sk | 1895 | net/inet/tcp.c | sizeof(struct tcphdr),sk->ip_tos,sk->ip_ttl); |
sk | 1909 | net/inet/tcp.c | prot->wfree(sk,buff->mem_addr, buff->mem_len); |
sk | 1911 | net/inet/tcp.c | if (sk->state == TCP_ESTABLISHED) |
sk | 1912 | net/inet/tcp.c | tcp_set_state(sk,TCP_FIN_WAIT1); |
sk | 1913 | net/inet/tcp.c | else if(sk->state == TCP_CLOSE_WAIT) |
sk | 1914 | net/inet/tcp.c | tcp_set_state(sk,TCP_LAST_ACK); |
sk | 1916 | net/inet/tcp.c | tcp_set_state(sk,TCP_FIN_WAIT2); |
sk | 1918 | net/inet/tcp.c | release_sock(sk); |
sk | 1926 | net/inet/tcp.c | t1->seq = ntohl(sk->write_seq); |
sk | 1927 | net/inet/tcp.c | sk->write_seq++; |
sk | 1928 | net/inet/tcp.c | buff->h.seq = sk->write_seq; |
sk | 1930 | net/inet/tcp.c | t1->ack_seq = ntohl(sk->acked_seq); |
sk | 1931 | net/inet/tcp.c | t1->window = ntohs(sk->window=tcp_select_window(sk)); |
sk | 1935 | net/inet/tcp.c | tcp_send_check(t1, sk->saddr, sk->daddr, sizeof(*t1), sk); |
sk | 1942 | net/inet/tcp.c | if (skb_peek(&sk->write_queue) != NULL) |
sk | 1950 | net/inet/tcp.c | skb_queue_tail(&sk->write_queue, buff); |
sk | 1954 | net/inet/tcp.c | sk->sent_seq = sk->write_seq; |
sk | 1955 | net/inet/tcp.c | sk->prot->queue_xmit(sk, dev, buff, 0); |
sk | 1958 | net/inet/tcp.c | if (sk->state == TCP_ESTABLISHED) |
sk | 1959 | net/inet/tcp.c | tcp_set_state(sk,TCP_FIN_WAIT1); |
sk | 1960 | net/inet/tcp.c | else if (sk->state == TCP_CLOSE_WAIT) |
sk | 1961 | net/inet/tcp.c | tcp_set_state(sk,TCP_LAST_ACK); |
sk | 1963 | net/inet/tcp.c | tcp_set_state(sk,TCP_FIN_WAIT2); |
sk | 1965 | net/inet/tcp.c | release_sock(sk); |
sk | 1970 | net/inet/tcp.c | tcp_recvfrom(struct sock *sk, unsigned char *to, |
sk | 1984 | net/inet/tcp.c | result=tcp_read(sk, to, to_len, nonblock, flags); |
sk | 1992 | net/inet/tcp.c | addr->sin_port = sk->dummy_th.dest; |
sk | 1993 | net/inet/tcp.c | addr->sin_addr.s_addr = sk->daddr; |
sk | 2028 | net/inet/tcp.c | buff->sk = NULL; |
sk | 2098 | net/inet/tcp.c | static void tcp_options(struct sock *sk, struct tcphdr *th) |
sk | 2126 | net/inet/tcp.c | sk->mtu=min(sk->mtu,ntohs(*(unsigned short *)ptr)); |
sk | 2139 | net/inet/tcp.c | sk->mtu=min(sk->mtu, 536); /* default MSS if none sent */ |
sk | 2142 | net/inet/tcp.c | sk->mss = min(sk->max_window >> 1, sk->mtu); |
sk | 2144 | net/inet/tcp.c | sk->mss = min(sk->max_window, sk->mtu); |
sk | 2175 | net/inet/tcp.c | static void tcp_conn_request(struct sock *sk, struct sk_buff *skb, |
sk | 2191 | net/inet/tcp.c | if (!sk->dead) |
sk | 2193 | net/inet/tcp.c | sk->data_ready(sk,0); |
sk | 2197 | net/inet/tcp.c | if(sk->debug) |
sk | 2198 | net/inet/tcp.c | printk("Reset on %p: Connect on dead socket.\n",sk); |
sk | 2199 | net/inet/tcp.c | tcp_reset(daddr, saddr, th, sk->prot, opt, dev, sk->ip_tos,sk->ip_ttl); |
sk | 2210 | net/inet/tcp.c | if (sk->ack_backlog >= sk->max_ack_backlog) |
sk | 2234 | net/inet/tcp.c | memcpy(newsk, sk, sizeof(*newsk)); |
sk | 2256 | net/inet/tcp.c | newsk->localroute = sk->localroute; |
sk | 2306 | net/inet/tcp.c | newsk->ip_ttl=sk->ip_ttl; |
sk | 2324 | net/inet/tcp.c | if (sk->user_mss) |
sk | 2325 | net/inet/tcp.c | newsk->mtu = sk->user_mss; |
sk | 2355 | net/inet/tcp.c | sk->err = -ENOMEM; |
sk | 2364 | net/inet/tcp.c | buff->sk = newsk; |
sk | 2373 | net/inet/tcp.c | tmp = sk->prot->build_header(buff, newsk->saddr, newsk->daddr, &ndev, |
sk | 2374 | net/inet/tcp.c | IPPROTO_TCP, NULL, MAX_SYN_SIZE,sk->ip_tos,sk->ip_ttl); |
sk | 2382 | net/inet/tcp.c | sk->err = tmp; |
sk | 2387 | net/inet/tcp.c | skb->sk = sk; |
sk | 2426 | net/inet/tcp.c | skb->sk = newsk; |
sk | 2432 | net/inet/tcp.c | sk->rmem_alloc -= skb->mem_len; |
sk | 2435 | net/inet/tcp.c | skb_queue_tail(&sk->receive_queue,skb); |
sk | 2436 | net/inet/tcp.c | sk->ack_backlog++; |
sk | 2442 | net/inet/tcp.c | static void tcp_close(struct sock *sk, int timeout) |
sk | 2454 | net/inet/tcp.c | sk->inuse = 1; |
sk | 2455 | net/inet/tcp.c | sk->keepopen = 1; |
sk | 2456 | net/inet/tcp.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 2458 | net/inet/tcp.c | if (!sk->dead) |
sk | 2459 | net/inet/tcp.c | sk->state_change(sk); |
sk | 2469 | net/inet/tcp.c | if (skb_peek(&sk->receive_queue) != NULL) |
sk | 2472 | net/inet/tcp.c | if(sk->debug) |
sk | 2474 | net/inet/tcp.c | while((skb=skb_dequeue(&sk->receive_queue))!=NULL) |
sk | 2476 | net/inet/tcp.c | if(sk->debug) |
sk | 2485 | net/inet/tcp.c | if (sk->partial) |
sk | 2487 | net/inet/tcp.c | tcp_send_partial(sk); |
sk | 2490 | net/inet/tcp.c | switch(sk->state) |
sk | 2508 | net/inet/tcp.c | timer_active = del_timer(&sk->timer); |
sk | 2510 | net/inet/tcp.c | add_timer(&sk->timer); |
sk | 2512 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE, 4 * sk->rto); |
sk | 2515 | net/inet/tcp.c | tcp_time_wait(sk); |
sk | 2516 | net/inet/tcp.c | release_sock(sk); |
sk | 2525 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSE); |
sk | 2527 | net/inet/tcp.c | release_sock(sk); |
sk | 2532 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSE); |
sk | 2533 | net/inet/tcp.c | tcp_close_pending(sk, timeout); |
sk | 2534 | net/inet/tcp.c | release_sock(sk); |
sk | 2537 | net/inet/tcp.c | release_sock(sk); |
sk | 2543 | net/inet/tcp.c | prot =(struct proto *)sk->prot; |
sk | 2544 | net/inet/tcp.c | th =(struct tcphdr *)&sk->dummy_th; |
sk | 2545 | net/inet/tcp.c | buff = prot->wmalloc(sk, MAX_FIN_SIZE, 1, GFP_ATOMIC); |
sk | 2551 | net/inet/tcp.c | release_sock(sk); |
sk | 2552 | net/inet/tcp.c | if (sk->state != TCP_CLOSE_WAIT) |
sk | 2553 | net/inet/tcp.c | tcp_set_state(sk,TCP_ESTABLISHED); |
sk | 2554 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE, 100); |
sk | 2557 | net/inet/tcp.c | buff->sk = sk; |
sk | 2560 | net/inet/tcp.c | buff->localroute = sk->localroute; |
sk | 2566 | net/inet/tcp.c | tmp = prot->build_header(buff,sk->saddr, sk->daddr, &dev, |
sk | 2567 | net/inet/tcp.c | IPPROTO_TCP, sk->opt, |
sk | 2568 | net/inet/tcp.c | sizeof(struct tcphdr),sk->ip_tos,sk->ip_ttl); |
sk | 2571 | net/inet/tcp.c | sk->write_seq++; /* Very important 8) */ |
sk | 2579 | net/inet/tcp.c | if(sk->state==TCP_ESTABLISHED) |
sk | 2580 | net/inet/tcp.c | tcp_set_state(sk,TCP_FIN_WAIT1); |
sk | 2582 | net/inet/tcp.c | tcp_set_state(sk,TCP_FIN_WAIT2); |
sk | 2583 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE,4*sk->rto); |
sk | 2585 | net/inet/tcp.c | tcp_time_wait(sk); |
sk | 2587 | net/inet/tcp.c | release_sock(sk); |
sk | 2595 | net/inet/tcp.c | t1->seq = ntohl(sk->write_seq); |
sk | 2596 | net/inet/tcp.c | sk->write_seq++; |
sk | 2597 | net/inet/tcp.c | buff->h.seq = sk->write_seq; |
sk | 2604 | net/inet/tcp.c | sk->delay_acks = 0; |
sk | 2605 | net/inet/tcp.c | t1->ack_seq = ntohl(sk->acked_seq); |
sk | 2606 | net/inet/tcp.c | t1->window = ntohs(sk->window=tcp_select_window(sk)); |
sk | 2610 | net/inet/tcp.c | tcp_send_check(t1, sk->saddr, sk->daddr, sizeof(*t1), sk); |
sk | 2614 | net/inet/tcp.c | if (skb_peek(&sk->write_queue) == NULL) |
sk | 2616 | net/inet/tcp.c | sk->sent_seq = sk->write_seq; |
sk | 2617 | net/inet/tcp.c | prot->queue_xmit(sk, dev, buff, 0); |
sk | 2621 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, sk->rto); |
sk | 2627 | net/inet/tcp.c | skb_queue_tail(&sk->write_queue, buff); |
sk | 2637 | net/inet/tcp.c | if (sk->state == TCP_ESTABLISHED) |
sk | 2638 | net/inet/tcp.c | tcp_set_state(sk,TCP_FIN_WAIT1); |
sk | 2639 | net/inet/tcp.c | else if (sk->state == TCP_CLOSE_WAIT) |
sk | 2640 | net/inet/tcp.c | tcp_set_state(sk,TCP_LAST_ACK); |
sk | 2641 | net/inet/tcp.c | else if (sk->state != TCP_CLOSING) |
sk | 2642 | net/inet/tcp.c | tcp_set_state(sk,TCP_FIN_WAIT2); |
sk | 2644 | net/inet/tcp.c | release_sock(sk); |
sk | 2653 | net/inet/tcp.c | tcp_write_xmit(struct sock *sk) |
sk | 2662 | net/inet/tcp.c | if(sk->zapped) |
sk | 2665 | net/inet/tcp.c | while((skb = skb_peek(&sk->write_queue)) != NULL && |
sk | 2666 | net/inet/tcp.c | before(skb->h.seq, sk->window_seq + 1) && |
sk | 2667 | net/inet/tcp.c | (sk->retransmits == 0 || |
sk | 2668 | net/inet/tcp.c | sk->timeout != TIME_WRITE || |
sk | 2669 | net/inet/tcp.c | before(skb->h.seq, sk->rcv_ack_seq + 1)) |
sk | 2670 | net/inet/tcp.c | && sk->packets_out < sk->cong_window) |
sk | 2675 | net/inet/tcp.c | if (before(skb->h.seq, sk->rcv_ack_seq +1)) |
sk | 2677 | net/inet/tcp.c | sk->retransmits = 0; |
sk | 2679 | net/inet/tcp.c | if (!sk->dead) |
sk | 2680 | net/inet/tcp.c | sk->write_space(sk); |
sk | 2699 | net/inet/tcp.c | th->ack_seq = ntohl(sk->acked_seq); |
sk | 2700 | net/inet/tcp.c | th->window = ntohs(tcp_select_window(sk)); |
sk | 2702 | net/inet/tcp.c | tcp_send_check(th, sk->saddr, sk->daddr, size, sk); |
sk | 2704 | net/inet/tcp.c | sk->sent_seq = skb->h.seq; |
sk | 2705 | net/inet/tcp.c | sk->prot->queue_xmit(sk, skb->dev, skb, skb->free); |
sk | 2715 | net/inet/tcp.c | extern __inline__ int tcp_ack(struct sock *sk, struct tcphdr *th, unsigned long saddr, int len) |
sk | 2727 | net/inet/tcp.c | if(sk->zapped) |
sk | 2731 | net/inet/tcp.c | if (ntohs(th->window) > sk->max_window) |
sk | 2733 | net/inet/tcp.c | sk->max_window = ntohs(th->window); |
sk | 2735 | net/inet/tcp.c | sk->mss = min(sk->max_window>>1, sk->mtu); |
sk | 2737 | net/inet/tcp.c | sk->mss = min(sk->max_window, sk->mtu); |
sk | 2741 | net/inet/tcp.c | if (sk->retransmits && sk->timeout == TIME_KEEPOPEN) |
sk | 2742 | net/inet/tcp.c | sk->retransmits = 0; |
sk | 2744 | net/inet/tcp.c | if (after(ack, sk->sent_seq) || before(ack, sk->rcv_ack_seq)) |
sk | 2746 | net/inet/tcp.c | if(sk->debug) |
sk | 2747 | net/inet/tcp.c | printk("Ack ignored %lu %lu\n",ack,sk->sent_seq); |
sk | 2753 | net/inet/tcp.c | if (after(ack, sk->sent_seq)) |
sk | 2757 | net/inet/tcp.c | if (sk->keepopen) |
sk | 2759 | net/inet/tcp.c | if(sk->timeout==TIME_KEEPOPEN) |
sk | 2760 | net/inet/tcp.c | reset_timer(sk, TIME_KEEPOPEN, TCP_TIMEOUT_LEN); |
sk | 2770 | net/inet/tcp.c | if (after(sk->window_seq, ack+ntohs(th->window))) |
sk | 2783 | net/inet/tcp.c | skb2 = sk->send_head; |
sk | 2784 | net/inet/tcp.c | sk->send_head = NULL; |
sk | 2785 | net/inet/tcp.c | sk->send_tail = NULL; |
sk | 2794 | net/inet/tcp.c | sk->window_seq = ack + ntohs(th->window); |
sk | 2801 | net/inet/tcp.c | if (after(skb->h.seq, sk->window_seq)) |
sk | 2803 | net/inet/tcp.c | if (sk->packets_out > 0) |
sk | 2804 | net/inet/tcp.c | sk->packets_out--; |
sk | 2812 | net/inet/tcp.c | skb_queue_head(&sk->write_queue,skb); |
sk | 2819 | net/inet/tcp.c | if (sk->send_head == NULL) |
sk | 2821 | net/inet/tcp.c | sk->send_head = skb; |
sk | 2822 | net/inet/tcp.c | sk->send_tail = skb; |
sk | 2826 | net/inet/tcp.c | sk->send_tail->link3 = skb; |
sk | 2827 | net/inet/tcp.c | sk->send_tail = skb; |
sk | 2839 | net/inet/tcp.c | if (sk->send_tail == NULL || sk->send_head == NULL) |
sk | 2841 | net/inet/tcp.c | sk->send_head = NULL; |
sk | 2842 | net/inet/tcp.c | sk->send_tail = NULL; |
sk | 2843 | net/inet/tcp.c | sk->packets_out= 0; |
sk | 2846 | net/inet/tcp.c | sk->window_seq = ack + ntohs(th->window); |
sk | 2849 | net/inet/tcp.c | if (sk->timeout == TIME_WRITE && |
sk | 2850 | net/inet/tcp.c | sk->cong_window < 2048 && after(ack, sk->rcv_ack_seq)) |
sk | 2861 | net/inet/tcp.c | if (sk->cong_window < sk->ssthresh) |
sk | 2865 | net/inet/tcp.c | sk->cong_window++; |
sk | 2872 | net/inet/tcp.c | if (sk->cong_count >= sk->cong_window) |
sk | 2874 | net/inet/tcp.c | sk->cong_window++; |
sk | 2875 | net/inet/tcp.c | sk->cong_count = 0; |
sk | 2878 | net/inet/tcp.c | sk->cong_count++; |
sk | 2882 | net/inet/tcp.c | sk->rcv_ack_seq = ack; |
sk | 2890 | net/inet/tcp.c | if (sk->timeout == TIME_PROBE0) |
sk | 2892 | net/inet/tcp.c | if (skb_peek(&sk->write_queue) != NULL && /* should always be non-null */ |
sk | 2893 | net/inet/tcp.c | ! before (sk->window_seq, sk->write_queue.next->h.seq)) |
sk | 2895 | net/inet/tcp.c | sk->retransmits = 0; |
sk | 2896 | net/inet/tcp.c | sk->backoff = 0; |
sk | 2902 | net/inet/tcp.c | sk->rto = ((sk->rtt >> 2) + sk->mdev) >> 1; |
sk | 2903 | net/inet/tcp.c | if (sk->rto > 120*HZ) |
sk | 2904 | net/inet/tcp.c | sk->rto = 120*HZ; |
sk | 2905 | net/inet/tcp.c | if (sk->rto < 20) /* Was 1*HZ, then 1 - turns out we must allow about |
sk | 2908 | net/inet/tcp.c | sk->rto = 20; |
sk | 2916 | net/inet/tcp.c | while(sk->send_head != NULL) |
sk | 2919 | net/inet/tcp.c | if (sk->send_head->link3 && |
sk | 2920 | net/inet/tcp.c | after(sk->send_head->h.seq, sk->send_head->link3->h.seq)) |
sk | 2922 | net/inet/tcp.c | if (before(sk->send_head->h.seq, ack+1)) |
sk | 2925 | net/inet/tcp.c | if (sk->retransmits) |
sk | 2940 | net/inet/tcp.c | if (sk->send_head->link3) |
sk | 2941 | net/inet/tcp.c | sk->retransmits = 1; |
sk | 2943 | net/inet/tcp.c | sk->retransmits = 0; |
sk | 2961 | net/inet/tcp.c | if (sk->packets_out > 0) |
sk | 2962 | net/inet/tcp.c | sk->packets_out --; |
sk | 2966 | net/inet/tcp.c | if (!sk->dead) |
sk | 2967 | net/inet/tcp.c | sk->write_space(sk); |
sk | 2968 | net/inet/tcp.c | oskb = sk->send_head; |
sk | 2985 | net/inet/tcp.c | m -= (sk->rtt >> 3); /* m is now error in rtt est */ |
sk | 2986 | net/inet/tcp.c | sk->rtt += m; /* rtt = 7/8 rtt + 1/8 new */ |
sk | 2989 | net/inet/tcp.c | m -= (sk->mdev >> 2); /* similar update on mdev */ |
sk | 2990 | net/inet/tcp.c | sk->mdev += m; /* mdev = 3/4 mdev + 1/4 new */ |
sk | 2996 | net/inet/tcp.c | sk->rto = ((sk->rtt >> 2) + sk->mdev) >> 1; |
sk | 2997 | net/inet/tcp.c | if (sk->rto > 120*HZ) |
sk | 2998 | net/inet/tcp.c | sk->rto = 120*HZ; |
sk | 2999 | net/inet/tcp.c | if (sk->rto < 20) /* Was 1*HZ - keep .2 as minimum cos of the BSD delayed acks */ |
sk | 3000 | net/inet/tcp.c | sk->rto = 20; |
sk | 3001 | net/inet/tcp.c | sk->backoff = 0; |
sk | 3005 | net/inet/tcp.c | oskb = sk->send_head; |
sk | 3007 | net/inet/tcp.c | sk->send_head = oskb->link3; |
sk | 3008 | net/inet/tcp.c | if (sk->send_head == NULL) |
sk | 3010 | net/inet/tcp.c | sk->send_tail = NULL; |
sk | 3021 | net/inet/tcp.c | if (!sk->dead) |
sk | 3022 | net/inet/tcp.c | sk->write_space(sk); |
sk | 3043 | net/inet/tcp.c | if (skb_peek(&sk->write_queue) != NULL) |
sk | 3045 | net/inet/tcp.c | if (after (sk->window_seq+1, sk->write_queue.next->h.seq) && |
sk | 3046 | net/inet/tcp.c | (sk->retransmits == 0 || |
sk | 3047 | net/inet/tcp.c | sk->timeout != TIME_WRITE || |
sk | 3048 | net/inet/tcp.c | before(sk->write_queue.next->h.seq, sk->rcv_ack_seq + 1)) |
sk | 3049 | net/inet/tcp.c | && sk->packets_out < sk->cong_window) |
sk | 3052 | net/inet/tcp.c | tcp_write_xmit(sk); |
sk | 3054 | net/inet/tcp.c | else if (before(sk->window_seq, sk->write_queue.next->h.seq) && |
sk | 3055 | net/inet/tcp.c | sk->send_head == NULL && |
sk | 3056 | net/inet/tcp.c | sk->ack_backlog == 0 && |
sk | 3057 | net/inet/tcp.c | sk->state != TCP_TIME_WAIT) |
sk | 3059 | net/inet/tcp.c | reset_timer(sk, TIME_PROBE0, sk->rto); |
sk | 3077 | net/inet/tcp.c | switch(sk->state) { |
sk | 3083 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE, TCP_TIMEWAIT_LEN); |
sk | 3095 | net/inet/tcp.c | if (sk->send_head || skb_peek(&sk->write_queue) != NULL || sk->ack_backlog) { |
sk | 3096 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, sk->rto); |
sk | 3097 | net/inet/tcp.c | } else if (sk->keepopen) { |
sk | 3098 | net/inet/tcp.c | reset_timer(sk, TIME_KEEPOPEN, TCP_TIMEOUT_LEN); |
sk | 3100 | net/inet/tcp.c | delete_timer(sk); |
sk | 3106 | net/inet/tcp.c | if (sk->packets_out == 0 && sk->partial != NULL && |
sk | 3107 | net/inet/tcp.c | skb_peek(&sk->write_queue) == NULL && sk->send_head == NULL) |
sk | 3110 | net/inet/tcp.c | tcp_send_partial(sk); |
sk | 3121 | net/inet/tcp.c | if (sk->state == TCP_LAST_ACK) |
sk | 3123 | net/inet/tcp.c | if (!sk->dead) |
sk | 3124 | net/inet/tcp.c | sk->state_change(sk); |
sk | 3125 | net/inet/tcp.c | if(sk->debug) |
sk | 3127 | net/inet/tcp.c | sk->rcv_ack_seq,sk->write_seq,sk->acked_seq,sk->fin_seq); |
sk | 3128 | net/inet/tcp.c | if (sk->rcv_ack_seq == sk->write_seq && sk->acked_seq == sk->fin_seq) |
sk | 3131 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSE); |
sk | 3132 | net/inet/tcp.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 3143 | net/inet/tcp.c | if (sk->state == TCP_FIN_WAIT1) |
sk | 3146 | net/inet/tcp.c | if (!sk->dead) |
sk | 3147 | net/inet/tcp.c | sk->state_change(sk); |
sk | 3148 | net/inet/tcp.c | if (sk->rcv_ack_seq == sk->write_seq) |
sk | 3151 | net/inet/tcp.c | sk->shutdown |= SEND_SHUTDOWN; |
sk | 3152 | net/inet/tcp.c | tcp_set_state(sk, TCP_FIN_WAIT2); |
sk | 3162 | net/inet/tcp.c | if (sk->state == TCP_CLOSING) |
sk | 3165 | net/inet/tcp.c | if (!sk->dead) |
sk | 3166 | net/inet/tcp.c | sk->state_change(sk); |
sk | 3167 | net/inet/tcp.c | if (sk->rcv_ack_seq == sk->write_seq) |
sk | 3170 | net/inet/tcp.c | tcp_time_wait(sk); |
sk | 3178 | net/inet/tcp.c | if(sk->state==TCP_SYN_RECV) |
sk | 3180 | net/inet/tcp.c | tcp_set_state(sk, TCP_ESTABLISHED); |
sk | 3181 | net/inet/tcp.c | tcp_options(sk,th); |
sk | 3182 | net/inet/tcp.c | sk->dummy_th.dest=th->source; |
sk | 3183 | net/inet/tcp.c | sk->copied_seq = sk->acked_seq; |
sk | 3184 | net/inet/tcp.c | if(!sk->dead) |
sk | 3185 | net/inet/tcp.c | sk->state_change(sk); |
sk | 3186 | net/inet/tcp.c | if(sk->max_window==0) |
sk | 3188 | net/inet/tcp.c | sk->max_window=32; |
sk | 3189 | net/inet/tcp.c | sk->mss=min(sk->max_window,sk->mtu); |
sk | 3222 | net/inet/tcp.c | if (((!flag) || (flag&4)) && sk->send_head != NULL && |
sk | 3223 | net/inet/tcp.c | (((flag&2) && sk->retransmits) || |
sk | 3224 | net/inet/tcp.c | (sk->send_head->when + sk->rto < jiffies))) |
sk | 3226 | net/inet/tcp.c | if(sk->send_head->when + sk->rto < jiffies) |
sk | 3227 | net/inet/tcp.c | tcp_retransmit(sk,0); |
sk | 3230 | net/inet/tcp.c | tcp_do_retransmit(sk, 1); |
sk | 3231 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, sk->rto); |
sk | 3255 | net/inet/tcp.c | static int tcp_fin(struct sk_buff *skb, struct sock *sk, struct tcphdr *th) |
sk | 3257 | net/inet/tcp.c | sk->fin_seq = th->seq + skb->len + th->syn + th->fin; |
sk | 3259 | net/inet/tcp.c | if (!sk->dead) |
sk | 3261 | net/inet/tcp.c | sk->state_change(sk); |
sk | 3264 | net/inet/tcp.c | switch(sk->state) |
sk | 3273 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE, TCP_TIMEWAIT_LEN); |
sk | 3274 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSE_WAIT); |
sk | 3276 | net/inet/tcp.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 3291 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE, TCP_TIMEWAIT_LEN); |
sk | 3306 | net/inet/tcp.c | if(sk->timeout != TIME_WRITE) |
sk | 3307 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, sk->rto); |
sk | 3308 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSING); |
sk | 3314 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE, TCP_TIMEWAIT_LEN); |
sk | 3315 | net/inet/tcp.c | sk->shutdown|=SHUTDOWN_MASK; |
sk | 3316 | net/inet/tcp.c | tcp_set_state(sk,TCP_TIME_WAIT); |
sk | 3324 | net/inet/tcp.c | tcp_set_state(sk,TCP_LAST_ACK); |
sk | 3327 | net/inet/tcp.c | reset_timer(sk, TIME_CLOSE, TCP_TIMEWAIT_LEN); |
sk | 3342 | net/inet/tcp.c | extern __inline__ int tcp_data(struct sk_buff *skb, struct sock *sk, |
sk | 3359 | net/inet/tcp.c | sk->bytes_rcv += skb->len; |
sk | 3368 | net/inet/tcp.c | tcp_send_ack(sk->sent_seq, sk->acked_seq,sk, th, saddr); |
sk | 3377 | net/inet/tcp.c | if(sk->shutdown & RCV_SHUTDOWN) |
sk | 3402 | net/inet/tcp.c | shut_seq=sk->acked_seq+1; /* Last byte */ |
sk | 3406 | net/inet/tcp.c | if(sk->debug) |
sk | 3408 | net/inet/tcp.c | sk, new_seq, shut_seq, sk->blog); |
sk | 3409 | net/inet/tcp.c | if(sk->dead) |
sk | 3411 | net/inet/tcp.c | sk->acked_seq = new_seq + th->fin; |
sk | 3412 | net/inet/tcp.c | tcp_reset(sk->saddr, sk->daddr, skb->h.th, |
sk | 3413 | net/inet/tcp.c | sk->prot, NULL, skb->dev, sk->ip_tos, sk->ip_ttl); |
sk | 3415 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSE); |
sk | 3416 | net/inet/tcp.c | sk->err = EPIPE; |
sk | 3417 | net/inet/tcp.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 3441 | net/inet/tcp.c | if (skb_peek(&sk->receive_queue) == NULL) /* Empty queue is easy case */ |
sk | 3443 | net/inet/tcp.c | skb_queue_head(&sk->receive_queue,skb); |
sk | 3448 | net/inet/tcp.c | for(skb1=sk->receive_queue.prev; ; skb1 = skb1->prev) |
sk | 3450 | net/inet/tcp.c | if(sk->debug) |
sk | 3455 | net/inet/tcp.c | printk("copied_seq = %ld acked_seq = %ld\n", sk->copied_seq, |
sk | 3456 | net/inet/tcp.c | sk->acked_seq); |
sk | 3490 | net/inet/tcp.c | if (skb1 == skb_peek(&sk->receive_queue)) |
sk | 3492 | net/inet/tcp.c | skb_queue_head(&sk->receive_queue, skb); |
sk | 3508 | net/inet/tcp.c | if (before(sk->acked_seq, sk->copied_seq)) |
sk | 3511 | net/inet/tcp.c | sk->acked_seq = sk->copied_seq; |
sk | 3520 | net/inet/tcp.c | if ((!dup_dumped && (skb1 == NULL || skb1->acked)) || before(th->seq, sk->acked_seq+1)) |
sk | 3522 | net/inet/tcp.c | if (before(th->seq, sk->acked_seq+1)) |
sk | 3526 | net/inet/tcp.c | if (after(th->ack_seq, sk->acked_seq)) |
sk | 3528 | net/inet/tcp.c | newwindow = sk->window-(th->ack_seq - sk->acked_seq); |
sk | 3531 | net/inet/tcp.c | sk->window = newwindow; |
sk | 3532 | net/inet/tcp.c | sk->acked_seq = th->ack_seq; |
sk | 3543 | net/inet/tcp.c | tcp_fin(skb,sk,skb->h.th); |
sk | 3547 | net/inet/tcp.c | skb2 != (struct sk_buff *)&sk->receive_queue; |
sk | 3550 | net/inet/tcp.c | if (before(skb2->h.th->seq, sk->acked_seq+1)) |
sk | 3552 | net/inet/tcp.c | if (after(skb2->h.th->ack_seq, sk->acked_seq)) |
sk | 3554 | net/inet/tcp.c | newwindow = sk->window - |
sk | 3555 | net/inet/tcp.c | (skb2->h.th->ack_seq - sk->acked_seq); |
sk | 3558 | net/inet/tcp.c | sk->window = newwindow; |
sk | 3559 | net/inet/tcp.c | sk->acked_seq = skb2->h.th->ack_seq; |
sk | 3568 | net/inet/tcp.c | tcp_fin(skb,sk,skb->h.th); |
sk | 3575 | net/inet/tcp.c | sk->ack_backlog = sk->max_ack_backlog; |
sk | 3587 | net/inet/tcp.c | if (!sk->delay_acks || |
sk | 3588 | net/inet/tcp.c | sk->ack_backlog >= sk->max_ack_backlog || |
sk | 3589 | net/inet/tcp.c | sk->bytes_rcv > sk->max_unacked || th->fin) { |
sk | 3594 | net/inet/tcp.c | sk->ack_backlog++; |
sk | 3595 | net/inet/tcp.c | if(sk->debug) |
sk | 3597 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, TCP_ACK_TIME); |
sk | 3617 | net/inet/tcp.c | while (sk->prot->rspace(sk) < sk->mtu) |
sk | 3619 | net/inet/tcp.c | skb1 = skb_peek(&sk->receive_queue); |
sk | 3638 | net/inet/tcp.c | tcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr); |
sk | 3639 | net/inet/tcp.c | sk->ack_backlog++; |
sk | 3640 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, TCP_ACK_TIME); |
sk | 3644 | net/inet/tcp.c | tcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr); |
sk | 3651 | net/inet/tcp.c | if (!sk->dead) |
sk | 3653 | net/inet/tcp.c | if(sk->debug) |
sk | 3655 | net/inet/tcp.c | sk->data_ready(sk,0); |
sk | 3669 | net/inet/tcp.c | static void tcp_check_urg(struct sock * sk, struct tcphdr * th) |
sk | 3678 | net/inet/tcp.c | if (after(sk->copied_seq, ptr)) |
sk | 3682 | net/inet/tcp.c | if (sk->urg_data && !after(ptr, sk->urg_seq)) |
sk | 3686 | net/inet/tcp.c | if (sk->proc != 0) { |
sk | 3687 | net/inet/tcp.c | if (sk->proc > 0) { |
sk | 3688 | net/inet/tcp.c | kill_proc(sk->proc, SIGURG, 1); |
sk | 3690 | net/inet/tcp.c | kill_pg(-sk->proc, SIGURG, 1); |
sk | 3693 | net/inet/tcp.c | sk->urg_data = URG_NOTYET; |
sk | 3694 | net/inet/tcp.c | sk->urg_seq = ptr; |
sk | 3701 | net/inet/tcp.c | extern __inline__ int tcp_urg(struct sock *sk, struct tcphdr *th, |
sk | 3711 | net/inet/tcp.c | tcp_check_urg(sk,th); |
sk | 3717 | net/inet/tcp.c | if (sk->urg_data != URG_NOTYET) |
sk | 3724 | net/inet/tcp.c | ptr = sk->urg_seq - th->seq + th->doff*4; |
sk | 3732 | net/inet/tcp.c | sk->urg_data = URG_VALID | *(ptr + (unsigned char *) th); |
sk | 3733 | net/inet/tcp.c | if (!sk->dead) |
sk | 3734 | net/inet/tcp.c | sk->data_ready(sk,0); |
sk | 3742 | net/inet/tcp.c | static struct sock *tcp_accept(struct sock *sk, int flags) |
sk | 3752 | net/inet/tcp.c | if (sk->state != TCP_LISTEN) |
sk | 3754 | net/inet/tcp.c | sk->err = EINVAL; |
sk | 3760 | net/inet/tcp.c | sk->inuse = 1; |
sk | 3762 | net/inet/tcp.c | while((skb = tcp_dequeue_established(sk)) == NULL) |
sk | 3767 | net/inet/tcp.c | release_sock(sk); |
sk | 3768 | net/inet/tcp.c | sk->err = EAGAIN; |
sk | 3772 | net/inet/tcp.c | release_sock(sk); |
sk | 3773 | net/inet/tcp.c | interruptible_sleep_on(sk->sleep); |
sk | 3777 | net/inet/tcp.c | sk->err = ERESTARTSYS; |
sk | 3780 | net/inet/tcp.c | sk->inuse = 1; |
sk | 3788 | net/inet/tcp.c | newsk = skb->sk; |
sk | 3791 | net/inet/tcp.c | sk->ack_backlog--; |
sk | 3792 | net/inet/tcp.c | release_sock(sk); |
sk | 3801 | net/inet/tcp.c | static int tcp_connect(struct sock *sk, struct sockaddr_in *usin, int addr_len) |
sk | 3811 | net/inet/tcp.c | if (sk->state != TCP_CLOSE) |
sk | 3836 | net/inet/tcp.c | sk->inuse = 1; |
sk | 3837 | net/inet/tcp.c | sk->daddr = usin->sin_addr.s_addr; |
sk | 3838 | net/inet/tcp.c | sk->write_seq = jiffies * SEQ_TICK - seq_offset; |
sk | 3839 | net/inet/tcp.c | sk->window_seq = sk->write_seq; |
sk | 3840 | net/inet/tcp.c | sk->rcv_ack_seq = sk->write_seq -1; |
sk | 3841 | net/inet/tcp.c | sk->err = 0; |
sk | 3842 | net/inet/tcp.c | sk->dummy_th.dest = usin->sin_port; |
sk | 3843 | net/inet/tcp.c | release_sock(sk); |
sk | 3845 | net/inet/tcp.c | buff = sk->prot->wmalloc(sk,MAX_SYN_SIZE,0, GFP_KERNEL); |
sk | 3850 | net/inet/tcp.c | sk->inuse = 1; |
sk | 3852 | net/inet/tcp.c | buff->sk = sk; |
sk | 3854 | net/inet/tcp.c | buff->localroute = sk->localroute; |
sk | 3862 | net/inet/tcp.c | rt=ip_rt_route(sk->daddr, NULL, NULL); |
sk | 3869 | net/inet/tcp.c | tmp = sk->prot->build_header(buff, sk->saddr, sk->daddr, &dev, |
sk | 3870 | net/inet/tcp.c | IPPROTO_TCP, NULL, MAX_SYN_SIZE,sk->ip_tos,sk->ip_ttl); |
sk | 3873 | net/inet/tcp.c | sk->prot->wfree(sk, buff->mem_addr, buff->mem_len); |
sk | 3874 | net/inet/tcp.c | release_sock(sk); |
sk | 3881 | net/inet/tcp.c | memcpy(t1,(void *)&(sk->dummy_th), sizeof(*t1)); |
sk | 3882 | net/inet/tcp.c | t1->seq = ntohl(sk->write_seq++); |
sk | 3883 | net/inet/tcp.c | sk->sent_seq = sk->write_seq; |
sk | 3884 | net/inet/tcp.c | buff->h.seq = sk->write_seq; |
sk | 3898 | net/inet/tcp.c | sk->window_clamp=rt->rt_window; |
sk | 3900 | net/inet/tcp.c | sk->window_clamp=0; |
sk | 3902 | net/inet/tcp.c | if (sk->user_mss) |
sk | 3903 | net/inet/tcp.c | sk->mtu = sk->user_mss; |
sk | 3905 | net/inet/tcp.c | sk->mtu = rt->rt_mss; |
sk | 3909 | net/inet/tcp.c | if ((sk->saddr ^ sk->daddr) & default_mask(sk->saddr)) |
sk | 3911 | net/inet/tcp.c | if ((sk->saddr ^ sk->daddr) & dev->pa_mask) |
sk | 3913 | net/inet/tcp.c | sk->mtu = 576 - HEADER_SIZE; |
sk | 3915 | net/inet/tcp.c | sk->mtu = MAX_WINDOW; |
sk | 3921 | net/inet/tcp.c | if(sk->mtu <32) |
sk | 3922 | net/inet/tcp.c | sk->mtu = 32; /* Sanity limit */ |
sk | 3924 | net/inet/tcp.c | sk->mtu = min(sk->mtu, dev->mtu - HEADER_SIZE); |
sk | 3933 | net/inet/tcp.c | ptr[2] = (sk->mtu) >> 8; |
sk | 3934 | net/inet/tcp.c | ptr[3] = (sk->mtu) & 0xff; |
sk | 3935 | net/inet/tcp.c | tcp_send_check(t1, sk->saddr, sk->daddr, |
sk | 3936 | net/inet/tcp.c | sizeof(struct tcphdr) + 4, sk); |
sk | 3942 | net/inet/tcp.c | tcp_set_state(sk,TCP_SYN_SENT); |
sk | 3943 | net/inet/tcp.c | sk->rto = TCP_TIMEOUT_INIT; |
sk | 3944 | net/inet/tcp.c | reset_timer(sk, TIME_WRITE, sk->rto); /* Timer for repeating the SYN until an answer */ |
sk | 3945 | net/inet/tcp.c | sk->retransmits = TCP_RETR2 - TCP_SYN_RETRIES; |
sk | 3947 | net/inet/tcp.c | sk->prot->queue_xmit(sk, dev, buff, 0); |
sk | 3951 | net/inet/tcp.c | release_sock(sk); |
sk | 3957 | net/inet/tcp.c | extern __inline__ int tcp_sequence(struct sock *sk, struct tcphdr *th, short len, |
sk | 3966 | net/inet/tcp.c | if (next_seq && !sk->window) |
sk | 3978 | net/inet/tcp.c | if (!after(next_seq+1, sk->acked_seq)) |
sk | 3981 | net/inet/tcp.c | if (!before(th->seq, sk->acked_seq + sk->window + 1)) |
sk | 3998 | net/inet/tcp.c | if (sk->state==TCP_SYN_SENT || sk->state==TCP_SYN_RECV) |
sk | 4000 | net/inet/tcp.c | tcp_reset(sk->saddr,sk->daddr,th,sk->prot,NULL,dev, sk->ip_tos,sk->ip_ttl); |
sk | 4005 | net/inet/tcp.c | tcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr); |
sk | 4013 | net/inet/tcp.c | static int tcp_std_reset(struct sock *sk, struct sk_buff *skb) |
sk | 4015 | net/inet/tcp.c | sk->zapped = 1; |
sk | 4016 | net/inet/tcp.c | sk->err = ECONNRESET; |
sk | 4017 | net/inet/tcp.c | if (sk->state == TCP_SYN_SENT) |
sk | 4018 | net/inet/tcp.c | sk->err = ECONNREFUSED; |
sk | 4019 | net/inet/tcp.c | if (sk->state == TCP_CLOSE_WAIT) |
sk | 4020 | net/inet/tcp.c | sk->err = EPIPE; |
sk | 4025 | net/inet/tcp.c | if(sk->state!=TCP_TIME_WAIT) |
sk | 4027 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSE); |
sk | 4028 | net/inet/tcp.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 4031 | net/inet/tcp.c | tcp_set_state(sk,TCP_CLOSE); |
sk | 4032 | net/inet/tcp.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 4034 | net/inet/tcp.c | if (!sk->dead) |
sk | 4035 | net/inet/tcp.c | sk->state_change(sk); |
sk | 4037 | net/inet/tcp.c | release_sock(sk); |
sk | 4050 | net/inet/tcp.c | struct sock *sk; |
sk | 4079 | net/inet/tcp.c | sk = get_sock(&tcp_prot, th->dest, saddr, th->source, daddr); |
sk | 4090 | net/inet/tcp.c | if (sk!=NULL && (sk->zapped || sk->state==TCP_CLOSE)) |
sk | 4091 | net/inet/tcp.c | sk=NULL; |
sk | 4097 | net/inet/tcp.c | skb->sk = NULL; |
sk | 4108 | net/inet/tcp.c | if (sk == NULL) |
sk | 4114 | net/inet/tcp.c | skb->sk = NULL; |
sk | 4131 | net/inet/tcp.c | if (sk->inuse) |
sk | 4133 | net/inet/tcp.c | skb_queue_tail(&sk->back_log, skb); |
sk | 4137 | net/inet/tcp.c | sk->inuse = 1; |
sk | 4142 | net/inet/tcp.c | if (sk==NULL) |
sk | 4145 | net/inet/tcp.c | skb->sk = NULL; |
sk | 4152 | net/inet/tcp.c | if (!sk->prot) |
sk | 4163 | net/inet/tcp.c | if (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) |
sk | 4166 | net/inet/tcp.c | release_sock(sk); |
sk | 4170 | net/inet/tcp.c | skb->sk=sk; |
sk | 4171 | net/inet/tcp.c | sk->rmem_alloc += skb->mem_len; |
sk | 4180 | net/inet/tcp.c | if(sk->state!=TCP_ESTABLISHED) /* Skip this lot for normal flow */ |
sk | 4187 | net/inet/tcp.c | if(sk->state==TCP_LISTEN) |
sk | 4190 | net/inet/tcp.c | tcp_reset(daddr,saddr,th,sk->prot,opt,dev,sk->ip_tos, sk->ip_ttl); |
sk | 4202 | net/inet/tcp.c | release_sock(sk); |
sk | 4210 | net/inet/tcp.c | tcp_conn_request(sk, skb, daddr, saddr, opt, dev, tcp_init_seq()); |
sk | 4221 | net/inet/tcp.c | release_sock(sk); |
sk | 4226 | net/inet/tcp.c | if (sk->state == TCP_SYN_RECV && th->syn && th->seq+1 == sk->acked_seq) |
sk | 4229 | net/inet/tcp.c | release_sock(sk); |
sk | 4238 | net/inet/tcp.c | if(sk->state==TCP_SYN_SENT) |
sk | 4244 | net/inet/tcp.c | if(!tcp_ack(sk,th,saddr,len)) |
sk | 4250 | net/inet/tcp.c | sk->prot, opt,dev,sk->ip_tos,sk->ip_ttl); |
sk | 4252 | net/inet/tcp.c | release_sock(sk); |
sk | 4256 | net/inet/tcp.c | return tcp_std_reset(sk,skb); |
sk | 4262 | net/inet/tcp.c | release_sock(sk); |
sk | 4270 | net/inet/tcp.c | sk->acked_seq=th->seq+1; |
sk | 4271 | net/inet/tcp.c | sk->fin_seq=th->seq; |
sk | 4272 | net/inet/tcp.c | tcp_send_ack(sk->sent_seq,sk->acked_seq,sk,th,sk->daddr); |
sk | 4273 | net/inet/tcp.c | tcp_set_state(sk, TCP_ESTABLISHED); |
sk | 4274 | net/inet/tcp.c | tcp_options(sk,th); |
sk | 4275 | net/inet/tcp.c | sk->dummy_th.dest=th->source; |
sk | 4276 | net/inet/tcp.c | sk->copied_seq = sk->acked_seq; |
sk | 4277 | net/inet/tcp.c | if(!sk->dead) |
sk | 4278 | net/inet/tcp.c | sk->state_change(sk); |
sk | 4279 | net/inet/tcp.c | if(sk->max_window==0) |
sk | 4281 | net/inet/tcp.c | sk->max_window = 32; |
sk | 4282 | net/inet/tcp.c | sk->mss = min(sk->max_window, sk->mtu); |
sk | 4292 | net/inet/tcp.c | if(sk->saddr==saddr && sk->daddr==daddr && |
sk | 4293 | net/inet/tcp.c | sk->dummy_th.source==th->source && |
sk | 4294 | net/inet/tcp.c | sk->dummy_th.dest==th->dest) |
sk | 4297 | net/inet/tcp.c | return tcp_std_reset(sk,skb); |
sk | 4299 | net/inet/tcp.c | tcp_set_state(sk,TCP_SYN_RECV); |
sk | 4308 | net/inet/tcp.c | release_sock(sk); |
sk | 4323 | net/inet/tcp.c | if (sk->state == TCP_TIME_WAIT && th->syn && sk->dead && |
sk | 4324 | net/inet/tcp.c | after(th->seq, sk->acked_seq) && !th->rst) |
sk | 4326 | net/inet/tcp.c | long seq=sk->write_seq; |
sk | 4327 | net/inet/tcp.c | if(sk->debug) |
sk | 4330 | net/inet/tcp.c | sk->rmem_alloc -= skb->mem_len; |
sk | 4331 | net/inet/tcp.c | skb->sk = NULL; |
sk | 4332 | net/inet/tcp.c | sk->err=ECONNRESET; |
sk | 4333 | net/inet/tcp.c | tcp_set_state(sk, TCP_CLOSE); |
sk | 4334 | net/inet/tcp.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 4335 | net/inet/tcp.c | release_sock(sk); |
sk | 4336 | net/inet/tcp.c | sk=get_sock(&tcp_prot, th->dest, saddr, th->source, daddr); |
sk | 4337 | net/inet/tcp.c | if (sk && sk->state==TCP_LISTEN) |
sk | 4339 | net/inet/tcp.c | sk->inuse=1; |
sk | 4340 | net/inet/tcp.c | skb->sk = sk; |
sk | 4341 | net/inet/tcp.c | sk->rmem_alloc += skb->mem_len; |
sk | 4342 | net/inet/tcp.c | tcp_conn_request(sk, skb, daddr, saddr,opt, dev,seq+128000); |
sk | 4343 | net/inet/tcp.c | release_sock(sk); |
sk | 4356 | net/inet/tcp.c | if(!tcp_sequence(sk,th,len,opt,saddr,dev)) |
sk | 4359 | net/inet/tcp.c | release_sock(sk); |
sk | 4364 | net/inet/tcp.c | return tcp_std_reset(sk,skb); |
sk | 4373 | net/inet/tcp.c | return tcp_std_reset(sk,skb); |
sk | 4381 | net/inet/tcp.c | if(th->ack && !tcp_ack(sk,th,saddr,len)) |
sk | 4387 | net/inet/tcp.c | if(sk->state==TCP_SYN_RECV) |
sk | 4389 | net/inet/tcp.c | tcp_reset(daddr, saddr, th,sk->prot, opt, dev,sk->ip_tos,sk->ip_ttl); |
sk | 4392 | net/inet/tcp.c | release_sock(sk); |
sk | 4402 | net/inet/tcp.c | if(tcp_urg(sk, th, saddr, len)) |
sk | 4405 | net/inet/tcp.c | release_sock(sk); |
sk | 4414 | net/inet/tcp.c | if(tcp_data(skb,sk, saddr, len)) |
sk | 4417 | net/inet/tcp.c | release_sock(sk); |
sk | 4425 | net/inet/tcp.c | release_sock(sk); |
sk | 4434 | net/inet/tcp.c | static void tcp_write_wakeup(struct sock *sk) |
sk | 4441 | net/inet/tcp.c | if (sk->zapped) |
sk | 4449 | net/inet/tcp.c | if (sk->state != TCP_ESTABLISHED && |
sk | 4450 | net/inet/tcp.c | sk->state != TCP_CLOSE_WAIT && |
sk | 4451 | net/inet/tcp.c | sk->state != TCP_FIN_WAIT1 && |
sk | 4452 | net/inet/tcp.c | sk->state != TCP_LAST_ACK && |
sk | 4453 | net/inet/tcp.c | sk->state != TCP_CLOSING |
sk | 4459 | net/inet/tcp.c | buff = sk->prot->wmalloc(sk,MAX_ACK_SIZE,1, GFP_ATOMIC); |
sk | 4465 | net/inet/tcp.c | buff->sk = sk; |
sk | 4466 | net/inet/tcp.c | buff->localroute = sk->localroute; |
sk | 4471 | net/inet/tcp.c | tmp = sk->prot->build_header(buff, sk->saddr, sk->daddr, &dev, |
sk | 4472 | net/inet/tcp.c | IPPROTO_TCP, sk->opt, MAX_ACK_SIZE,sk->ip_tos,sk->ip_ttl); |
sk | 4475 | net/inet/tcp.c | sk->prot->wfree(sk, buff->mem_addr, buff->mem_len); |
sk | 4482 | net/inet/tcp.c | memcpy(t1,(void *) &sk->dummy_th, sizeof(*t1)); |
sk | 4488 | net/inet/tcp.c | t1->seq = htonl(sk->sent_seq-1); |
sk | 4497 | net/inet/tcp.c | t1->ack_seq = ntohl(sk->acked_seq); |
sk | 4498 | net/inet/tcp.c | t1->window = ntohs(tcp_select_window(sk)); |
sk | 4500 | net/inet/tcp.c | tcp_send_check(t1, sk->saddr, sk->daddr, sizeof(*t1), sk); |
sk | 4505 | net/inet/tcp.c | sk->prot->queue_xmit(sk, dev, buff, 1); |
sk | 4513 | net/inet/tcp.c | void tcp_send_probe0(struct sock *sk) |
sk | 4515 | net/inet/tcp.c | if (sk->zapped) |
sk | 4518 | net/inet/tcp.c | tcp_write_wakeup(sk); |
sk | 4520 | net/inet/tcp.c | sk->backoff++; |
sk | 4521 | net/inet/tcp.c | sk->rto = min(sk->rto << 1, 120*HZ); |
sk | 4522 | net/inet/tcp.c | reset_timer (sk, TIME_PROBE0, sk->rto); |
sk | 4523 | net/inet/tcp.c | sk->retransmits++; |
sk | 4524 | net/inet/tcp.c | sk->prot->retransmits ++; |
sk | 4531 | net/inet/tcp.c | int tcp_setsockopt(struct sock *sk, int level, int optname, char *optval, int optlen) |
sk | 4536 | net/inet/tcp.c | return ip_setsockopt(sk,level,optname,optval,optlen); |
sk | 4557 | net/inet/tcp.c | sk->user_mss=val; |
sk | 4560 | net/inet/tcp.c | sk->nonagle=(val==0)?0:1; |
sk | 4567 | net/inet/tcp.c | int tcp_getsockopt(struct sock *sk, int level, int optname, char *optval, int *optlen) |
sk | 4572 | net/inet/tcp.c | return ip_getsockopt(sk,level,optname,optval,optlen); |
sk | 4577 | net/inet/tcp.c | val=sk->user_mss; |
sk | 4580 | net/inet/tcp.c | val=sk->nonagle; |
sk | 119 | net/inet/tcp.h | extern void tcp_shutdown (struct sock *sk, int how); |
sk | 125 | net/inet/tcp.h | extern int tcp_ioctl(struct sock *sk, int cmd, unsigned long arg); |
sk | 127 | net/inet/tcp.h | extern int tcp_select_window(struct sock *sk); |
sk | 129 | net/inet/tcp.h | unsigned long daddr, int len, struct sock *sk); |
sk | 130 | net/inet/tcp.h | extern void tcp_send_probe0(struct sock *sk); |
sk | 88 | net/inet/timer.c | struct sock *sk = (struct sock*)data; |
sk | 89 | net/inet/timer.c | int why = sk->timeout; |
sk | 96 | net/inet/timer.c | if (sk->inuse || in_bh) |
sk | 98 | net/inet/timer.c | sk->timer.expires = 10; |
sk | 99 | net/inet/timer.c | add_timer(&sk->timer); |
sk | 104 | net/inet/timer.c | sk->inuse = 1; |
sk | 109 | net/inet/timer.c | if (sk->ack_backlog && !sk->zapped) |
sk | 111 | net/inet/timer.c | sk->prot->read_wakeup (sk); |
sk | 112 | net/inet/timer.c | if (! sk->dead) |
sk | 113 | net/inet/timer.c | sk->data_ready(sk,0); |
sk | 121 | net/inet/timer.c | if (! sk->dead || sk->state != TCP_CLOSE) |
sk | 124 | net/inet/timer.c | release_sock (sk); |
sk | 127 | net/inet/timer.c | destroy_sock (sk); |
sk | 135 | net/inet/timer.c | if(sk->wmem_alloc!=0 || sk->rmem_alloc!=0) |
sk | 137 | net/inet/timer.c | sk->wmem_alloc++; /* So it DOESN'T go away */ |
sk | 138 | net/inet/timer.c | destroy_sock (sk); |
sk | 139 | net/inet/timer.c | sk->wmem_alloc--; /* Might now have hit 0 - fall through and do it again if so */ |
sk | 140 | net/inet/timer.c | sk->inuse = 0; /* This will be ok, the destroy won't totally work */ |
sk | 142 | net/inet/timer.c | if(sk->wmem_alloc==0 && sk->rmem_alloc==0) |
sk | 143 | net/inet/timer.c | destroy_sock(sk); /* Socket gone, DON'T update sk->inuse! */ |
sk | 147 | net/inet/timer.c | sk->state = TCP_CLOSE; |
sk | 148 | net/inet/timer.c | delete_timer (sk); |
sk | 150 | net/inet/timer.c | arp_destroy (sk->daddr, 0); |
sk | 151 | net/inet/timer.c | if (!sk->dead) |
sk | 152 | net/inet/timer.c | sk->state_change(sk); |
sk | 153 | net/inet/timer.c | sk->shutdown = SHUTDOWN_MASK; |
sk | 154 | net/inet/timer.c | reset_timer (sk, TIME_DESTROY, TCP_DONE_TIME); |
sk | 155 | net/inet/timer.c | release_sock (sk); |
sk | 158 | net/inet/timer.c | tcp_send_probe0(sk); |
sk | 159 | net/inet/timer.c | release_sock (sk); |
sk | 171 | net/inet/timer.c | skb = sk->send_head; |
sk | 178 | net/inet/timer.c | if (jiffies < skb->when + sk->rto) |
sk | 180 | net/inet/timer.c | reset_timer (sk, TIME_WRITE, skb->when + sk->rto - jiffies); |
sk | 182 | net/inet/timer.c | release_sock (sk); |
sk | 188 | net/inet/timer.c | sk->prot->retransmit (sk, 0); |
sk | 189 | net/inet/timer.c | if ((sk->state == TCP_ESTABLISHED && sk->retransmits && !(sk->retransmits & 7)) |
sk | 190 | net/inet/timer.c | || (sk->state != TCP_ESTABLISHED && sk->retransmits > TCP_RETR1)) |
sk | 192 | net/inet/timer.c | arp_destroy (sk->daddr, 0); |
sk | 193 | net/inet/timer.c | ip_route_check (sk->daddr); |
sk | 195 | net/inet/timer.c | if (sk->state != TCP_ESTABLISHED && sk->retransmits > TCP_RETR2) |
sk | 197 | net/inet/timer.c | sk->err = ETIMEDOUT; |
sk | 198 | net/inet/timer.c | if (sk->state == TCP_FIN_WAIT1 || sk->state == TCP_FIN_WAIT2 || sk->state == TCP_CLOSING) |
sk | 200 | net/inet/timer.c | sk->state = TCP_TIME_WAIT; |
sk | 201 | net/inet/timer.c | reset_timer (sk, TIME_CLOSE, TCP_TIMEWAIT_LEN); |
sk | 205 | net/inet/timer.c | sk->prot->close (sk, 1); |
sk | 210 | net/inet/timer.c | release_sock (sk); |
sk | 218 | net/inet/timer.c | reset_timer (sk, TIME_KEEPOPEN, TCP_TIMEOUT_LEN); |
sk | 221 | net/inet/timer.c | if (sk->prot->write_wakeup) |
sk | 222 | net/inet/timer.c | sk->prot->write_wakeup (sk); |
sk | 223 | net/inet/timer.c | sk->retransmits++; |
sk | 224 | net/inet/timer.c | if (sk->shutdown == SHUTDOWN_MASK) |
sk | 226 | net/inet/timer.c | sk->prot->close (sk, 1); |
sk | 227 | net/inet/timer.c | sk->state = TCP_CLOSE; |
sk | 229 | net/inet/timer.c | if ((sk->state == TCP_ESTABLISHED && sk->retransmits && !(sk->retransmits & 7)) |
sk | 230 | net/inet/timer.c | || (sk->state != TCP_ESTABLISHED && sk->retransmits > TCP_RETR1)) |
sk | 232 | net/inet/timer.c | arp_destroy (sk->daddr, 0); |
sk | 233 | net/inet/timer.c | ip_route_check (sk->daddr); |
sk | 234 | net/inet/timer.c | release_sock (sk); |
sk | 237 | net/inet/timer.c | if (sk->state != TCP_ESTABLISHED && sk->retransmits > TCP_RETR2) |
sk | 239 | net/inet/timer.c | arp_destroy (sk->daddr, 0); |
sk | 240 | net/inet/timer.c | sk->err = ETIMEDOUT; |
sk | 241 | net/inet/timer.c | if (sk->state == TCP_FIN_WAIT1 || sk->state == TCP_FIN_WAIT2) |
sk | 243 | net/inet/timer.c | sk->state = TCP_TIME_WAIT; |
sk | 244 | net/inet/timer.c | if (!sk->dead) |
sk | 245 | net/inet/timer.c | sk->state_change(sk); |
sk | 246 | net/inet/timer.c | release_sock (sk); |
sk | 250 | net/inet/timer.c | sk->prot->close (sk, 1); |
sk | 254 | net/inet/timer.c | release_sock (sk); |
sk | 258 | net/inet/timer.c | release_sock (sk); |
sk | 82 | net/inet/udp.c | static int udp_deliver(struct sock *sk, struct udphdr *uh, struct sk_buff *skb, struct device *dev, long saddr, long daddr, int len); |
sk | 102 | net/inet/udp.c | struct sock *sk; |
sk | 113 | net/inet/udp.c | sk = get_sock(&udp_prot, th->source, daddr, th->dest, saddr); |
sk | 115 | net/inet/udp.c | if (sk == NULL) |
sk | 120 | net/inet/udp.c | if (sk->cong_window > 1) |
sk | 121 | net/inet/udp.c | sk->cong_window = sk->cong_window/2; |
sk | 139 | net/inet/udp.c | if (icmp_err_convert[err & 0xff].fatal && sk->state == TCP_ESTABLISHED) |
sk | 141 | net/inet/udp.c | sk->err = icmp_err_convert[err & 0xff].errno; |
sk | 142 | net/inet/udp.c | sk->error_report(sk); |
sk | 147 | net/inet/udp.c | sk->err = icmp_err_convert[err & 0xff].errno; |
sk | 148 | net/inet/udp.c | sk->error_report(sk); |
sk | 233 | net/inet/udp.c | unsigned long daddr, int len, struct sock *sk) |
sk | 236 | net/inet/udp.c | if (sk && sk->no_check) |
sk | 250 | net/inet/udp.c | static int udp_send(struct sock *sk, struct sockaddr_in *sin, |
sk | 265 | net/inet/udp.c | size = sk->prot->max_header + len; |
sk | 266 | net/inet/udp.c | skb = sock_alloc_send_skb(sk, size, 0, &tmp); |
sk | 272 | net/inet/udp.c | skb->sk = NULL; /* to avoid changing sk->saddr */ |
sk | 274 | net/inet/udp.c | skb->localroute = sk->localroute|(rt&MSG_DONTROUTE); |
sk | 281 | net/inet/udp.c | saddr = sk->saddr; |
sk | 283 | net/inet/udp.c | ttl = sk->ip_ttl; |
sk | 286 | net/inet/udp.c | ttl = sk->ip_mc_ttl; |
sk | 288 | net/inet/udp.c | tmp = sk->prot->build_header(skb, saddr, sin->sin_addr.s_addr, |
sk | 289 | net/inet/udp.c | &dev, IPPROTO_UDP, sk->opt, skb->mem_len,sk->ip_tos,ttl); |
sk | 291 | net/inet/udp.c | skb->sk=sk; /* So memory is freed correctly */ |
sk | 299 | net/inet/udp.c | sk->prot->wfree(sk, skb->mem_addr, skb->mem_len); |
sk | 314 | net/inet/udp.c | uh->source = sk->dummy_th.source; |
sk | 328 | net/inet/udp.c | udp_send_check(uh, saddr, sin->sin_addr.s_addr, skb->len - tmp, sk); |
sk | 336 | net/inet/udp.c | sk->prot->queue_xmit(sk, dev, skb, 1); |
sk | 341 | net/inet/udp.c | static int udp_sendto(struct sock *sk, unsigned char *from, int len, int noblock, |
sk | 368 | net/inet/udp.c | if (sk->state != TCP_ESTABLISHED) |
sk | 371 | net/inet/udp.c | sin.sin_port = sk->dummy_th.dest; |
sk | 372 | net/inet/udp.c | sin.sin_addr.s_addr = sk->daddr; |
sk | 383 | net/inet/udp.c | if(!sk->broadcast && ip_chk_addr(sin.sin_addr.s_addr)==IS_BROADCAST) |
sk | 386 | net/inet/udp.c | sk->inuse = 1; |
sk | 389 | net/inet/udp.c | tmp = udp_send(sk, &sin, from, len, flags); |
sk | 392 | net/inet/udp.c | release_sock(sk); |
sk | 400 | net/inet/udp.c | static int udp_write(struct sock *sk, unsigned char *buff, int len, int noblock, |
sk | 403 | net/inet/udp.c | return(udp_sendto(sk, buff, len, noblock, flags, NULL, 0)); |
sk | 411 | net/inet/udp.c | int udp_ioctl(struct sock *sk, int cmd, unsigned long arg) |
sk | 420 | net/inet/udp.c | if (sk->state == TCP_LISTEN) return(-EINVAL); |
sk | 421 | net/inet/udp.c | amount = sk->prot->wspace(sk)/*/2*/; |
sk | 435 | net/inet/udp.c | if (sk->state == TCP_LISTEN) return(-EINVAL); |
sk | 437 | net/inet/udp.c | skb = skb_peek(&sk->receive_queue); |
sk | 466 | net/inet/udp.c | int udp_recvfrom(struct sock *sk, unsigned char *to, int len, |
sk | 487 | net/inet/udp.c | skb=skb_recv_datagram(sk,flags,noblock,&er); |
sk | 499 | net/inet/udp.c | sk->stamp=skb->stamp; |
sk | 510 | net/inet/udp.c | release_sock(sk); |
sk | 518 | net/inet/udp.c | int udp_read(struct sock *sk, unsigned char *buff, int len, int noblock, |
sk | 521 | net/inet/udp.c | return(udp_recvfrom(sk, buff, len, noblock, flags, NULL, NULL)); |
sk | 525 | net/inet/udp.c | int udp_connect(struct sock *sk, struct sockaddr_in *usin, int addr_len) |
sk | 537 | net/inet/udp.c | if(!sk->broadcast && ip_chk_addr(usin->sin_addr.s_addr)==IS_BROADCAST) |
sk | 543 | net/inet/udp.c | sk->saddr = sa; /* Update source address */ |
sk | 544 | net/inet/udp.c | sk->daddr = usin->sin_addr.s_addr; |
sk | 545 | net/inet/udp.c | sk->dummy_th.dest = usin->sin_port; |
sk | 546 | net/inet/udp.c | sk->state = TCP_ESTABLISHED; |
sk | 551 | net/inet/udp.c | static void udp_close(struct sock *sk, int timeout) |
sk | 553 | net/inet/udp.c | sk->inuse = 1; |
sk | 554 | net/inet/udp.c | sk->state = TCP_CLOSE; |
sk | 555 | net/inet/udp.c | if (sk->dead) |
sk | 556 | net/inet/udp.c | destroy_sock(sk); |
sk | 558 | net/inet/udp.c | release_sock(sk); |
sk | 570 | net/inet/udp.c | struct sock *sk; |
sk | 617 | net/inet/udp.c | sk=get_sock_mcast(udp_prot.sock_array[ntohs(uh->dest)&(SOCK_ARRAY_SIZE-1)], uh->dest, |
sk | 619 | net/inet/udp.c | if(sk) |
sk | 625 | net/inet/udp.c | sknext=get_sock_mcast(sk->next, uh->dest, saddr, uh->source, daddr); |
sk | 631 | net/inet/udp.c | udp_deliver(sk, uh, skb1, dev,saddr,daddr,len); |
sk | 632 | net/inet/udp.c | sk=sknext; |
sk | 641 | net/inet/udp.c | sk = get_sock(&udp_prot, uh->dest, saddr, uh->source, daddr); |
sk | 642 | net/inet/udp.c | if (sk == NULL) |
sk | 653 | net/inet/udp.c | skb->sk = NULL; |
sk | 658 | net/inet/udp.c | return udp_deliver(sk,uh,skb,dev, saddr, daddr, len); |
sk | 661 | net/inet/udp.c | static int udp_deliver(struct sock *sk, struct udphdr *uh, struct sk_buff *skb, struct device *dev, long saddr, long daddr, int len) |
sk | 663 | net/inet/udp.c | skb->sk = sk; |
sk | 681 | net/inet/udp.c | if (sock_queue_rcv_skb(sk,skb)<0) |
sk | 686 | net/inet/udp.c | skb->sk = NULL; |
sk | 688 | net/inet/udp.c | release_sock(sk); |
sk | 692 | net/inet/udp.c | release_sock(sk); |
sk | 36 | net/inet/udp.h | extern int udp_recvfrom(struct sock *sk, unsigned char *to, |
sk | 39 | net/inet/udp.h | extern int udp_read(struct sock *sk, unsigned char *buff, |
sk | 41 | net/inet/udp.h | extern int udp_connect(struct sock *sk, |
sk | 47 | net/inet/udp.h | extern int udp_ioctl(struct sock *sk, int cmd, unsigned long arg); |