tag | line | file | source code |
skb | 61 | drivers/net/3c501.c | static int el_start_xmit(struct sk_buff *skb, struct device *dev); |
skb | 264 | drivers/net/3c501.c | el_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 289 | drivers/net/3c501.c | if (skb == NULL) { |
skb | 295 | drivers/net/3c501.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 296 | drivers/net/3c501.c | skb->dev = dev; |
skb | 297 | drivers/net/3c501.c | arp_queue (skb); |
skb | 300 | drivers/net/3c501.c | skb->arp=1; |
skb | 302 | drivers/net/3c501.c | if (skb->len <= 0) |
skb | 309 | drivers/net/3c501.c | int gp_start = 0x800 - (ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN); |
skb | 310 | drivers/net/3c501.c | unsigned char *buf = skb->data; |
skb | 320 | drivers/net/3c501.c | outsb(DATAPORT,buf,skb->len); |
skb | 328 | drivers/net/3c501.c | if (skb->free) |
skb | 329 | drivers/net/3c501.c | kfree_skb (skb, FREE_WRITE); |
skb | 435 | drivers/net/3c501.c | struct sk_buff *skb; |
skb | 451 | drivers/net/3c501.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 453 | drivers/net/3c501.c | if (skb == NULL) { |
skb | 458 | drivers/net/3c501.c | skb->mem_len = sksize; |
skb | 459 | drivers/net/3c501.c | skb->mem_addr = skb; |
skb | 460 | drivers/net/3c501.c | skb->len = pkt_len; |
skb | 461 | drivers/net/3c501.c | skb->dev = dev; |
skb | 463 | drivers/net/3c501.c | insb(DATAPORT, skb->data, pkt_len); |
skb | 466 | drivers/net/3c501.c | netif_rx(skb); |
skb | 468 | drivers/net/3c501.c | skb->lock = 0; |
skb | 469 | drivers/net/3c501.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 470 | drivers/net/3c501.c | kfree_skbmem(skb, sksize); |
skb | 279 | drivers/net/3c507.c | static int el16_send_packet(struct sk_buff *skb, struct device *dev); |
skb | 459 | drivers/net/3c507.c | el16_send_packet(struct sk_buff *skb, struct device *dev) |
skb | 494 | drivers/net/3c507.c | if (skb == NULL) { |
skb | 501 | drivers/net/3c507.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 502 | drivers/net/3c507.c | skb->dev = dev; |
skb | 503 | drivers/net/3c507.c | arp_queue (skb); |
skb | 506 | drivers/net/3c507.c | skb->arp=1; |
skb | 512 | drivers/net/3c507.c | short length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN; |
skb | 513 | drivers/net/3c507.c | unsigned char *buf = skb->data; |
skb | 523 | drivers/net/3c507.c | if (skb->free) |
skb | 524 | drivers/net/3c507.c | kfree_skb (skb, FREE_WRITE); |
skb | 859 | drivers/net/3c507.c | struct sk_buff *skb; |
skb | 863 | drivers/net/3c507.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 864 | drivers/net/3c507.c | if (skb == NULL) { |
skb | 869 | drivers/net/3c507.c | skb->mem_len = sksize; |
skb | 870 | drivers/net/3c507.c | skb->mem_addr = skb; |
skb | 871 | drivers/net/3c507.c | skb->len = pkt_len; |
skb | 872 | drivers/net/3c507.c | skb->dev = dev; |
skb | 875 | drivers/net/3c507.c | memcpy(skb->data, data_frame + 5, pkt_len); |
skb | 878 | drivers/net/3c507.c | netif_rx(skb); |
skb | 880 | drivers/net/3c507.c | skb->lock = 0; |
skb | 881 | drivers/net/3c507.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 882 | drivers/net/3c507.c | kfree_skbmem(skb, sksize); |
skb | 76 | drivers/net/3c509.c | static int el3_start_xmit(struct sk_buff *skb, struct device *dev); |
skb | 344 | drivers/net/3c509.c | el3_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 363 | drivers/net/3c509.c | if (skb == NULL) { |
skb | 369 | drivers/net/3c509.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 370 | drivers/net/3c509.c | skb->dev = dev; |
skb | 371 | drivers/net/3c509.c | arp_queue (skb); |
skb | 374 | drivers/net/3c509.c | skb->arp=1; |
skb | 376 | drivers/net/3c509.c | if (skb->len <= 0) |
skb | 381 | drivers/net/3c509.c | dev->name, skb->len, inw(ioaddr + EL3_STATUS)); |
skb | 404 | drivers/net/3c509.c | outw(skb->len, ioaddr + TX_FIFO); |
skb | 407 | drivers/net/3c509.c | outsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2); |
skb | 417 | drivers/net/3c509.c | if (skb->free) |
skb | 418 | drivers/net/3c509.c | kfree_skb (skb, FREE_WRITE); |
skb | 569 | drivers/net/3c509.c | struct sk_buff *skb; |
skb | 571 | drivers/net/3c509.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 575 | drivers/net/3c509.c | if (skb != NULL) { |
skb | 576 | drivers/net/3c509.c | skb->mem_len = sksize; |
skb | 577 | drivers/net/3c509.c | skb->mem_addr = skb; |
skb | 578 | drivers/net/3c509.c | skb->len = pkt_len; |
skb | 579 | drivers/net/3c509.c | skb->dev = dev; |
skb | 582 | drivers/net/3c509.c | insl(ioaddr+RX_FIFO, skb->data, |
skb | 586 | drivers/net/3c509.c | netif_rx(skb); |
skb | 590 | drivers/net/3c509.c | skb->lock = 0; |
skb | 591 | drivers/net/3c509.c | if (dev_rint((unsigned char *)skb, pkt_len, |
skb | 606 | drivers/net/3c509.c | kfree_s(skb, sksize); |
skb | 130 | drivers/net/8390.c | static int ei_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 167 | drivers/net/8390.c | if (skb == NULL) { |
skb | 172 | drivers/net/8390.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 173 | drivers/net/8390.c | skb->dev = dev; |
skb | 174 | drivers/net/8390.c | arp_queue (skb); |
skb | 177 | drivers/net/8390.c | skb->arp=1; |
skb | 179 | drivers/net/8390.c | length = skb->len; |
skb | 180 | drivers/net/8390.c | if (skb->len <= 0) |
skb | 220 | drivers/net/8390.c | ei_block_output(dev, length, skb->data, output_page); |
skb | 234 | drivers/net/8390.c | ei_block_output(dev, length, skb->data, ei_local->tx_start_page); |
skb | 244 | drivers/net/8390.c | if (skb->free) |
skb | 245 | drivers/net/8390.c | kfree_skb (skb, FREE_WRITE); |
skb | 452 | drivers/net/8390.c | struct sk_buff *skb; |
skb | 454 | drivers/net/8390.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 455 | drivers/net/8390.c | if (skb == NULL) { |
skb | 462 | drivers/net/8390.c | skb->mem_len = sksize; |
skb | 463 | drivers/net/8390.c | skb->mem_addr = skb; |
skb | 464 | drivers/net/8390.c | skb->len = pkt_len; |
skb | 465 | drivers/net/8390.c | skb->dev = dev; |
skb | 467 | drivers/net/8390.c | ei_block_input(dev, pkt_len, (char *) skb->data, |
skb | 469 | drivers/net/8390.c | netif_rx(skb); |
skb | 119 | drivers/net/at1700.c | static int net_send_packet(struct sk_buff *skb, struct device *dev); |
skb | 377 | drivers/net/at1700.c | net_send_packet(struct sk_buff *skb, struct device *dev) |
skb | 408 | drivers/net/at1700.c | if (skb == NULL) { |
skb | 415 | drivers/net/at1700.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 416 | drivers/net/at1700.c | skb->dev = dev; |
skb | 417 | drivers/net/at1700.c | arp_queue (skb); |
skb | 420 | drivers/net/at1700.c | skb->arp=1; |
skb | 427 | drivers/net/at1700.c | short length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN; |
skb | 428 | drivers/net/at1700.c | unsigned char *buf = skb->data; |
skb | 452 | drivers/net/at1700.c | if (skb->free) |
skb | 453 | drivers/net/at1700.c | kfree_skb (skb, FREE_WRITE); |
skb | 538 | drivers/net/at1700.c | struct sk_buff *skb; |
skb | 547 | drivers/net/at1700.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 548 | drivers/net/at1700.c | if (skb == NULL) { |
skb | 555 | drivers/net/at1700.c | skb->mem_len = sksize; |
skb | 556 | drivers/net/at1700.c | skb->mem_addr = skb; |
skb | 557 | drivers/net/at1700.c | skb->len = pkt_len; |
skb | 558 | drivers/net/at1700.c | skb->dev = dev; |
skb | 560 | drivers/net/at1700.c | insw(ioaddr + DATAPORT, skb->data, (pkt_len + 1) >> 1); |
skb | 566 | drivers/net/at1700.c | printk(" %02x", skb->data[i]); |
skb | 571 | drivers/net/at1700.c | netif_rx(skb); |
skb | 573 | drivers/net/at1700.c | skb->lock = 0; |
skb | 574 | drivers/net/at1700.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 575 | drivers/net/at1700.c | kfree_s(skb, sksize); |
skb | 142 | drivers/net/atp.c | static int net_send_packet(struct sk_buff *skb, struct device *dev); |
skb | 449 | drivers/net/atp.c | net_send_packet(struct sk_buff *skb, struct device *dev) |
skb | 473 | drivers/net/atp.c | if (skb == NULL) { |
skb | 480 | drivers/net/atp.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 481 | drivers/net/atp.c | skb->dev = dev; |
skb | 482 | drivers/net/atp.c | arp_queue (skb); |
skb | 485 | drivers/net/atp.c | skb->arp=1; |
skb | 492 | drivers/net/atp.c | short length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN; |
skb | 493 | drivers/net/atp.c | unsigned char *buf = skb->data; |
skb | 521 | drivers/net/atp.c | if (skb->free) |
skb | 522 | drivers/net/atp.c | kfree_skb (skb, FREE_WRITE); |
skb | 678 | drivers/net/atp.c | struct sk_buff *skb; |
skb | 680 | drivers/net/atp.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 681 | drivers/net/atp.c | if (skb == NULL) { |
skb | 686 | drivers/net/atp.c | skb->mem_len = sksize; |
skb | 687 | drivers/net/atp.c | skb->mem_addr = skb; |
skb | 688 | drivers/net/atp.c | skb->len = pkt_len; |
skb | 689 | drivers/net/atp.c | skb->dev = dev; |
skb | 691 | drivers/net/atp.c | read_block(ioaddr, pkt_len, skb->data, dev->if_port); |
skb | 694 | drivers/net/atp.c | unsigned char *data = skb->data; |
skb | 703 | drivers/net/atp.c | netif_rx(skb); |
skb | 705 | drivers/net/atp.c | skb->lock = 0; |
skb | 706 | drivers/net/atp.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 707 | drivers/net/atp.c | kfree_s(skb, sksize); |
skb | 226 | drivers/net/d_link.c | static int d_link_start_xmit(struct sk_buff *skb, struct device *dev); |
skb | 384 | drivers/net/d_link.c | d_link_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 389 | drivers/net/d_link.c | unsigned char *buffer = skb->data; |
skb | 397 | drivers/net/d_link.c | if (skb == NULL) { |
skb | 403 | drivers/net/d_link.c | if (!skb->arp) |
skb | 404 | drivers/net/d_link.c | if(dev->rebuild_header(skb->data, dev)) { |
skb | 405 | drivers/net/d_link.c | skb->dev = dev; |
skb | 406 | drivers/net/d_link.c | arp_queue (skb); |
skb | 409 | drivers/net/d_link.c | skb->arp = 1; |
skb | 428 | drivers/net/d_link.c | PRINTK(("d_link_start_xmit:len=%d, page %d/%d\n", skb->len, tx_fifo_in, free_tx_pages)); |
skb | 430 | drivers/net/d_link.c | if ((len = skb->len) < RUNT) |
skb | 457 | drivers/net/d_link.c | if (skb->free) |
skb | 458 | drivers/net/d_link.c | kfree_skb (skb, FREE_WRITE); |
skb | 558 | drivers/net/d_link.c | struct sk_buff *skb; |
skb | 581 | drivers/net/d_link.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 583 | drivers/net/d_link.c | if (skb == NULL) { |
skb | 590 | drivers/net/d_link.c | skb->lock = 0; |
skb | 591 | drivers/net/d_link.c | skb->mem_len = sksize; |
skb | 592 | drivers/net/d_link.c | skb->mem_addr = skb; |
skb | 594 | drivers/net/d_link.c | buffer = skb->data; |
skb | 603 | drivers/net/d_link.c | if (dev_rint((unsigned char *)skb, size, IN_SKBUFF, dev)) |
skb | 254 | drivers/net/depca.c | static int depca_start_xmit(struct sk_buff *skb, struct device *dev); |
skb | 754 | drivers/net/depca.c | depca_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 779 | drivers/net/depca.c | if (skb == NULL) { |
skb | 785 | drivers/net/depca.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 786 | drivers/net/depca.c | skb->dev = dev; |
skb | 787 | drivers/net/depca.c | arp_queue (skb); |
skb | 790 | drivers/net/depca.c | skb->arp=1; |
skb | 792 | drivers/net/depca.c | if (skb->len <= 0) { |
skb | 816 | drivers/net/depca.c | long skbL = skb->len; |
skb | 817 | drivers/net/depca.c | char *p = (char *) skb->data; |
skb | 838 | drivers/net/depca.c | memcpy((unsigned char *)(buf), skb->data, len); |
skb | 862 | drivers/net/depca.c | memcpy((unsigned char *)buf, skb->data, PKT_HDR_LEN); |
skb | 899 | drivers/net/depca.c | if (skb->free) { |
skb | 900 | drivers/net/depca.c | kfree_skb (skb, FREE_WRITE); |
skb | 989 | drivers/net/depca.c | struct sk_buff *skb; |
skb | 991 | drivers/net/depca.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 992 | drivers/net/depca.c | if (skb == NULL) { |
skb | 997 | drivers/net/depca.c | skb->mem_len = sksize; |
skb | 998 | drivers/net/depca.c | skb->mem_addr = skb; |
skb | 999 | drivers/net/depca.c | skb->len = pkt_len; |
skb | 1000 | drivers/net/depca.c | skb->dev = dev; |
skb | 1001 | drivers/net/depca.c | memcpy(skb->data, |
skb | 1009 | drivers/net/depca.c | netif_rx(skb); |
skb | 1011 | drivers/net/depca.c | skb->lock = 0; |
skb | 1012 | drivers/net/depca.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 1013 | drivers/net/depca.c | kfree_skbmem(skb, sksize); |
skb | 290 | drivers/net/eexpress.c | static int eexp_send_packet(struct sk_buff *skb, struct device *dev); |
skb | 474 | drivers/net/eexpress.c | eexp_send_packet(struct sk_buff *skb, struct device *dev) |
skb | 509 | drivers/net/eexpress.c | if (skb == NULL) { |
skb | 516 | drivers/net/eexpress.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 517 | drivers/net/eexpress.c | skb->dev = dev; |
skb | 518 | drivers/net/eexpress.c | arp_queue (skb); |
skb | 521 | drivers/net/eexpress.c | skb->arp=1; |
skb | 527 | drivers/net/eexpress.c | short length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN; |
skb | 528 | drivers/net/eexpress.c | unsigned char *buf = skb->data; |
skb | 538 | drivers/net/eexpress.c | if (skb->free) |
skb | 539 | drivers/net/eexpress.c | kfree_skb (skb, FREE_WRITE); |
skb | 968 | drivers/net/eexpress.c | struct sk_buff *skb; |
skb | 972 | drivers/net/eexpress.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 973 | drivers/net/eexpress.c | if (skb == NULL) { |
skb | 978 | drivers/net/eexpress.c | skb->mem_len = sksize; |
skb | 979 | drivers/net/eexpress.c | skb->mem_addr = skb; |
skb | 980 | drivers/net/eexpress.c | skb->len = pkt_len; |
skb | 981 | drivers/net/eexpress.c | skb->dev = dev; |
skb | 985 | drivers/net/eexpress.c | insw(ioaddr, skb->data, (pkt_len + 1) >> 1); |
skb | 988 | drivers/net/eexpress.c | netif_rx(skb); |
skb | 990 | drivers/net/eexpress.c | skb->lock = 0; |
skb | 991 | drivers/net/eexpress.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 992 | drivers/net/eexpress.c | kfree_s(skb, sksize); |
skb | 211 | drivers/net/lance.c | static int lance_start_xmit(struct sk_buff *skb, struct device *dev); |
skb | 468 | drivers/net/lance.c | lance_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 509 | drivers/net/lance.c | if (skb == NULL) { |
skb | 515 | drivers/net/lance.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 516 | drivers/net/lance.c | skb->dev = dev; |
skb | 517 | drivers/net/lance.c | arp_queue (skb); |
skb | 520 | drivers/net/lance.c | skb->arp=1; |
skb | 522 | drivers/net/lance.c | if (skb->len <= 0) |
skb | 548 | drivers/net/lance.c | -(ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN); |
skb | 550 | drivers/net/lance.c | lp->tx_ring[entry].length = -skb->len; |
skb | 556 | drivers/net/lance.c | if ((int)(skb->data) + skb->len > 0x01000000) { |
skb | 559 | drivers/net/lance.c | dev->name, (int)(skb->data)); |
skb | 560 | drivers/net/lance.c | memcpy(&lp->tx_bounce_buffs[entry], skb->data, skb->len); |
skb | 563 | drivers/net/lance.c | if (skb->free) |
skb | 564 | drivers/net/lance.c | kfree_skb (skb, FREE_WRITE); |
skb | 568 | drivers/net/lance.c | if(skb->free==0) |
skb | 569 | drivers/net/lance.c | skb_kept_by_device(skb); |
skb | 570 | drivers/net/lance.c | lp->tx_ring[entry].base = (int)(skb->data) | 0x83000000; |
skb | 653 | drivers/net/lance.c | struct sk_buff *skb = ((struct sk_buff *)databuff) - 1; |
skb | 654 | drivers/net/lance.c | if (skb->free) |
skb | 655 | drivers/net/lance.c | kfree_skb(skb, FREE_WRITE); |
skb | 657 | drivers/net/lance.c | skb_device_release(skb,FREE_WRITE); |
skb | 724 | drivers/net/lance.c | struct sk_buff *skb; |
skb | 726 | drivers/net/lance.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 727 | drivers/net/lance.c | if (skb == NULL) { |
skb | 732 | drivers/net/lance.c | skb->mem_len = sksize; |
skb | 733 | drivers/net/lance.c | skb->mem_addr = skb; |
skb | 734 | drivers/net/lance.c | skb->len = pkt_len; |
skb | 735 | drivers/net/lance.c | skb->dev = dev; |
skb | 736 | drivers/net/lance.c | memcpy(skb->data, |
skb | 740 | drivers/net/lance.c | netif_rx(skb); |
skb | 742 | drivers/net/lance.c | skb->lock = 0; |
skb | 743 | drivers/net/lance.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 744 | drivers/net/lance.c | kfree_skbmem(skb, sksize); |
skb | 139 | drivers/net/plip.c | static int plip_tx_packet(struct sk_buff *skb, struct device *dev); |
skb | 264 | drivers/net/plip.c | plip_tx_packet(struct sk_buff *skb, struct device *dev) |
skb | 281 | drivers/net/plip.c | if (skb == NULL) { |
skb | 288 | drivers/net/plip.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 289 | drivers/net/plip.c | skb->dev = dev; |
skb | 290 | drivers/net/plip.c | arp_queue (skb); |
skb | 293 | drivers/net/plip.c | skb->arp=1; |
skb | 296 | drivers/net/plip.c | ret_val = plip_send_packet(dev, skb->data, skb->len); |
skb | 297 | drivers/net/plip.c | if (skb->free) |
skb | 298 | drivers/net/plip.c | kfree_skb (skb, FREE_WRITE); |
skb | 424 | drivers/net/plip.c | struct sk_buff *skb; |
skb | 474 | drivers/net/plip.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 475 | drivers/net/plip.c | if (skb == NULL) { |
skb | 480 | drivers/net/plip.c | skb->lock = 0; |
skb | 481 | drivers/net/plip.c | skb->mem_len = sksize; |
skb | 482 | drivers/net/plip.c | skb->mem_addr = skb; |
skb | 487 | drivers/net/plip.c | unsigned char *buf = skb->data; |
skb | 504 | drivers/net/plip.c | } else if(dev_rint((unsigned char *)skb, length, IN_SKBUFF, dev)) { |
skb | 109 | drivers/net/skeleton.c | static int net_send_packet(struct sk_buff *skb, struct device *dev); |
skb | 290 | drivers/net/skeleton.c | net_send_packet(struct sk_buff *skb, struct device *dev) |
skb | 312 | drivers/net/skeleton.c | if (skb == NULL) { |
skb | 319 | drivers/net/skeleton.c | if (!skb->arp && dev->rebuild_header(skb->data, dev)) { |
skb | 320 | drivers/net/skeleton.c | skb->dev = dev; |
skb | 321 | drivers/net/skeleton.c | arp_queue (skb); |
skb | 324 | drivers/net/skeleton.c | skb->arp=1; |
skb | 331 | drivers/net/skeleton.c | short length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN; |
skb | 332 | drivers/net/skeleton.c | unsigned char *buf = skb->data; |
skb | 337 | drivers/net/skeleton.c | if (skb->free) |
skb | 338 | drivers/net/skeleton.c | kfree_skb (skb, FREE_WRITE); |
skb | 410 | drivers/net/skeleton.c | struct sk_buff *skb; |
skb | 412 | drivers/net/skeleton.c | skb = alloc_skb(sksize, GFP_ATOMIC); |
skb | 413 | drivers/net/skeleton.c | if (skb == NULL) { |
skb | 418 | drivers/net/skeleton.c | skb->mem_len = sksize; |
skb | 419 | drivers/net/skeleton.c | skb->mem_addr = skb; |
skb | 420 | drivers/net/skeleton.c | skb->len = pkt_len; |
skb | 421 | drivers/net/skeleton.c | skb->dev = dev; |
skb | 424 | drivers/net/skeleton.c | memcpy(skb->data, (void*)dev->rmem_start, |
skb | 427 | drivers/net/skeleton.c | insw(ioaddr, skb->data, (pkt_len + 1) >> 1); |
skb | 430 | drivers/net/skeleton.c | netif_rx(skb); |
skb | 432 | drivers/net/skeleton.c | skb->lock = 0; |
skb | 433 | drivers/net/skeleton.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 434 | drivers/net/skeleton.c | kfree_s(skb, sksize); |
skb | 530 | drivers/net/slip.c | sl_xmit(struct sk_buff *skb, struct device *dev) |
skb | 540 | drivers/net/slip.c | dev->name, skb, sl->sending)); |
skb | 554 | drivers/net/slip.c | if (skb != NULL) { |
skb | 558 | drivers/net/slip.c | if(!skb->arp && dev->rebuild_header(skb->data,dev)) |
skb | 560 | drivers/net/slip.c | skb->dev=dev; |
skb | 561 | drivers/net/slip.c | arp_queue(skb); |
skb | 564 | drivers/net/slip.c | skb->arp=1; |
skb | 568 | drivers/net/slip.c | size = skb->len; |
skb | 573 | drivers/net/slip.c | size = ((struct iphdr *)(skb->data))->tot_len; |
skb | 578 | drivers/net/slip.c | sl_encaps(sl, skb->data, size); |
skb | 579 | drivers/net/slip.c | if (skb->free) |
skb | 580 | drivers/net/slip.c | kfree_skb(skb, FREE_WRITE); |
skb | 587 | drivers/net/slip.c | sl_type_trans (struct sk_buff *skb, struct device *dev) |
skb | 615 | drivers/net/slip.c | sl_add_arp(unsigned long addr, struct sk_buff *skb, struct device *dev) |
skb | 621 | drivers/net/slip.c | arp_add(addr,((char *) skb->data)+8,dev); |
skb | 205 | net/inet/arp.c | struct sk_buff *skb; |
skb | 212 | net/inet/arp.c | while((skb=skb_dequeue(&work_q))!=NULL) |
skb | 214 | net/inet/arp.c | IS_SKB(skb); |
skb | 215 | net/inet/arp.c | skb->magic = 0; |
skb | 216 | net/inet/arp.c | skb->next = NULL; |
skb | 217 | net/inet/arp.c | skb->prev = NULL; |
skb | 221 | net/inet/arp.c | skb->tries--; |
skb | 222 | net/inet/arp.c | if (skb->tries == 0) { |
skb | 232 | net/inet/arp.c | skb->sk = NULL; |
skb | 233 | net/inet/arp.c | if(skb->free) |
skb | 234 | net/inet/arp.c | kfree_skb(skb, FREE_WRITE); |
skb | 243 | net/inet/arp.c | if (skb->arp || !skb->dev->rebuild_header(skb->data, skb->dev)) { |
skb | 244 | net/inet/arp.c | skb->arp = 1; |
skb | 245 | net/inet/arp.c | skb->dev->queue_xmit(skb, skb->dev, 0); |
skb | 248 | net/inet/arp.c | skb->magic = ARP_QUEUE_MAGIC; |
skb | 249 | net/inet/arp.c | skb_queue_head(&arp_q,skb); |
skb | 282 | net/inet/arp.c | struct sk_buff *skb; |
skb | 301 | net/inet/arp.c | skb = alloc_skb(sizeof(struct sk_buff) + |
skb | 305 | net/inet/arp.c | if (skb == NULL) { |
skb | 310 | net/inet/arp.c | skb->mem_addr = skb; |
skb | 311 | net/inet/arp.c | skb->len = sizeof(struct arphdr) + (2 * arp1->ar_hln) + |
skb | 313 | net/inet/arp.c | skb->mem_len = sizeof(struct sk_buff) + skb->len; |
skb | 314 | net/inet/arp.c | hlen = dev->hard_header(skb->data, dev, ETH_P_ARP, src, dst, skb->len); |
skb | 317 | net/inet/arp.c | kfree_skb(skb, FREE_WRITE); |
skb | 326 | net/inet/arp.c | arp2 = (struct arphdr *) (skb->data + hlen); |
skb | 344 | net/inet/arp.c | skb->free = 1; |
skb | 345 | net/inet/arp.c | skb->arp = 1; |
skb | 346 | net/inet/arp.c | skb->sk = NULL; |
skb | 347 | net/inet/arp.c | skb->next = NULL; |
skb | 353 | net/inet/arp.c | dev->queue_xmit(skb, dev, 0); |
skb | 510 | net/inet/arp.c | arp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt) |
skb | 520 | net/inet/arp.c | arp = skb->h.arp; |
skb | 527 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 536 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 557 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 562 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 580 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 590 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 597 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 606 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 615 | net/inet/arp.c | struct sk_buff *skb; |
skb | 624 | net/inet/arp.c | skb = alloc_skb(sizeof(struct sk_buff) + |
skb | 628 | net/inet/arp.c | if (skb == NULL) { |
skb | 634 | net/inet/arp.c | skb->sk = NULL; |
skb | 635 | net/inet/arp.c | skb->mem_addr = skb; |
skb | 636 | net/inet/arp.c | skb->len = sizeof(struct arphdr) + |
skb | 638 | net/inet/arp.c | skb->mem_len = sizeof(struct sk_buff) + skb->len; |
skb | 639 | net/inet/arp.c | skb->arp = 1; |
skb | 640 | net/inet/arp.c | skb->dev = dev; |
skb | 641 | net/inet/arp.c | skb->next = NULL; |
skb | 642 | net/inet/arp.c | skb->free = 1; |
skb | 643 | net/inet/arp.c | tmp = dev->hard_header(skb->data, dev, ETH_P_ARP, 0, saddr, skb->len); |
skb | 645 | net/inet/arp.c | kfree_skb(skb,FREE_WRITE); |
skb | 648 | net/inet/arp.c | arp = (struct arphdr *) (skb->data + tmp); |
skb | 670 | net/inet/arp.c | dev->queue_xmit(skb, dev, 0); |
skb | 770 | net/inet/arp.c | arp_queue(struct sk_buff *skb) |
skb | 773 | net/inet/arp.c | skb->tries = ARP_MAX_TRIES; |
skb | 775 | net/inet/arp.c | if (skb->next != NULL) { |
skb | 777 | net/inet/arp.c | printk("ARP: arp_queue skb already on queue magic=%X.\n", skb->magic); |
skb | 782 | net/inet/arp.c | skb_queue_tail(&arp_q,skb); |
skb | 783 | net/inet/arp.c | skb->magic = ARP_QUEUE_MAGIC; |
skb | 52 | net/inet/arp.h | extern int arp_rcv(struct sk_buff *skb, struct device *dev, |
skb | 59 | net/inet/arp.h | extern void arp_queue(struct sk_buff *skb); |
skb | 51 | net/inet/datagram.c | struct sk_buff *skb; |
skb | 121 | net/inet/datagram.c | skb=skb_dequeue(&sk->rqueue); |
skb | 122 | net/inet/datagram.c | if(skb!=NULL) |
skb | 123 | net/inet/datagram.c | skb->users++; |
skb | 130 | net/inet/datagram.c | skb=skb_peek(&sk->rqueue); |
skb | 131 | net/inet/datagram.c | if(skb!=NULL) |
skb | 132 | net/inet/datagram.c | skb->users++; |
skb | 134 | net/inet/datagram.c | if(skb==NULL) /* shouldn't happen but .. */ |
skb | 137 | net/inet/datagram.c | return skb; |
skb | 140 | net/inet/datagram.c | void skb_free_datagram(struct sk_buff *skb) |
skb | 146 | net/inet/datagram.c | skb->users--; |
skb | 147 | net/inet/datagram.c | if(skb->users>0) |
skb | 153 | net/inet/datagram.c | if(skb->list == NULL) /* Been dequeued by someone - ie its read */ |
skb | 154 | net/inet/datagram.c | kfree_skb(skb,FREE_READ); |
skb | 158 | net/inet/datagram.c | void skb_copy_datagram(struct sk_buff *skb, int offset, char *to, int size) |
skb | 162 | net/inet/datagram.c | memcpy_tofs(to,skb->h.raw+offset,size); |
skb | 413 | net/inet/dev.c | struct sk_buff *skb; |
skb | 414 | net/inet/dev.c | while((skb=skb_dequeue(&dev->buffs[ct]))!=NULL) |
skb | 415 | net/inet/dev.c | if(skb->free) |
skb | 416 | net/inet/dev.c | kfree_skb(skb,FREE_WRITE); |
skb | 427 | net/inet/dev.c | dev_queue_xmit(struct sk_buff *skb, struct device *dev, int pri) |
skb | 434 | net/inet/dev.c | skb, dev, pri)); |
skb | 441 | net/inet/dev.c | IS_SKB(skb); |
skb | 443 | net/inet/dev.c | skb->dev = dev; |
skb | 444 | net/inet/dev.c | if (skb->next != NULL) { |
skb | 460 | net/inet/dev.c | if (dev->hard_start_xmit(skb, dev) == 0) { |
skb | 470 | net/inet/dev.c | skb->magic = DEV_QUEUE_MAGIC; |
skb | 472 | net/inet/dev.c | skb_queue_head(&dev->buffs[pri],skb); |
skb | 474 | net/inet/dev.c | skb_queue_tail(&dev->buffs[pri],skb); |
skb | 475 | net/inet/dev.c | skb->magic = DEV_QUEUE_MAGIC; |
skb | 484 | net/inet/dev.c | netif_rx(struct sk_buff *skb) |
skb | 488 | net/inet/dev.c | skb->sk = NULL; |
skb | 489 | net/inet/dev.c | skb->free = 1; |
skb | 497 | net/inet/dev.c | kfree_skb(skb, FREE_READ); |
skb | 501 | net/inet/dev.c | IS_SKB(skb); |
skb | 502 | net/inet/dev.c | skb_queue_tail(&backlog,skb); |
skb | 526 | net/inet/dev.c | struct sk_buff *skb = NULL; |
skb | 533 | net/inet/dev.c | skb = (struct sk_buff *) buff; |
skb | 542 | net/inet/dev.c | skb = alloc_skb(sizeof(*skb) + len, GFP_ATOMIC); |
skb | 543 | net/inet/dev.c | if (skb == NULL) { |
skb | 549 | net/inet/dev.c | skb->mem_len = sizeof(*skb) + len; |
skb | 550 | net/inet/dev.c | skb->mem_addr = (struct sk_buff *) skb; |
skb | 553 | net/inet/dev.c | to = skb->data; |
skb | 568 | net/inet/dev.c | skb->len = len; |
skb | 569 | net/inet/dev.c | skb->dev = dev; |
skb | 570 | net/inet/dev.c | skb->free = 1; |
skb | 572 | net/inet/dev.c | netif_rx(skb); |
skb | 606 | net/inet/dev.c | struct sk_buff *skb; |
skb | 620 | net/inet/dev.c | while((skb=skb_dequeue(&backlog))!=NULL) |
skb | 632 | net/inet/dev.c | skb->h.raw = skb->data + skb->dev->hard_header_len; |
skb | 633 | net/inet/dev.c | skb->len -= skb->dev->hard_header_len; |
skb | 644 | net/inet/dev.c | type = skb->dev->type_trans(skb, skb->dev); |
skb | 659 | net/inet/dev.c | skb2 = alloc_skb(skb->mem_len, GFP_ATOMIC); |
skb | 662 | net/inet/dev.c | memcpy(skb2, (const void *) skb, skb->mem_len); |
skb | 666 | net/inet/dev.c | (unsigned long) skb->h.raw - |
skb | 667 | net/inet/dev.c | (unsigned long) skb |
skb | 671 | net/inet/dev.c | skb2 = skb; |
skb | 681 | net/inet/dev.c | ptype->func(skb2, skb->dev, ptype); |
skb | 692 | net/inet/dev.c | skb->sk = NULL; |
skb | 693 | net/inet/dev.c | kfree_skb(skb, FREE_WRITE); |
skb | 714 | net/inet/dev.c | struct sk_buff *skb; |
skb | 717 | net/inet/dev.c | while((skb=skb_dequeue(&dev->buffs[i]))!=NULL) |
skb | 719 | net/inet/dev.c | skb->magic = 0; |
skb | 720 | net/inet/dev.c | skb->next = NULL; |
skb | 721 | net/inet/dev.c | skb->prev = NULL; |
skb | 722 | net/inet/dev.c | dev->queue_xmit(skb,dev,-i - 1); |
skb | 119 | net/inet/dev.h | int (*hard_start_xmit) (struct sk_buff *skb, |
skb | 128 | net/inet/dev.h | struct sk_buff *skb, |
skb | 130 | net/inet/dev.h | void (*queue_xmit)(struct sk_buff *skb, |
skb | 133 | net/inet/dev.h | unsigned short (*type_trans) (struct sk_buff *skb, |
skb | 175 | net/inet/dev.h | extern void dev_queue_xmit(struct sk_buff *skb, struct device *dev, |
skb | 178 | net/inet/dev.h | extern void netif_rx(struct sk_buff *skb); |
skb | 167 | net/inet/eth.c | eth_add_arp(unsigned long addr, struct sk_buff *skb, struct device *dev) |
skb | 171 | net/inet/eth.c | eth = (struct ethhdr *) skb->data; |
skb | 178 | net/inet/eth.c | eth_type_trans(struct sk_buff *skb, struct device *dev) |
skb | 182 | net/inet/eth.c | eth = (struct ethhdr *) skb->data; |
skb | 31 | net/inet/eth.h | extern void eth_add_arp(unsigned long addr, struct sk_buff *skb, |
skb | 33 | net/inet/eth.h | extern unsigned short eth_type_trans(struct sk_buff *skb, struct device *dev); |
skb | 83 | net/inet/icmp.c | struct sk_buff *skb; |
skb | 97 | net/inet/icmp.c | skb = (struct sk_buff *) alloc_skb(len, GFP_ATOMIC); |
skb | 98 | net/inet/icmp.c | if (skb == NULL) |
skb | 101 | net/inet/icmp.c | skb->sk = NULL; |
skb | 102 | net/inet/icmp.c | skb->mem_addr = skb; |
skb | 103 | net/inet/icmp.c | skb->mem_len = len; |
skb | 110 | net/inet/icmp.c | offset = ip_build_header(skb, dev->pa_addr, iph->saddr, |
skb | 113 | net/inet/icmp.c | skb->sk = NULL; |
skb | 114 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 119 | net/inet/icmp.c | skb->len = offset + sizeof(struct icmphdr) + sizeof(struct iphdr) + 8; |
skb | 120 | net/inet/icmp.c | icmph = (struct icmphdr *) (skb->data + offset); |
skb | 134 | net/inet/icmp.c | ip_queue_xmit(NULL, dev, skb, 1); |
skb | 140 | net/inet/icmp.c | icmp_unreach(struct icmphdr *icmph, struct sk_buff *skb) |
skb | 197 | net/inet/icmp.c | skb->sk = NULL; |
skb | 198 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 204 | net/inet/icmp.c | icmp_redirect(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev) |
skb | 231 | net/inet/icmp.c | skb->sk = NULL; |
skb | 232 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 238 | net/inet/icmp.c | icmp_echo(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev, |
skb | 249 | net/inet/icmp.c | skb->sk = NULL; |
skb | 250 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 260 | net/inet/icmp.c | IPPROTO_ICMP, opt, len, skb->ip_hdr->tos,255); |
skb | 264 | net/inet/icmp.c | skb->sk = NULL; |
skb | 265 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 283 | net/inet/icmp.c | skb->sk = NULL; |
skb | 284 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 290 | net/inet/icmp.c | icmp_info(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev, |
skb | 295 | net/inet/icmp.c | skb->sk = NULL; |
skb | 296 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 302 | net/inet/icmp.c | icmp_address(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev, |
skb | 313 | net/inet/icmp.c | skb->sk = NULL; |
skb | 314 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 324 | net/inet/icmp.c | IPPROTO_ICMP, opt, len, skb->ip_hdr->tos,255); |
skb | 328 | net/inet/icmp.c | skb->sk = NULL; |
skb | 329 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 350 | net/inet/icmp.c | skb->sk = NULL; |
skb | 351 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 187 | net/inet/ip.c | ip_send(struct sk_buff *skb, unsigned long daddr, int len, struct device *dev, |
skb | 193 | net/inet/ip.c | ptr = skb->data; |
skb | 195 | net/inet/ip.c | skb->arp = 1; |
skb | 201 | net/inet/ip.c | skb->arp = 0; |
skb | 203 | net/inet/ip.c | skb->dev = dev; |
skb | 215 | net/inet/ip.c | ip_build_header(struct sk_buff *skb, unsigned long saddr, unsigned long daddr, |
skb | 231 | net/inet/ip.c | skb, saddr, daddr, *dev, type, opt, len)); |
skb | 233 | net/inet/ip.c | buff = skb->data; |
skb | 257 | net/inet/ip.c | tmp = ip_send(skb, raddr, len, *dev, saddr); |
skb | 261 | net/inet/ip.c | skb->dev = *dev; |
skb | 262 | net/inet/ip.c | skb->saddr = saddr; |
skb | 263 | net/inet/ip.c | if (skb->sk) skb->sk->saddr = saddr; |
skb | 530 | net/inet/ip.c | static struct ipfrag *ip_frag_create(int offset, int end, struct sk_buff *skb, unsigned char *ptr) |
skb | 546 | net/inet/ip.c | fp->skb = skb; |
skb | 615 | net/inet/ip.c | IS_SKB(fp->skb); |
skb | 616 | net/inet/ip.c | kfree_skb(fp->skb,FREE_READ); |
skb | 651 | net/inet/ip.c | icmp_send(qp->fragments->skb,ICMP_TIME_EXCEEDED, |
skb | 666 | net/inet/ip.c | static struct ipq *ip_create(struct sk_buff *skb, struct iphdr *iph, struct device *dev) |
skb | 681 | net/inet/ip.c | maclen = ((unsigned long) iph) - ((unsigned long) skb->data); |
skb | 702 | net/inet/ip.c | memcpy(qp->mac, skb->data, maclen); |
skb | 758 | net/inet/ip.c | struct sk_buff *skb; |
skb | 766 | net/inet/ip.c | if ((skb = alloc_skb(len,GFP_ATOMIC)) == NULL) |
skb | 774 | net/inet/ip.c | skb->len = (len - qp->maclen); |
skb | 775 | net/inet/ip.c | skb->h.raw = skb->data; |
skb | 776 | net/inet/ip.c | skb->free = 1; |
skb | 779 | net/inet/ip.c | ptr = (unsigned char *) skb->h.raw; |
skb | 786 | net/inet/ip.c | skb->h.raw += qp->maclen; |
skb | 795 | net/inet/ip.c | if(count+fp->len>skb->len) |
skb | 799 | net/inet/ip.c | kfree_skb(skb,FREE_WRITE); |
skb | 812 | net/inet/ip.c | iph = skb->h.iph; |
skb | 815 | net/inet/ip.c | skb->ip_hdr = iph; |
skb | 816 | net/inet/ip.c | return(skb); |
skb | 821 | net/inet/ip.c | static struct sk_buff *ip_defrag(struct iphdr *iph, struct sk_buff *skb, struct device *dev) |
skb | 841 | net/inet/ip.c | return(skb); |
skb | 857 | net/inet/ip.c | if ((qp = ip_create(skb, iph, dev)) == NULL) { |
skb | 858 | net/inet/ip.c | skb->sk = NULL; |
skb | 859 | net/inet/ip.c | kfree_skb(skb, FREE_READ); |
skb | 869 | net/inet/ip.c | ptr = skb->data + dev->hard_header_len + ihl; |
skb | 930 | net/inet/ip.c | kfree_skb(next->skb, FREE_READ); |
skb | 938 | net/inet/ip.c | tfp = ip_frag_create(offset, end, skb, ptr); |
skb | 940 | net/inet/ip.c | skb->sk = NULL; |
skb | 941 | net/inet/ip.c | kfree_skb(skb, FREE_READ); |
skb | 977 | net/inet/ip.c | void ip_fragment(struct sock *sk, struct sk_buff *skb, struct device *dev, int is_frag) |
skb | 987 | net/inet/ip.c | raw = skb->data; |
skb | 990 | net/inet/ip.c | skb->ip_hdr = iph; |
skb | 1012 | net/inet/ip.c | icmp_send(skb,ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, dev); |
skb | 1043 | net/inet/ip.c | skb2->arp = skb->arp; |
skb | 1044 | net/inet/ip.c | skb2->free = skb->free; |
skb | 1082 | net/inet/ip.c | ip_forward(struct sk_buff *skb, struct device *dev, int is_frag) |
skb | 1098 | net/inet/ip.c | if(memcmp((char *)&skb[1],dev->dev_addr,dev->addr_len)) |
skb | 1107 | net/inet/ip.c | iph = skb->h.iph; |
skb | 1115 | net/inet/ip.c | icmp_send(skb, ICMP_TIME_EXCEEDED, ICMP_EXC_TTL, dev); |
skb | 1131 | net/inet/ip.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_NET_UNREACH, dev); |
skb | 1150 | net/inet/ip.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_HOST_UNREACH, dev); |
skb | 1166 | net/inet/ip.c | in_ntoa(raddr), dev2->name, skb->len)); |
skb | 1170 | net/inet/ip.c | dev2->hard_header_len + skb->len, GFP_ATOMIC); |
skb | 1178 | net/inet/ip.c | skb2->len = skb->len + dev2->hard_header_len; |
skb | 1185 | net/inet/ip.c | memcpy(ptr + dev2->hard_header_len, skb->h.raw, skb->len); |
skb | 1188 | net/inet/ip.c | (void) ip_send(skb2, raddr, skb->len, dev2, dev2->pa_addr); |
skb | 1212 | net/inet/ip.c | ip_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt) |
skb | 1214 | net/inet/ip.c | struct iphdr *iph = skb->h.iph; |
skb | 1226 | net/inet/ip.c | skb->ip_hdr = iph; /* Fragments can cause ICMP errors too! */ |
skb | 1228 | net/inet/ip.c | if (skb->len<sizeof(struct iphdr) || iph->ihl<5 || iph->version != 4 || ip_fast_csum((unsigned char *)iph, iph->ihl) !=0) { |
skb | 1232 | net/inet/ip.c | skb->sk = NULL; |
skb | 1233 | net/inet/ip.c | kfree_skb(skb, FREE_WRITE); |
skb | 1253 | net/inet/ip.c | ip_forward(skb, dev, is_frag); |
skb | 1258 | net/inet/ip.c | skb->sk = NULL; |
skb | 1259 | net/inet/ip.c | kfree_skb(skb, FREE_WRITE); |
skb | 1270 | net/inet/ip.c | skb=ip_defrag(iph,skb,dev); |
skb | 1271 | net/inet/ip.c | if(skb==NULL) |
skb | 1275 | net/inet/ip.c | iph=skb->h.iph; |
skb | 1280 | net/inet/ip.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, dev); |
skb | 1281 | net/inet/ip.c | skb->sk = NULL; |
skb | 1282 | net/inet/ip.c | kfree_skb(skb, FREE_WRITE); |
skb | 1293 | net/inet/ip.c | skb->sk=NULL; |
skb | 1294 | net/inet/ip.c | kfree_skb(skb,FREE_WRITE); |
skb | 1300 | net/inet/ip.c | skb->ip_hdr = iph; |
skb | 1301 | net/inet/ip.c | skb->h.raw += iph->ihl*4; |
skb | 1319 | net/inet/ip.c | skb2 = alloc_skb(skb->mem_len, GFP_ATOMIC); |
skb | 1322 | net/inet/ip.c | memcpy(skb2, skb, skb->mem_len); |
skb | 1326 | net/inet/ip.c | (unsigned long) skb->ip_hdr - |
skb | 1327 | net/inet/ip.c | (unsigned long)skb); |
skb | 1330 | net/inet/ip.c | (unsigned long) skb->h.raw - |
skb | 1331 | net/inet/ip.c | (unsigned long)skb); |
skb | 1334 | net/inet/ip.c | skb2 = skb; |
skb | 1357 | net/inet/ip.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, dev); |
skb | 1358 | net/inet/ip.c | skb->sk = NULL; |
skb | 1359 | net/inet/ip.c | kfree_skb(skb, FREE_WRITE); |
skb | 1375 | net/inet/ip.c | struct sk_buff *skb, int free) |
skb | 1385 | net/inet/ip.c | IS_SKB(skb); |
skb | 1386 | net/inet/ip.c | skb->free = free; |
skb | 1387 | net/inet/ip.c | skb->dev = dev; |
skb | 1388 | net/inet/ip.c | skb->when = jiffies; |
skb | 1391 | net/inet/ip.c | ptr = skb->data; |
skb | 1394 | net/inet/ip.c | skb->ip_hdr = iph; |
skb | 1395 | net/inet/ip.c | iph->tot_len = ntohs(skb->len-dev->hard_header_len); |
skb | 1397 | net/inet/ip.c | if(skb->len > dev->mtu) |
skb | 1400 | net/inet/ip.c | ip_fragment(sk,skb,dev,0); |
skb | 1401 | net/inet/ip.c | IS_SKB(skb); |
skb | 1402 | net/inet/ip.c | kfree_skb(skb,FREE_WRITE); |
skb | 1408 | net/inet/ip.c | skb->next = NULL; |
skb | 1411 | net/inet/ip.c | skb->magic = 1; |
skb | 1413 | net/inet/ip.c | skb->link3 = NULL; |
skb | 1417 | net/inet/ip.c | sk->send_tail = skb; |
skb | 1418 | net/inet/ip.c | sk->send_head = skb; |
skb | 1425 | net/inet/ip.c | sk->send_tail->link3 = skb; |
skb | 1426 | net/inet/ip.c | sk->send_tail = skb; |
skb | 1432 | net/inet/ip.c | skb->sk = sk; |
skb | 1438 | net/inet/ip.c | dev->queue_xmit(skb, dev, sk->priority); |
skb | 1441 | net/inet/ip.c | dev->queue_xmit(skb, dev, SOPRI_NORMAL); |
skb | 1444 | net/inet/ip.c | if (free) kfree_skb(skb, FREE_WRITE); |
skb | 1452 | net/inet/ip.c | struct sk_buff * skb; |
skb | 1458 | net/inet/ip.c | skb = sk->send_head; |
skb | 1460 | net/inet/ip.c | while (skb != NULL) { |
skb | 1461 | net/inet/ip.c | dev = skb->dev; |
skb | 1469 | net/inet/ip.c | IS_SKB(skb); |
skb | 1479 | net/inet/ip.c | if (!skb->arp) { |
skb | 1480 | net/inet/ip.c | if (dev->rebuild_header(skb->data, dev)) { |
skb | 1483 | net/inet/ip.c | skb = (struct sk_buff *)skb->link3; |
skb | 1487 | net/inet/ip.c | skb->arp = 1; |
skb | 1489 | net/inet/ip.c | skb->when = jiffies; |
skb | 1493 | net/inet/ip.c | if (sk && !skb_device_locked(skb)) |
skb | 1494 | net/inet/ip.c | dev->queue_xmit(skb, dev, sk->priority); |
skb | 1504 | net/inet/ip.c | skb = (struct sk_buff *)skb->link3; |
skb | 41 | net/inet/ip.h | struct sk_buff *skb; /* complete received fragment */ |
skb | 68 | net/inet/ip.h | extern int ip_build_header(struct sk_buff *skb, |
skb | 75 | net/inet/ip.h | extern int ip_rcv(struct sk_buff *skb, struct device *dev, |
skb | 78 | net/inet/ip.h | struct device *dev, struct sk_buff *skb, |
skb | 47 | net/inet/loopback.c | loopback_xmit(struct sk_buff *skb, struct device *dev) |
skb | 52 | net/inet/loopback.c | DPRINTF((DBG_LOOPB, "loopback_xmit(dev=%X, skb=%X)\n", dev, skb)); |
skb | 53 | net/inet/loopback.c | if (skb == NULL || dev == NULL) return(0); |
skb | 64 | net/inet/loopback.c | done = dev_rint(skb->data, skb->len, 0, dev); |
skb | 65 | net/inet/loopback.c | if (skb->free) kfree_skb(skb, FREE_WRITE); |
skb | 59 | net/inet/packet.c | packet_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt) |
skb | 64 | net/inet/packet.c | skb->dev = dev; |
skb | 65 | net/inet/packet.c | skb->len += dev->hard_header_len; |
skb | 67 | net/inet/packet.c | skb->sk = sk; |
skb | 70 | net/inet/packet.c | if (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) { |
skb | 71 | net/inet/packet.c | skb->sk = NULL; |
skb | 72 | net/inet/packet.c | kfree_skb(skb, FREE_READ); |
skb | 75 | net/inet/packet.c | sk->rmem_alloc += skb->mem_len; |
skb | 76 | net/inet/packet.c | skb_queue_tail(&sk->rqueue,skb); |
skb | 89 | net/inet/packet.c | struct sk_buff *skb; |
skb | 122 | net/inet/packet.c | skb = sk->prot->wmalloc(sk, len+sizeof(*skb), 0, GFP_KERNEL); |
skb | 125 | net/inet/packet.c | if (skb == NULL) { |
skb | 130 | net/inet/packet.c | skb->mem_addr = skb; |
skb | 131 | net/inet/packet.c | skb->mem_len = len + sizeof(*skb); |
skb | 132 | net/inet/packet.c | skb->sk = sk; |
skb | 133 | net/inet/packet.c | skb->free = 1; |
skb | 134 | net/inet/packet.c | memcpy_fromfs(skb->data, from, len); |
skb | 135 | net/inet/packet.c | skb->len = len; |
skb | 136 | net/inet/packet.c | skb->next = NULL; |
skb | 137 | net/inet/packet.c | skb->arp = 1; |
skb | 138 | net/inet/packet.c | if (dev->flags & IFF_UP) dev->queue_xmit(skb, dev, sk->priority); |
skb | 139 | net/inet/packet.c | else kfree_skb(skb, FREE_WRITE); |
skb | 194 | net/inet/packet.c | struct sk_buff *skb; |
skb | 213 | net/inet/packet.c | skb=skb_recv_datagram(sk,flags,noblock,&err); |
skb | 214 | net/inet/packet.c | if(skb==NULL) |
skb | 216 | net/inet/packet.c | copied = min(len, skb->len); |
skb | 218 | net/inet/packet.c | memcpy_tofs(to, skb->data, copied); /* Don't use skb_copy_datagram here: We can't get frag chains */ |
skb | 224 | net/inet/packet.c | addr.sa_family = skb->dev->type; |
skb | 225 | net/inet/packet.c | memcpy(addr.sa_data,skb->dev->name, 14); |
skb | 230 | net/inet/packet.c | skb_free_datagram(skb); /* Its either been used up, or its a peek_copy anyway */ |
skb | 31 | net/inet/protocol.h | int (*handler)(struct sk_buff *skb, struct device *dev, |
skb | 35 | net/inet/protocol.h | int (*frag_handler)(struct sk_buff *skb, struct device *dev, |
skb | 94 | net/inet/raw.c | raw_rcv(struct sk_buff *skb, struct device *dev, struct options *opt, |
skb | 102 | net/inet/raw.c | skb, dev, opt, daddr, len, saddr, redo, protocol)); |
skb | 104 | net/inet/raw.c | if (skb == NULL) return(0); |
skb | 106 | net/inet/raw.c | kfree_skb(skb, FREE_READ); |
skb | 111 | net/inet/raw.c | kfree_skb(skb, FREE_READ); |
skb | 116 | net/inet/raw.c | skb->sk = sk; |
skb | 117 | net/inet/raw.c | skb->len = len + skb->ip_hdr->ihl*sizeof(long); |
skb | 118 | net/inet/raw.c | skb->h.raw = (unsigned char *) skb->ip_hdr; |
skb | 119 | net/inet/raw.c | skb->dev = dev; |
skb | 120 | net/inet/raw.c | skb->saddr = daddr; |
skb | 121 | net/inet/raw.c | skb->daddr = saddr; |
skb | 124 | net/inet/raw.c | if (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) { |
skb | 125 | net/inet/raw.c | skb->sk = NULL; |
skb | 126 | net/inet/raw.c | kfree_skb(skb, FREE_READ); |
skb | 129 | net/inet/raw.c | sk->rmem_alloc += skb->mem_len; |
skb | 130 | net/inet/raw.c | skb_queue_tail(&sk->rqueue,skb); |
skb | 131 | net/inet/raw.c | sk->data_ready(sk,skb->len); |
skb | 143 | net/inet/raw.c | struct sk_buff *skb; |
skb | 180 | net/inet/raw.c | skb = NULL; |
skb | 181 | net/inet/raw.c | while (skb == NULL) { |
skb | 190 | net/inet/raw.c | skb = sk->prot->wmalloc(sk, |
skb | 191 | net/inet/raw.c | len+sizeof(*skb) + sk->prot->max_header, |
skb | 193 | net/inet/raw.c | if (skb == NULL) { |
skb | 213 | net/inet/raw.c | skb->mem_addr = skb; |
skb | 214 | net/inet/raw.c | skb->mem_len = len + sizeof(*skb) +sk->prot->max_header; |
skb | 215 | net/inet/raw.c | skb->sk = sk; |
skb | 217 | net/inet/raw.c | skb->free = 1; /* these two should be unecessary. */ |
skb | 218 | net/inet/raw.c | skb->arp = 0; |
skb | 220 | net/inet/raw.c | tmp = sk->prot->build_header(skb, sk->saddr, |
skb | 222 | net/inet/raw.c | sk->protocol, sk->opt, skb->mem_len, sk->ip_tos,sk->ip_ttl); |
skb | 225 | net/inet/raw.c | kfree_skb(skb,FREE_WRITE); |
skb | 231 | net/inet/raw.c | memcpy_fromfs(skb->data + tmp, from, len); |
skb | 240 | net/inet/raw.c | buff = skb->data; |
skb | 246 | net/inet/raw.c | skb->len = tmp + len; |
skb | 248 | net/inet/raw.c | if(dev!=NULL && skb->len > 4095) |
skb | 250 | net/inet/raw.c | kfree_skb(skb, FREE_WRITE); |
skb | 255 | net/inet/raw.c | sk->prot->queue_xmit(sk, dev, skb, 1); |
skb | 321 | net/inet/raw.c | struct sk_buff *skb; |
skb | 349 | net/inet/raw.c | skb=skb_recv_datagram(sk,flags,noblock,&err); |
skb | 350 | net/inet/raw.c | if(skb==NULL) |
skb | 353 | net/inet/raw.c | copied = min(len, skb->len); |
skb | 355 | net/inet/raw.c | skb_copy_datagram(skb, 0, to, copied); |
skb | 362 | net/inet/raw.c | addr.sin_addr.s_addr = skb->daddr; |
skb | 366 | net/inet/raw.c | skb_free_datagram(skb); |
skb | 26 | net/inet/raw.h | extern int raw_rcv(struct sk_buff *skb, struct device *dev, |
skb | 57 | net/inet/skbuff.c | void skb_check(struct sk_buff *skb, int line, char *file) |
skb | 59 | net/inet/skbuff.c | if(skb->magic_debug_cookie==SK_FREED_SKB) |
skb | 64 | net/inet/skbuff.c | skb,skb->truesize,skb->mem_len,skb->magic,skb->list,skb->free); |
skb | 66 | net/inet/skbuff.c | if(skb->magic_debug_cookie!=SK_GOOD_SKB) |
skb | 70 | net/inet/skbuff.c | skb,skb->truesize,skb->mem_len,skb->magic,skb->list,skb->free); |
skb | 72 | net/inet/skbuff.c | if(skb->mem_len!=skb->truesize) |
skb | 76 | net/inet/skbuff.c | skb,skb->truesize,skb->mem_len,skb->magic,skb->list); |
skb | 247 | net/inet/skbuff.c | void skb_unlink(struct sk_buff *skb) |
skb | 253 | net/inet/skbuff.c | IS_SKB(skb); |
skb | 255 | net/inet/skbuff.c | if(skb->list) |
skb | 257 | net/inet/skbuff.c | skb->next->prev=skb->prev; |
skb | 258 | net/inet/skbuff.c | skb->prev->next=skb->next; |
skb | 259 | net/inet/skbuff.c | if(*skb->list==skb) |
skb | 261 | net/inet/skbuff.c | if(skb->next==skb) |
skb | 262 | net/inet/skbuff.c | *skb->list=NULL; |
skb | 264 | net/inet/skbuff.c | *skb->list=skb->next; |
skb | 266 | net/inet/skbuff.c | skb->next=0; |
skb | 267 | net/inet/skbuff.c | skb->prev=0; |
skb | 268 | net/inet/skbuff.c | skb->list=0; |
skb | 281 | net/inet/skbuff.c | struct sk_buff *skb=skb_peek(list); |
skb | 282 | net/inet/skbuff.c | if(skb!=NULL) |
skb | 286 | net/inet/skbuff.c | IS_SKB(skb); |
skb | 287 | net/inet/skbuff.c | skb->list=list; |
skb | 288 | net/inet/skbuff.c | skb=skb->next; |
skb | 290 | net/inet/skbuff.c | while(skb!=*list); |
skb | 377 | net/inet/skbuff.c | void kfree_skb(struct sk_buff *skb, int rw) |
skb | 379 | net/inet/skbuff.c | if (skb == NULL) { |
skb | 383 | net/inet/skbuff.c | IS_SKB(skb); |
skb | 384 | net/inet/skbuff.c | if(skb->lock) |
skb | 386 | net/inet/skbuff.c | skb->free=1; /* Free when unlocked */ |
skb | 390 | net/inet/skbuff.c | if(skb->free == 2) |
skb | 392 | net/inet/skbuff.c | if(skb->list) |
skb | 394 | net/inet/skbuff.c | skb->magic = 0; |
skb | 395 | net/inet/skbuff.c | if (skb->sk) |
skb | 397 | net/inet/skbuff.c | if(skb->sk->prot!=NULL) |
skb | 400 | net/inet/skbuff.c | skb->sk->prot->rfree(skb->sk, skb->mem_addr, skb->mem_len); |
skb | 402 | net/inet/skbuff.c | skb->sk->prot->wfree(skb->sk, skb->mem_addr, skb->mem_len); |
skb | 409 | net/inet/skbuff.c | skb->sk->rmem_alloc-=skb->mem_len; |
skb | 411 | net/inet/skbuff.c | skb->sk->wmem_alloc-=skb->mem_len; |
skb | 412 | net/inet/skbuff.c | if(!skb->sk->dead) |
skb | 413 | net/inet/skbuff.c | wake_up_interruptible(skb->sk->sleep); |
skb | 414 | net/inet/skbuff.c | kfree_skbmem(skb->mem_addr,skb->mem_len); |
skb | 418 | net/inet/skbuff.c | kfree_skbmem(skb->mem_addr, skb->mem_len); |
skb | 428 | net/inet/skbuff.c | struct sk_buff *skb; |
skb | 439 | net/inet/skbuff.c | skb=(struct sk_buff *)kmalloc(size,priority); |
skb | 440 | net/inet/skbuff.c | if(skb==NULL) |
skb | 442 | net/inet/skbuff.c | skb->free= 2; /* Invalid so we pick up forgetful users */ |
skb | 443 | net/inet/skbuff.c | skb->list= 0; /* Not on a list */ |
skb | 444 | net/inet/skbuff.c | skb->lock= 0; |
skb | 445 | net/inet/skbuff.c | skb->truesize=size; |
skb | 446 | net/inet/skbuff.c | skb->mem_len=size; |
skb | 447 | net/inet/skbuff.c | skb->mem_addr=skb; |
skb | 448 | net/inet/skbuff.c | skb->fraglist=NULL; |
skb | 451 | net/inet/skbuff.c | skb->magic_debug_cookie=SK_GOOD_SKB; |
skb | 452 | net/inet/skbuff.c | skb->users=0; |
skb | 453 | net/inet/skbuff.c | return skb; |
skb | 477 | net/inet/skbuff.c | void skb_kept_by_device(struct sk_buff *skb) |
skb | 479 | net/inet/skbuff.c | skb->lock++; |
skb | 482 | net/inet/skbuff.c | void skb_device_release(struct sk_buff *skb, int mode) |
skb | 488 | net/inet/skbuff.c | if (!--skb->lock) { |
skb | 489 | net/inet/skbuff.c | if (skb->free==1) |
skb | 490 | net/inet/skbuff.c | kfree_skb(skb,mode); |
skb | 495 | net/inet/skbuff.c | int skb_device_locked(struct sk_buff *skb) |
skb | 497 | net/inet/skbuff.c | if(skb->lock) |
skb | 89 | net/inet/skbuff.h | extern void kfree_skb(struct sk_buff *skb, int rw); |
skb | 101 | net/inet/skbuff.h | extern void skb_kept_by_device(struct sk_buff *skb); |
skb | 102 | net/inet/skbuff.h | extern void skb_device_release(struct sk_buff *skb, int mode); |
skb | 103 | net/inet/skbuff.h | extern int skb_device_locked(struct sk_buff *skb); |
skb | 104 | net/inet/skbuff.h | extern void skb_check(struct sk_buff *skb,int, char *); |
skb | 105 | net/inet/skbuff.h | #define IS_SKB(skb) skb_check((skb),__LINE__,__FILE__) |
skb | 110 | net/inet/skbuff.h | extern void skb_free_datagram(struct sk_buff *skb); |
skb | 138 | net/inet/sock.c | print_skb(struct sk_buff *skb) |
skb | 140 | net/inet/sock.c | if (!skb) { |
skb | 144 | net/inet/sock.c | printk(" prev = %p, next = %p\n", skb->prev, skb->next); |
skb | 145 | net/inet/sock.c | printk(" sk = %p link3 = %p\n", skb->sk, skb->link3); |
skb | 146 | net/inet/sock.c | printk(" mem_addr = %p, mem_len = %lu\n", skb->mem_addr, skb->mem_len); |
skb | 147 | net/inet/sock.c | printk(" used = %d free = %d\n", skb->used,skb->free); |
skb | 312 | net/inet/sock.c | struct sk_buff *skb; |
skb | 327 | net/inet/sock.c | while ((skb = tcp_dequeue_partial(sk)) != NULL) |
skb | 329 | net/inet/sock.c | IS_SKB(skb); |
skb | 330 | net/inet/sock.c | kfree_skb(skb, FREE_WRITE); |
skb | 334 | net/inet/sock.c | for(skb = sk->wfront; skb != NULL; ) |
skb | 338 | net/inet/sock.c | skb2=(struct sk_buff *)skb->next; |
skb | 339 | net/inet/sock.c | if (skb->magic != TCP_WRITE_QUEUE_MAGIC) { |
skb | 341 | net/inet/sock.c | skb->magic); |
skb | 344 | net/inet/sock.c | IS_SKB(skb); |
skb | 345 | net/inet/sock.c | kfree_skb(skb, FREE_WRITE); |
skb | 346 | net/inet/sock.c | skb = skb2; |
skb | 354 | net/inet/sock.c | while((skb=skb_dequeue(&sk->rqueue))!=NULL) |
skb | 360 | net/inet/sock.c | if (skb->sk != NULL && skb->sk != sk) |
skb | 362 | net/inet/sock.c | IS_SKB(skb); |
skb | 363 | net/inet/sock.c | skb->sk->dead = 1; |
skb | 364 | net/inet/sock.c | skb->sk->prot->close(skb->sk, 0); |
skb | 366 | net/inet/sock.c | IS_SKB(skb); |
skb | 367 | net/inet/sock.c | kfree_skb(skb, FREE_READ); |
skb | 373 | net/inet/sock.c | for(skb = sk->send_head; skb != NULL; ) |
skb | 385 | net/inet/sock.c | if (skb->next != NULL) |
skb | 387 | net/inet/sock.c | IS_SKB(skb); |
skb | 388 | net/inet/sock.c | skb_unlink(skb); |
skb | 390 | net/inet/sock.c | skb->dev = NULL; |
skb | 392 | net/inet/sock.c | skb2 = (struct sk_buff *)skb->link3; |
skb | 393 | net/inet/sock.c | kfree_skb(skb, FREE_WRITE); |
skb | 394 | net/inet/sock.c | skb = skb2; |
skb | 404 | net/inet/sock.c | skb = (struct sk_buff *)sk->back_log; |
skb | 409 | net/inet/sock.c | skb2 = (struct sk_buff *)skb->next; |
skb | 410 | net/inet/sock.c | kfree_skb(skb, FREE_READ); |
skb | 411 | net/inet/sock.c | skb = skb2; |
skb | 413 | net/inet/sock.c | while(skb != sk->back_log); |
skb | 1747 | net/inet/sock.c | struct sk_buff *skb; |
skb | 1750 | net/inet/sock.c | skb =(struct sk_buff *)sk->back_log; |
skb | 1751 | net/inet/sock.c | DPRINTF((DBG_INET, "release_sock: skb = %X:\n", skb)); |
skb | 1752 | net/inet/sock.c | if (skb->next != skb) { |
skb | 1753 | net/inet/sock.c | sk->back_log = skb->next; |
skb | 1754 | net/inet/sock.c | skb->prev->next = skb->next; |
skb | 1755 | net/inet/sock.c | skb->next->prev = skb->prev; |
skb | 1761 | net/inet/sock.c | if (sk->prot->rcv) sk->prot->rcv(skb, skb->dev, sk->opt, |
skb | 1762 | net/inet/sock.c | skb->saddr, skb->len, skb->daddr, 1, |
skb | 199 | net/inet/sock.h | int (*build_header)(struct sk_buff *skb, |
skb | 208 | net/inet/sock.h | struct device *dev, struct sk_buff *skb, |
skb | 313 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 334 | net/inet/tcp.c | skb =(struct sk_buff *)sk->rqueue; |
skb | 348 | net/inet/tcp.c | if (before(counted, skb->h.th->seq)) /* Found a hole so stops here */ |
skb | 350 | net/inet/tcp.c | sum = skb->len -(counted - skb->h.th->seq); /* Length - header but start from where we are up to (avoid overlaps) */ |
skb | 351 | net/inet/tcp.c | if (skb->h.th->syn) |
skb | 355 | net/inet/tcp.c | if (skb->h.th->syn) amount--; |
skb | 358 | net/inet/tcp.c | if (amount && skb->h.th->psh) break; |
skb | 359 | net/inet/tcp.c | skb =(struct sk_buff *)skb->next; /* Move along */ |
skb | 360 | net/inet/tcp.c | } while(skb != sk->rqueue); |
skb | 596 | net/inet/tcp.c | static void tcp_send_skb(struct sock *sk, struct sk_buff *skb) |
skb | 599 | net/inet/tcp.c | struct tcphdr * th = skb->h.th; |
skb | 602 | net/inet/tcp.c | size = skb->len - ((unsigned char *) th - skb->data); |
skb | 605 | net/inet/tcp.c | if (size < sizeof(struct tcphdr) || size > skb->len) { |
skb | 607 | net/inet/tcp.c | skb, skb->data, th, skb->len); |
skb | 608 | net/inet/tcp.c | kfree_skb(skb, FREE_WRITE); |
skb | 617 | net/inet/tcp.c | kfree_skb(skb,FREE_WRITE); |
skb | 625 | net/inet/tcp.c | skb->h.seq = ntohl(th->seq) + size - 4*th->doff; |
skb | 626 | net/inet/tcp.c | if (after(skb->h.seq, sk->window_seq) || |
skb | 633 | net/inet/tcp.c | skb->next = NULL; |
skb | 634 | net/inet/tcp.c | skb->magic = TCP_WRITE_QUEUE_MAGIC; |
skb | 636 | net/inet/tcp.c | sk->wfront = skb; |
skb | 638 | net/inet/tcp.c | sk->wback->next = skb; |
skb | 640 | net/inet/tcp.c | sk->wback = skb; |
skb | 647 | net/inet/tcp.c | sk->prot->queue_xmit(sk, skb->dev, skb, 0); |
skb | 653 | net/inet/tcp.c | struct sk_buff * skb; |
skb | 658 | net/inet/tcp.c | skb = sk->partial; |
skb | 659 | net/inet/tcp.c | if (skb) { |
skb | 664 | net/inet/tcp.c | return skb; |
skb | 669 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 673 | net/inet/tcp.c | while ((skb = tcp_dequeue_partial(sk)) != NULL) |
skb | 674 | net/inet/tcp.c | tcp_send_skb(sk, skb); |
skb | 677 | net/inet/tcp.c | void tcp_enqueue_partial(struct sk_buff * skb, struct sock * sk) |
skb | 687 | net/inet/tcp.c | sk->partial = skb; |
skb | 815 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 909 | net/inet/tcp.c | if ((skb = tcp_dequeue_partial(sk)) != NULL) { |
skb | 913 | net/inet/tcp.c | hdrlen = ((unsigned long)skb->h.th - (unsigned long)skb->data) |
skb | 918 | net/inet/tcp.c | copy = min(sk->mss - (skb->len - hdrlen), len); |
skb | 925 | net/inet/tcp.c | memcpy_fromfs(skb->data + skb->len, from, copy); |
skb | 926 | net/inet/tcp.c | skb->len += copy; |
skb | 932 | net/inet/tcp.c | if ((skb->len - hdrlen) >= sk->mss || |
skb | 935 | net/inet/tcp.c | tcp_send_skb(sk, skb); |
skb | 937 | net/inet/tcp.c | tcp_enqueue_partial(skb, sk); |
skb | 966 | net/inet/tcp.c | skb = prot->wmalloc(sk, sk->mtu + 128 + prot->max_header + sizeof(*skb), 0, GFP_KERNEL); |
skb | 968 | net/inet/tcp.c | send_tmp = skb; |
skb | 972 | net/inet/tcp.c | skb = prot->wmalloc(sk, copy + prot->max_header + sizeof(*skb), 0, GFP_KERNEL); |
skb | 977 | net/inet/tcp.c | if (skb == NULL) { |
skb | 1006 | net/inet/tcp.c | skb->len = 0; |
skb | 1007 | net/inet/tcp.c | skb->sk = sk; |
skb | 1008 | net/inet/tcp.c | skb->free = 0; |
skb | 1010 | net/inet/tcp.c | buff = skb->data; |
skb | 1016 | net/inet/tcp.c | tmp = prot->build_header(skb, sk->saddr, sk->daddr, &dev, |
skb | 1017 | net/inet/tcp.c | IPPROTO_TCP, sk->opt, skb->mem_len,sk->ip_tos,sk->ip_ttl); |
skb | 1019 | net/inet/tcp.c | prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 1025 | net/inet/tcp.c | skb->len += tmp; |
skb | 1026 | net/inet/tcp.c | skb->dev = dev; |
skb | 1028 | net/inet/tcp.c | skb->h.th =(struct tcphdr *) buff; |
skb | 1031 | net/inet/tcp.c | prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 1042 | net/inet/tcp.c | skb->len += tmp; |
skb | 1048 | net/inet/tcp.c | skb->len += copy; |
skb | 1049 | net/inet/tcp.c | skb->free = 0; |
skb | 1056 | net/inet/tcp.c | tcp_send_skb(sk, skb); |
skb | 1173 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 1187 | net/inet/tcp.c | while((skb=skb_peek(&sk->rqueue)) != NULL ) |
skb | 1189 | net/inet/tcp.c | if (!skb->used) |
skb | 1191 | net/inet/tcp.c | skb_unlink(skb); |
skb | 1192 | net/inet/tcp.c | skb->sk = sk; |
skb | 1193 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1338 | net/inet/tcp.c | struct sk_buff * skb; |
skb | 1349 | net/inet/tcp.c | skb = sk->rqueue; |
skb | 1351 | net/inet/tcp.c | if (!skb) |
skb | 1353 | net/inet/tcp.c | if (before(1+*seq, skb->h.th->seq)) |
skb | 1355 | net/inet/tcp.c | offset = 1 + *seq - skb->h.th->seq; |
skb | 1356 | net/inet/tcp.c | if (skb->h.th->syn) |
skb | 1358 | net/inet/tcp.c | if (offset < skb->len) |
skb | 1361 | net/inet/tcp.c | skb->used = 1; |
skb | 1362 | net/inet/tcp.c | skb = (struct sk_buff *)skb->next; |
skb | 1363 | net/inet/tcp.c | } while (skb != sk->rqueue); |
skb | 1406 | net/inet/tcp.c | used = skb->len - offset; |
skb | 1424 | net/inet/tcp.c | memcpy_tofs(to,((unsigned char *)skb->h.th) + |
skb | 1425 | net/inet/tcp.c | skb->h.th->doff*4 + offset, used); |
skb | 1432 | net/inet/tcp.c | if (!(flags & MSG_PEEK) && (used + offset >= skb->len)) |
skb | 1433 | net/inet/tcp.c | skb->used = 1; |
skb | 1722 | net/inet/tcp.c | tcp_conn_request(struct sock *sk, struct sk_buff *skb, |
skb | 1735 | net/inet/tcp.c | sk, skb, daddr, saddr, opt, dev)); |
skb | 1737 | net/inet/tcp.c | th = skb->h.th; |
skb | 1745 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1754 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1768 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1802 | net/inet/tcp.c | newsk->acked_seq = skb->h.th->seq+1; |
skb | 1803 | net/inet/tcp.c | newsk->fin_seq = skb->h.th->seq; |
skb | 1804 | net/inet/tcp.c | newsk->copied_seq = skb->h.th->seq; |
skb | 1815 | net/inet/tcp.c | newsk->dummy_th.source = skb->h.th->dest; |
skb | 1816 | net/inet/tcp.c | newsk->dummy_th.dest = skb->h.th->source; |
skb | 1832 | net/inet/tcp.c | newsk->acked_seq = skb->h.th->seq + 1; |
skb | 1833 | net/inet/tcp.c | newsk->copied_seq = skb->h.th->seq; |
skb | 1837 | net/inet/tcp.c | newsk->ip_tos=skb->ip_hdr->tos; |
skb | 1857 | net/inet/tcp.c | tcp_options(newsk,skb->h.th); |
skb | 1864 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1886 | net/inet/tcp.c | skb->sk = sk; |
skb | 1887 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1894 | net/inet/tcp.c | memcpy(t1, skb->h.th, sizeof(*t1)); |
skb | 1898 | net/inet/tcp.c | t1->dest = skb->h.th->source; |
skb | 1911 | net/inet/tcp.c | t1->ack_seq = ntohl(skb->h.th->seq+1); |
skb | 1924 | net/inet/tcp.c | skb->sk = newsk; |
skb | 1927 | net/inet/tcp.c | sk->rmem_alloc -= skb->mem_len; |
skb | 1928 | net/inet/tcp.c | newsk->rmem_alloc += skb->mem_len; |
skb | 1930 | net/inet/tcp.c | skb_queue_tail(&sk->rqueue,skb); |
skb | 1961 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 1964 | net/inet/tcp.c | while((skb=skb_dequeue(&sk->rqueue))!=NULL) |
skb | 1966 | net/inet/tcp.c | if(skb->len > 0 && after(skb->h.th->seq + skb->len + 1 , sk->copied_seq)) |
skb | 1968 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2098 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 2113 | net/inet/tcp.c | skb = sk->wfront; |
skb | 2114 | net/inet/tcp.c | IS_SKB(skb); |
skb | 2115 | net/inet/tcp.c | sk->wfront = skb->next; |
skb | 2117 | net/inet/tcp.c | skb->next = NULL; |
skb | 2118 | net/inet/tcp.c | if (skb->magic != TCP_WRITE_QUEUE_MAGIC) { |
skb | 2120 | net/inet/tcp.c | "queue\n", skb->magic); |
skb | 2125 | net/inet/tcp.c | skb->magic = 0; |
skb | 2129 | net/inet/tcp.c | if (before(skb->h.seq, sk->rcv_ack_seq +1)) { |
skb | 2131 | net/inet/tcp.c | kfree_skb(skb, FREE_WRITE); |
skb | 2134 | net/inet/tcp.c | sk->sent_seq = skb->h.seq; |
skb | 2135 | net/inet/tcp.c | sk->prot->queue_xmit(sk, skb->dev, skb, skb->free); |
skb | 2149 | net/inet/tcp.c | struct sk_buff *skb,*skb2,*skb3; |
skb | 2151 | net/inet/tcp.c | for (skb = sk->send_head; skb != NULL; skb = skb2) { |
skb | 2152 | net/inet/tcp.c | skb2 = (struct sk_buff *)skb->link3; |
skb | 2154 | net/inet/tcp.c | skb->link3 = list; |
skb | 2155 | net/inet/tcp.c | sk->send_tail = skb; |
skb | 2156 | net/inet/tcp.c | list = skb; |
skb | 2160 | net/inet/tcp.c | before(skb->h.seq, skb3->link3->h.seq)) { |
skb | 2161 | net/inet/tcp.c | skb->link3 = skb3->link3; |
skb | 2162 | net/inet/tcp.c | skb3->link3 = skb; |
skb | 2163 | net/inet/tcp.c | if (skb->link3 == NULL) sk->send_tail = skb; |
skb | 2225 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 2238 | net/inet/tcp.c | skb = skb2; |
skb | 2239 | net/inet/tcp.c | skb2 = (struct sk_buff *)skb->link3; |
skb | 2240 | net/inet/tcp.c | skb->link3 = NULL; |
skb | 2241 | net/inet/tcp.c | if (after(skb->h.seq, sk->window_seq)) { |
skb | 2244 | net/inet/tcp.c | if (skb->next != NULL) { |
skb | 2245 | net/inet/tcp.c | skb_unlink(skb); |
skb | 2248 | net/inet/tcp.c | skb->magic = TCP_WRITE_QUEUE_MAGIC; |
skb | 2250 | net/inet/tcp.c | skb->next = sk->wfront; |
skb | 2251 | net/inet/tcp.c | sk->wfront = skb; |
skb | 2253 | net/inet/tcp.c | skb->next = wskb->next; |
skb | 2254 | net/inet/tcp.c | wskb->next = skb; |
skb | 2256 | net/inet/tcp.c | if (sk->wback == wskb) sk->wback = skb; |
skb | 2257 | net/inet/tcp.c | wskb = skb; |
skb | 2260 | net/inet/tcp.c | sk->send_head = skb; |
skb | 2261 | net/inet/tcp.c | sk->send_tail = skb; |
skb | 2263 | net/inet/tcp.c | sk->send_tail->link3 = skb; |
skb | 2264 | net/inet/tcp.c | sk->send_tail = skb; |
skb | 2266 | net/inet/tcp.c | skb->link3 = NULL; |
skb | 2550 | net/inet/tcp.c | tcp_data(struct sk_buff *skb, struct sock *sk, |
skb | 2557 | net/inet/tcp.c | th = skb->h.th; |
skb | 2559 | net/inet/tcp.c | skb->len = len -(th->doff*4); |
skb | 2561 | net/inet/tcp.c | DPRINTF((DBG_TCP, "tcp_data len = %d sk = %X:\n", skb->len, sk)); |
skb | 2563 | net/inet/tcp.c | sk->bytes_rcv += skb->len; |
skb | 2564 | net/inet/tcp.c | if (skb->len == 0 && !th->fin && !th->urg && !th->psh) { |
skb | 2567 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2572 | net/inet/tcp.c | sk->acked_seq = th->seq + skb->len + th->syn + th->fin; |
skb | 2573 | net/inet/tcp.c | tcp_reset(sk->saddr, sk->daddr, skb->h.th, |
skb | 2574 | net/inet/tcp.c | sk->prot, NULL, skb->dev, sk->ip_tos, sk->ip_ttl); |
skb | 2579 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2594 | net/inet/tcp.c | DPRINTF((DBG_TCP, "tcp_data: skb = %X:\n", skb)); |
skb | 2596 | net/inet/tcp.c | sk->rqueue = skb; |
skb | 2597 | net/inet/tcp.c | skb->next = skb; |
skb | 2598 | net/inet/tcp.c | skb->prev = skb; |
skb | 2599 | net/inet/tcp.c | skb->list = &sk->rqueue; |
skb | 2601 | net/inet/tcp.c | skb_queue_head(&sk->rqueue,skb); |
skb | 2611 | net/inet/tcp.c | printk("skb->h.th->seq = %ld\n",skb->h.th->seq); |
skb | 2617 | net/inet/tcp.c | skb->prev = skb1; |
skb | 2618 | net/inet/tcp.c | skb->next = skb1->next; |
skb | 2619 | net/inet/tcp.c | skb->next->prev = skb; |
skb | 2620 | net/inet/tcp.c | skb1->next = skb; |
skb | 2621 | net/inet/tcp.c | if (skb1 == sk->rqueue) sk->rqueue = skb; |
skb | 2625 | net/inet/tcp.c | skb->next= skb1; |
skb | 2626 | net/inet/tcp.c | skb->prev = skb1->prev; |
skb | 2627 | net/inet/tcp.c | skb->prev->next = skb; |
skb | 2628 | net/inet/tcp.c | skb1->prev = skb; |
skb | 2634 | net/inet/tcp.c | if (th->seq==skb1->h.th->seq && skb->len>= skb1->len) |
skb | 2636 | net/inet/tcp.c | skb_append(skb1,skb); |
skb | 2645 | net/inet/tcp.c | skb_append(skb1,skb); |
skb | 2650 | net/inet/tcp.c | skb_queue_head(&sk->rqueue, skb); |
skb | 2655 | net/inet/tcp.c | DPRINTF((DBG_TCP, "skb = %X:\n", skb)); |
skb | 2658 | net/inet/tcp.c | th->ack_seq = th->seq + skb->len; |
skb | 2680 | net/inet/tcp.c | skb->acked = 1; |
skb | 2683 | net/inet/tcp.c | if (skb->h.th->fin) { |
skb | 2688 | net/inet/tcp.c | for(skb2 = (struct sk_buff *)skb->next; |
skb | 2740 | net/inet/tcp.c | if (!skb->acked) { |
skb | 2908 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 2925 | net/inet/tcp.c | while((skb = get_firstr(sk)) == NULL) { |
skb | 2945 | net/inet/tcp.c | newsk = skb->sk; |
skb | 2947 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3132 | net/inet/tcp.c | tcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt, |
skb | 3139 | net/inet/tcp.c | if (!skb) { |
skb | 3157 | net/inet/tcp.c | th = skb->h.th; |
skb | 3162 | net/inet/tcp.c | DPRINTF((DBG_TCP, "len = %d, redo = %d, skb=%X\n", len, redo, skb)); |
skb | 3175 | net/inet/tcp.c | skb->sk = NULL; |
skb | 3178 | net/inet/tcp.c | kfree_skb(skb,FREE_READ); |
skb | 3191 | net/inet/tcp.c | tcp_reset(daddr, saddr, th, &tcp_prot, opt,dev,skb->ip_hdr->tos,255); |
skb | 3192 | net/inet/tcp.c | skb->sk = NULL; |
skb | 3193 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3197 | net/inet/tcp.c | skb->len = len; |
skb | 3198 | net/inet/tcp.c | skb->sk = sk; |
skb | 3199 | net/inet/tcp.c | skb->acked = 0; |
skb | 3200 | net/inet/tcp.c | skb->used = 0; |
skb | 3201 | net/inet/tcp.c | skb->free = 0; |
skb | 3202 | net/inet/tcp.c | skb->saddr = daddr; |
skb | 3203 | net/inet/tcp.c | skb->daddr = saddr; |
skb | 3209 | net/inet/tcp.c | sk->back_log = skb; |
skb | 3210 | net/inet/tcp.c | skb->next = skb; |
skb | 3211 | net/inet/tcp.c | skb->prev = skb; |
skb | 3213 | net/inet/tcp.c | skb->next = sk->back_log; |
skb | 3214 | net/inet/tcp.c | skb->prev = sk->back_log->prev; |
skb | 3215 | net/inet/tcp.c | skb->prev->next = skb; |
skb | 3216 | net/inet/tcp.c | skb->next->prev = skb; |
skb | 3236 | net/inet/tcp.c | if (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) { |
skb | 3237 | net/inet/tcp.c | skb->sk = NULL; |
skb | 3239 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3243 | net/inet/tcp.c | sk->rmem_alloc += skb->mem_len; |
skb | 3262 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3280 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3303 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3320 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3326 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3332 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3337 | net/inet/tcp.c | if (tcp_data(skb, sk, saddr, len)) { |
skb | 3338 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3345 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3356 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3366 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3372 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3378 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3398 | net/inet/tcp.c | tcp_conn_request(sk, skb, daddr, saddr, opt, dev); |
skb | 3403 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3409 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3423 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3436 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3446 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3456 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3466 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3481 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3519 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3524 | net/inet/tcp.c | if (tcp_data(skb, sk, saddr, len)) |
skb | 3525 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3534 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3540 | net/inet/tcp.c | if (tcp_data(skb, sk, saddr, len)) { |
skb | 3541 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 120 | net/inet/tcp.h | extern int tcp_rcv(struct sk_buff *skb, struct device *dev, |
skb | 219 | net/inet/udp.c | struct sk_buff *skb; |
skb | 237 | net/inet/udp.c | skb = sk->prot->wmalloc(sk, size, 0, GFP_KERNEL); |
skb | 238 | net/inet/udp.c | if (skb == NULL) return(-ENOMEM); |
skb | 240 | net/inet/udp.c | skb->mem_addr = skb; |
skb | 241 | net/inet/udp.c | skb->mem_len = size; |
skb | 242 | net/inet/udp.c | skb->sk = NULL; /* to avoid changing sk->saddr */ |
skb | 243 | net/inet/udp.c | skb->free = 1; |
skb | 244 | net/inet/udp.c | skb->arp = 0; |
skb | 247 | net/inet/udp.c | buff = skb->data; |
skb | 251 | net/inet/udp.c | saddr, sin->sin_addr.s_addr, dev, IPPROTO_UDP, skb->mem_len)); |
skb | 252 | net/inet/udp.c | tmp = sk->prot->build_header(skb, saddr, sin->sin_addr.s_addr, |
skb | 253 | net/inet/udp.c | &dev, IPPROTO_UDP, sk->opt, skb->mem_len,sk->ip_tos,sk->ip_ttl); |
skb | 254 | net/inet/udp.c | skb->sk=sk; /* So memory is freed correctly */ |
skb | 257 | net/inet/udp.c | sk->prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 264 | net/inet/udp.c | skb->len = tmp + sizeof(struct udphdr) + len; /* len + UDP + IP + MAC */ |
skb | 265 | net/inet/udp.c | skb->dev = dev; |
skb | 274 | net/inet/udp.c | if (skb->len > 4095) |
skb | 278 | net/inet/udp.c | sk->prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 293 | net/inet/udp.c | udp_send_check(uh, saddr, sin->sin_addr.s_addr, skb->len - tmp, sk); |
skb | 296 | net/inet/udp.c | sk->prot->queue_xmit(sk, dev, skb, 1); |
skb | 401 | net/inet/udp.c | struct sk_buff *skb; |
skb | 406 | net/inet/udp.c | skb = sk->rqueue; |
skb | 407 | net/inet/udp.c | if (skb != NULL) { |
skb | 413 | net/inet/udp.c | amount = skb->len; |
skb | 440 | net/inet/udp.c | struct sk_buff *skb; |
skb | 476 | net/inet/udp.c | skb=skb_recv_datagram(sk,flags,noblock,&er); |
skb | 477 | net/inet/udp.c | if(skb==NULL) |
skb | 479 | net/inet/udp.c | copied = min(len, skb->len); |
skb | 482 | net/inet/udp.c | skb_copy_datagram(skb,sizeof(struct udphdr),to,copied); |
skb | 489 | net/inet/udp.c | addr.sin_port = skb->h.uh->source; |
skb | 490 | net/inet/udp.c | addr.sin_addr.s_addr = skb->daddr; |
skb | 494 | net/inet/udp.c | skb_free_datagram(skb); |
skb | 547 | net/inet/udp.c | udp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt, |
skb | 554 | net/inet/udp.c | uh = (struct udphdr *) skb->h.uh; |
skb | 560 | net/inet/udp.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, dev); |
skb | 567 | net/inet/udp.c | skb->sk = NULL; |
skb | 568 | net/inet/udp.c | kfree_skb(skb, FREE_WRITE); |
skb | 574 | net/inet/udp.c | skb->sk = NULL; |
skb | 575 | net/inet/udp.c | kfree_skb(skb, FREE_WRITE); |
skb | 579 | net/inet/udp.c | skb->sk = sk; |
skb | 580 | net/inet/udp.c | skb->dev = dev; |
skb | 581 | net/inet/udp.c | skb->len = len; |
skb | 584 | net/inet/udp.c | skb->daddr = saddr; |
skb | 585 | net/inet/udp.c | skb->saddr = daddr; |
skb | 589 | net/inet/udp.c | if (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) |
skb | 591 | net/inet/udp.c | skb->sk = NULL; |
skb | 592 | net/inet/udp.c | kfree_skb(skb, FREE_WRITE); |
skb | 596 | net/inet/udp.c | sk->rmem_alloc += skb->mem_len; |
skb | 604 | net/inet/udp.c | skb_queue_tail(&sk->rqueue,skb); |
skb | 606 | net/inet/udp.c | skb->len = len - sizeof(*uh); |
skb | 609 | net/inet/udp.c | sk->data_ready(sk,skb->len); |
skb | 43 | net/inet/udp.h | extern int udp_rcv(struct sk_buff *skb, struct device *dev, |