tag | line | file | source code |
skb | 361 | net/drv/slip/slip.c | sl_start_xmit(void /*struct sk_buff*/ *skb, void /*struct device*/ *dev) |
skb | 387 | net/drv/slip/slip.c | if (skb != NULL) { |
skb | 390 | net/drv/slip/slip.c | sl_send(sl, (unsigned char *) (skb + 1), skb->len); |
skb | 406 | net/drv/slip/slip.c | sl_type_trans (void /*struct sk_buff*/ *skb, void /*struct device*/ *dev) |
skb | 143 | net/drv/we8003/handler.c | wd8003_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 161 | net/drv/we8003/handler.c | if (skb == NULL) |
skb | 169 | net/drv/we8003/handler.c | if (skb->dev != dev) |
skb | 176 | net/drv/we8003/handler.c | if (!skb->arp) |
skb | 178 | net/drv/we8003/handler.c | if ( dev->rebuild_header (skb+1, dev)) |
skb | 181 | net/drv/we8003/handler.c | if (skb->dev == dev) |
skb | 183 | net/drv/we8003/handler.c | arp_queue (skb); |
skb | 192 | net/drv/we8003/handler.c | memcpy ((unsigned char *)dev->mem_start, skb+1, skb->len); |
skb | 194 | net/drv/we8003/handler.c | len = skb->len; |
skb | 216 | net/drv/we8003/handler.c | if (skb->free) |
skb | 218 | net/drv/we8003/handler.c | kfree_skb (skb, FREE_WRITE); |
skb | 93 | net/inet/3c509.c | static int el3_start_xmit(struct sk_buff *skb, struct device *dev); |
skb | 301 | net/inet/3c509.c | el3_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 320 | net/inet/3c509.c | if (skb == NULL) { |
skb | 326 | net/inet/3c509.c | if (!skb->arp && dev->rebuild_header(skb+1, dev)) { |
skb | 327 | net/inet/3c509.c | skb->dev = dev; |
skb | 328 | net/inet/3c509.c | arp_queue (skb); |
skb | 332 | net/inet/3c509.c | if (skb->len <= 0) |
skb | 337 | net/inet/3c509.c | dev->name, skb->len, inw(ioaddr + EL3_STATUS)); |
skb | 353 | net/inet/3c509.c | outw(skb->len, ioaddr + TX_FIFO); |
skb | 356 | net/inet/3c509.c | port_write_l(ioaddr + TX_FIFO, (void *)(skb+1), (skb->len + 3) >> 2); |
skb | 359 | net/inet/3c509.c | if (skb->free) |
skb | 360 | net/inet/3c509.c | kfree_skb (skb, FREE_WRITE); |
skb | 517 | net/inet/3c509.c | struct sk_buff *skb; |
skb | 518 | net/inet/3c509.c | skb = (struct sk_buff *) kmalloc(sksize, GFP_ATOMIC); |
skb | 523 | net/inet/3c509.c | if (skb != NULL) { |
skb | 524 | net/inet/3c509.c | skb->mem_len = sksize; |
skb | 525 | net/inet/3c509.c | skb->mem_addr = skb; |
skb | 526 | net/inet/3c509.c | skb->len = pkt_len; |
skb | 527 | net/inet/3c509.c | skb->dev = dev; |
skb | 530 | net/inet/3c509.c | port_read_l(ioaddr+RX_FIFO, (void *)(skb+1), |
skb | 534 | net/inet/3c509.c | netif_rx(skb); |
skb | 538 | net/inet/3c509.c | skb->lock = 0; |
skb | 539 | net/inet/3c509.c | if (dev_rint((unsigned char *)skb, pkt_len, |
skb | 554 | net/inet/3c509.c | kfree_s(skb, sksize); |
skb | 120 | net/inet/8390.c | ei_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 152 | net/inet/8390.c | if (skb == NULL) { |
skb | 157 | net/inet/8390.c | if (!skb->arp && dev->rebuild_header(skb+1, dev)) { |
skb | 158 | net/inet/8390.c | skb->dev = dev; |
skb | 159 | net/inet/8390.c | arp_queue (skb); |
skb | 163 | net/inet/8390.c | if (skb->len <= 0) |
skb | 165 | net/inet/8390.c | length = skb->len; |
skb | 212 | net/inet/8390.c | ei_block_output(dev, length, (unsigned char *)(skb+1), output_page); |
skb | 226 | net/inet/8390.c | ei_block_output(dev, length, (unsigned char *)(skb+1), |
skb | 232 | net/inet/8390.c | if (skb->free) |
skb | 233 | net/inet/8390.c | kfree_skb (skb, FREE_WRITE); |
skb | 476 | net/inet/8390.c | struct sk_buff *skb; |
skb | 477 | net/inet/8390.c | skb = (struct sk_buff *) kmalloc(sksize, GFP_ATOMIC); |
skb | 478 | net/inet/8390.c | if (skb != NULL) { |
skb | 479 | net/inet/8390.c | skb->lock = 0; |
skb | 480 | net/inet/8390.c | skb->mem_len = sksize; |
skb | 481 | net/inet/8390.c | skb->mem_addr = skb; |
skb | 483 | net/inet/8390.c | ei_block_input(dev, size, (char *)(skb+1), |
skb | 485 | net/inet/8390.c | if (dev_rint((unsigned char *)skb, size, IN_SKBUFF, dev)) { |
skb | 487 | net/inet/8390.c | kfree_s(skb, sksize); |
skb | 168 | net/inet/arp.c | struct sk_buff *skb; |
skb | 175 | net/inet/arp.c | while ((skb = next) != NULL) { |
skb | 176 | net/inet/arp.c | if (skb->magic != ARP_QUEUE_MAGIC) { |
skb | 178 | net/inet/arp.c | skb->magic); |
skb | 183 | net/inet/arp.c | if (skb->next == NULL |
skb | 185 | net/inet/arp.c | || ((unsigned long)(skb->next) > 16*1024*1024) |
skb | 193 | net/inet/arp.c | next = skb->next; |
skb | 194 | net/inet/arp.c | if (next != skb) { |
skb | 195 | net/inet/arp.c | skb->prev->next = next; |
skb | 196 | net/inet/arp.c | next->prev = skb->prev; |
skb | 201 | net/inet/arp.c | skb->magic = 0; |
skb | 202 | net/inet/arp.c | skb->next = NULL; |
skb | 203 | net/inet/arp.c | skb->prev = NULL; |
skb | 207 | net/inet/arp.c | skb->tries--; |
skb | 208 | net/inet/arp.c | if (skb->tries == 0) { |
skb | 218 | net/inet/arp.c | skb->sk = NULL; |
skb | 219 | net/inet/arp.c | kfree_skb(skb, FREE_WRITE); |
skb | 227 | net/inet/arp.c | if (!skb->dev->rebuild_header(skb+1, skb->dev)) { |
skb | 229 | net/inet/arp.c | skb->next = NULL; |
skb | 230 | net/inet/arp.c | skb->prev = NULL; |
skb | 231 | net/inet/arp.c | skb->arp = 1; |
skb | 232 | net/inet/arp.c | skb->dev->queue_xmit(skb, skb->dev, 0); |
skb | 236 | net/inet/arp.c | skb->magic = ARP_QUEUE_MAGIC; |
skb | 238 | net/inet/arp.c | skb->next = skb; |
skb | 239 | net/inet/arp.c | skb->prev = skb; |
skb | 240 | net/inet/arp.c | arp_q = skb; |
skb | 242 | net/inet/arp.c | skb->next = arp_q; |
skb | 243 | net/inet/arp.c | skb->prev = arp_q->prev; |
skb | 244 | net/inet/arp.c | arp_q->prev->next = skb; |
skb | 245 | net/inet/arp.c | arp_q->prev = skb; |
skb | 258 | net/inet/arp.c | struct sk_buff *skb; |
skb | 264 | net/inet/arp.c | skb = (struct sk_buff *) kmalloc(sizeof(struct sk_buff) + |
skb | 268 | net/inet/arp.c | if (skb == NULL) { |
skb | 278 | net/inet/arp.c | skb->lock = 0; |
skb | 279 | net/inet/arp.c | skb->mem_addr = skb; |
skb | 280 | net/inet/arp.c | skb->len = sizeof(struct arphdr) + (2 * arp1->ar_hln) + |
skb | 282 | net/inet/arp.c | skb->mem_len = sizeof(struct sk_buff) + skb->len; |
skb | 283 | net/inet/arp.c | hlen = dev->hard_header((unsigned char *)(skb+1), dev, |
skb | 284 | net/inet/arp.c | ETH_P_ARP, src, dst, skb->len); |
skb | 295 | net/inet/arp.c | arp2 = (struct arphdr *) ((unsigned char *) (skb+1) + hlen); |
skb | 310 | net/inet/arp.c | skb->free = 1; |
skb | 311 | net/inet/arp.c | skb->arp = 1; |
skb | 312 | net/inet/arp.c | skb->sk = NULL; |
skb | 313 | net/inet/arp.c | skb->next = NULL; |
skb | 319 | net/inet/arp.c | dev->queue_xmit(skb, dev, 0); |
skb | 431 | net/inet/arp.c | arp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt) |
skb | 440 | net/inet/arp.c | arp = skb->h.arp; |
skb | 446 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 454 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 475 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 480 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 498 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 504 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 513 | net/inet/arp.c | kfree_skb(skb, FREE_READ); |
skb | 522 | net/inet/arp.c | struct sk_buff *skb; |
skb | 531 | net/inet/arp.c | skb = (struct sk_buff *) kmalloc(sizeof(struct sk_buff) + |
skb | 535 | net/inet/arp.c | if (skb == NULL) { |
skb | 541 | net/inet/arp.c | skb->lock = 0; |
skb | 542 | net/inet/arp.c | skb->sk = NULL; |
skb | 543 | net/inet/arp.c | skb->mem_addr = skb; |
skb | 544 | net/inet/arp.c | skb->len = sizeof(struct arphdr) + |
skb | 546 | net/inet/arp.c | skb->mem_len = sizeof(struct sk_buff) + skb->len; |
skb | 547 | net/inet/arp.c | skb->arp = 1; |
skb | 548 | net/inet/arp.c | skb->dev = dev; |
skb | 549 | net/inet/arp.c | skb->next = NULL; |
skb | 550 | net/inet/arp.c | tmp = dev->hard_header((unsigned char *)(skb+1), dev, |
skb | 551 | net/inet/arp.c | ETH_P_ARP, 0, saddr, skb->len); |
skb | 553 | net/inet/arp.c | kfree_s(skb->mem_addr, skb->mem_len); |
skb | 556 | net/inet/arp.c | arp = (struct arphdr *) ((unsigned char *) (skb+1) + tmp); |
skb | 574 | net/inet/arp.c | dev->queue_xmit(skb, dev, 0); |
skb | 674 | net/inet/arp.c | arp_queue(struct sk_buff *skb) |
skb | 677 | net/inet/arp.c | skb->tries = ARP_MAX_TRIES; |
skb | 679 | net/inet/arp.c | if (skb->next != NULL) { |
skb | 681 | net/inet/arp.c | printk("ARP: arp_queue skb already on queue magic=%X.\n", skb->magic); |
skb | 685 | net/inet/arp.c | arp_q = skb; |
skb | 686 | net/inet/arp.c | skb->next = skb; |
skb | 687 | net/inet/arp.c | skb->prev = skb; |
skb | 689 | net/inet/arp.c | skb->next = arp_q; |
skb | 690 | net/inet/arp.c | skb->prev = arp_q->prev; |
skb | 691 | net/inet/arp.c | skb->next->prev = skb; |
skb | 692 | net/inet/arp.c | skb->prev->next = skb; |
skb | 694 | 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 | 234 | net/inet/d_link.c | static int d_link_start_xmit(struct sk_buff *skb, struct device *dev); |
skb | 376 | net/inet/d_link.c | d_link_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 382 | net/inet/d_link.c | unsigned char *buffer = (unsigned char *)(skb + 1); |
skb | 390 | net/inet/d_link.c | if (skb == NULL) { |
skb | 396 | net/inet/d_link.c | if (!skb->arp && dev->rebuild_header(skb + 1, dev)) { |
skb | 397 | net/inet/d_link.c | skb->dev = dev; |
skb | 398 | net/inet/d_link.c | arp_queue (skb); |
skb | 426 | net/inet/d_link.c | PRINTK(("d_link_start_xmit:len=%d\n", skb->len)); |
skb | 442 | net/inet/d_link.c | if ((len = skb->len) < RUNT) /*&& Hmm...? */ |
skb | 472 | net/inet/d_link.c | if (skb->free) { |
skb | 473 | net/inet/d_link.c | kfree_skb (skb, FREE_WRITE); |
skb | 593 | net/inet/d_link.c | struct sk_buff *skb; |
skb | 615 | net/inet/d_link.c | if ((skb = (struct sk_buff *) kmalloc(sksize, GFP_ATOMIC)) == NULL) { |
skb | 624 | net/inet/d_link.c | skb->lock = 0; |
skb | 625 | net/inet/d_link.c | skb->mem_len = sksize; |
skb | 626 | net/inet/d_link.c | skb->mem_addr = skb; |
skb | 628 | net/inet/d_link.c | buffer = (unsigned char *)(skb + 1); |
skb | 646 | net/inet/d_link.c | if(dev_rint((unsigned char *)skb, size, IN_SKBUFF, dev)) { |
skb | 308 | net/inet/dev.c | dev_queue_xmit(struct sk_buff *skb, struct device *dev, int pri) |
skb | 316 | net/inet/dev.c | skb, dev, pri)); |
skb | 323 | net/inet/dev.c | skb->dev = dev; |
skb | 324 | net/inet/dev.c | if (skb->next != NULL) { |
skb | 340 | net/inet/dev.c | if (dev->hard_start_xmit(skb, dev) == 0) { |
skb | 351 | net/inet/dev.c | dev->buffs[pri] = skb; |
skb | 352 | net/inet/dev.c | skb->next = skb; |
skb | 353 | net/inet/dev.c | skb->prev = skb; |
skb | 356 | net/inet/dev.c | skb->next = (struct sk_buff *) dev->buffs[pri]; |
skb | 357 | net/inet/dev.c | skb->prev = (struct sk_buff *) dev->buffs[pri]->prev; |
skb | 358 | net/inet/dev.c | skb->prev->next = skb; |
skb | 359 | net/inet/dev.c | skb->next->prev = skb; |
skb | 360 | net/inet/dev.c | dev->buffs[pri] = skb; |
skb | 363 | net/inet/dev.c | skb->next = skb2; |
skb | 364 | net/inet/dev.c | skb->prev = skb2->prev; |
skb | 365 | net/inet/dev.c | skb->next->prev = skb; |
skb | 366 | net/inet/dev.c | skb->prev->next = skb; |
skb | 369 | net/inet/dev.c | skb->magic = DEV_QUEUE_MAGIC; |
skb | 378 | net/inet/dev.c | netif_rx(struct sk_buff *skb) |
skb | 381 | net/inet/dev.c | skb->lock = 0; |
skb | 382 | net/inet/dev.c | skb->sk = NULL; |
skb | 387 | net/inet/dev.c | skb->prev = skb; |
skb | 388 | net/inet/dev.c | skb->next = skb; |
skb | 389 | net/inet/dev.c | backlog = skb; |
skb | 391 | net/inet/dev.c | skb->prev = (struct sk_buff *) backlog->prev; |
skb | 392 | net/inet/dev.c | skb->next = (struct sk_buff *) backlog; |
skb | 393 | net/inet/dev.c | skb->next->prev = skb; |
skb | 394 | net/inet/dev.c | skb->prev->next = skb; |
skb | 419 | net/inet/dev.c | struct sk_buff *skb = NULL; |
skb | 426 | net/inet/dev.c | skb = (struct sk_buff *) buff; |
skb | 435 | net/inet/dev.c | skb = (struct sk_buff *) kmalloc(sizeof(*skb) + len, GFP_ATOMIC); |
skb | 436 | net/inet/dev.c | if (skb == NULL) { |
skb | 442 | net/inet/dev.c | skb->lock = 0; |
skb | 443 | net/inet/dev.c | skb->mem_len = sizeof(*skb) + len; |
skb | 444 | net/inet/dev.c | skb->mem_addr = (struct sk_buff *) skb; |
skb | 447 | net/inet/dev.c | to = (unsigned char *) (skb + 1); |
skb | 462 | net/inet/dev.c | skb->len = len; |
skb | 463 | net/inet/dev.c | skb->dev = dev; |
skb | 465 | net/inet/dev.c | netif_rx(skb); |
skb | 492 | net/inet/dev.c | struct sk_buff *skb; |
skb | 508 | net/inet/dev.c | skb = (struct sk_buff *) backlog; |
skb | 509 | net/inet/dev.c | if (skb->next == skb) { |
skb | 512 | net/inet/dev.c | backlog = skb->next; |
skb | 513 | net/inet/dev.c | skb->next->prev = skb->prev; |
skb | 514 | net/inet/dev.c | skb->prev->next = skb->next; |
skb | 524 | net/inet/dev.c | skb->h.raw = (unsigned char *) (skb + 1) + skb->dev->hard_header_len; |
skb | 525 | net/inet/dev.c | skb->len -= skb->dev->hard_header_len; |
skb | 536 | net/inet/dev.c | type = skb->dev->type_trans(skb, skb->dev); |
skb | 549 | net/inet/dev.c | skb2 = (struct sk_buff *) kmalloc(skb->mem_len, GFP_ATOMIC); |
skb | 551 | net/inet/dev.c | memcpy(skb2, (const void *) skb, skb->mem_len); |
skb | 556 | net/inet/dev.c | (unsigned long) skb->h.raw - |
skb | 557 | net/inet/dev.c | (unsigned long) skb |
skb | 560 | net/inet/dev.c | skb2 = skb; |
skb | 570 | net/inet/dev.c | ptype->func(skb2, skb->dev, ptype); |
skb | 581 | net/inet/dev.c | skb->sk = NULL; |
skb | 582 | net/inet/dev.c | kfree_skb(skb, FREE_WRITE); |
skb | 602 | net/inet/dev.c | struct sk_buff *skb; |
skb | 607 | net/inet/dev.c | skb = (struct sk_buff *) dev->buffs[i]; |
skb | 608 | net/inet/dev.c | if (skb->magic != DEV_QUEUE_MAGIC) { |
skb | 609 | net/inet/dev.c | printk("INET: dev: skb with bad magic-%X:", skb->magic); |
skb | 615 | net/inet/dev.c | skb->magic = 0; |
skb | 617 | net/inet/dev.c | if (skb->next == skb) { |
skb | 621 | net/inet/dev.c | if (skb->next == NULL |
skb | 623 | net/inet/dev.c | || (unsigned long)(skb->next) > 16*1024*1024 |
skb | 630 | net/inet/dev.c | dev->buffs[i]= skb->next; |
skb | 631 | net/inet/dev.c | skb->prev->next = skb->next; |
skb | 632 | net/inet/dev.c | skb->next->prev = skb->prev; |
skb | 636 | net/inet/dev.c | skb->next = NULL; |
skb | 637 | net/inet/dev.c | skb->prev = NULL; |
skb | 641 | 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 | 170 | net/inet/dev.h | extern void dev_queue_xmit(struct sk_buff *skb, struct device *dev, |
skb | 173 | net/inet/dev.h | extern void netif_rx(struct sk_buff *skb); |
skb | 154 | net/inet/eth.c | eth_add_arp(unsigned long addr, struct sk_buff *skb, struct device *dev) |
skb | 158 | net/inet/eth.c | eth = (struct ethhdr *) (skb + 1); |
skb | 165 | net/inet/eth.c | eth_type_trans(struct sk_buff *skb, struct device *dev) |
skb | 169 | net/inet/eth.c | eth = (struct ethhdr *) (skb + 1); |
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 | 77 | net/inet/icmp.c | struct sk_buff *skb; |
skb | 91 | net/inet/icmp.c | skb = (struct sk_buff *) kmalloc(len, GFP_ATOMIC); |
skb | 92 | net/inet/icmp.c | if (skb == NULL) return; |
skb | 94 | net/inet/icmp.c | skb->lock = 0; |
skb | 95 | net/inet/icmp.c | skb->sk = NULL; |
skb | 96 | net/inet/icmp.c | skb->mem_addr = skb; |
skb | 97 | net/inet/icmp.c | skb->mem_len = len; |
skb | 105 | net/inet/icmp.c | offset = ip_build_header(skb, iph->daddr, iph->saddr, |
skb | 108 | net/inet/icmp.c | skb->sk = NULL; |
skb | 109 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 114 | net/inet/icmp.c | skb->len = offset + sizeof(struct icmphdr) + sizeof(struct iphdr) + 8; |
skb | 115 | net/inet/icmp.c | icmph = (struct icmphdr *) ((unsigned char *) (skb + 1) + offset); |
skb | 129 | net/inet/icmp.c | ip_queue_xmit(NULL, dev, skb, 1); |
skb | 135 | net/inet/icmp.c | icmp_unreach(struct icmphdr *icmph, struct sk_buff *skb) |
skb | 192 | net/inet/icmp.c | skb->sk = NULL; |
skb | 193 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 199 | net/inet/icmp.c | icmp_redirect(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev) |
skb | 224 | net/inet/icmp.c | skb->sk = NULL; |
skb | 225 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 231 | net/inet/icmp.c | icmp_echo(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev, |
skb | 242 | net/inet/icmp.c | skb->sk = NULL; |
skb | 243 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 257 | net/inet/icmp.c | skb->sk = NULL; |
skb | 258 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 279 | net/inet/icmp.c | skb->sk = NULL; |
skb | 280 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 286 | net/inet/icmp.c | icmp_info(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev, |
skb | 291 | net/inet/icmp.c | skb->sk = NULL; |
skb | 292 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 298 | net/inet/icmp.c | icmp_address(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev, |
skb | 309 | net/inet/icmp.c | skb->sk = NULL; |
skb | 310 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 324 | net/inet/icmp.c | skb->sk = NULL; |
skb | 325 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 348 | net/inet/icmp.c | skb->sk = NULL; |
skb | 349 | net/inet/icmp.c | kfree_skb(skb, FREE_READ); |
skb | 146 | net/inet/ip.c | ip_send(struct sk_buff *skb, unsigned long daddr, int len, struct device *dev, |
skb | 152 | net/inet/ip.c | ptr = (unsigned char *)(skb + 1); |
skb | 154 | net/inet/ip.c | skb->arp = 1; |
skb | 160 | net/inet/ip.c | skb->arp = 0; |
skb | 162 | net/inet/ip.c | skb->dev = dev; |
skb | 174 | net/inet/ip.c | ip_build_header(struct sk_buff *skb, unsigned long saddr, unsigned long daddr, |
skb | 188 | net/inet/ip.c | skb, saddr, daddr, *dev, type, opt, len)); |
skb | 189 | net/inet/ip.c | buff = (unsigned char *)(skb + 1); |
skb | 210 | net/inet/ip.c | tmp = ip_send(skb, raddr, len, *dev, saddr); |
skb | 214 | net/inet/ip.c | skb->dev = *dev; |
skb | 215 | net/inet/ip.c | skb->saddr = saddr; |
skb | 216 | net/inet/ip.c | if (skb->sk) skb->sk->saddr = saddr; |
skb | 474 | net/inet/ip.c | ip_forward(struct sk_buff *skb, struct device *dev) |
skb | 488 | net/inet/ip.c | iph = skb->h.iph; |
skb | 496 | net/inet/ip.c | icmp_send(skb, ICMP_TIME_EXCEEDED, ICMP_EXC_TTL, dev); |
skb | 512 | net/inet/ip.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_NET_UNREACH, dev); |
skb | 530 | net/inet/ip.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_HOST_UNREACH, dev); |
skb | 543 | net/inet/ip.c | in_ntoa(raddr), dev2->name, skb->len)); |
skb | 547 | net/inet/ip.c | dev2->hard_header_len + skb->len, GFP_ATOMIC); |
skb | 555 | net/inet/ip.c | skb2->len = skb->len + dev2->hard_header_len; |
skb | 563 | net/inet/ip.c | memcpy(ptr + dev2->hard_header_len, skb->h.raw, skb->len); |
skb | 566 | net/inet/ip.c | (void) ip_send(skb2, raddr, skb->len, dev2, dev2->pa_addr); |
skb | 575 | net/inet/ip.c | ip_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt) |
skb | 577 | net/inet/ip.c | struct iphdr *iph = skb->h.iph; |
skb | 594 | net/inet/ip.c | skb->sk = NULL; |
skb | 595 | net/inet/ip.c | kfree_skb(skb, FREE_WRITE); |
skb | 610 | net/inet/ip.c | ip_forward(skb, dev); |
skb | 612 | net/inet/ip.c | skb->sk = NULL; |
skb | 613 | net/inet/ip.c | kfree_skb(skb, FREE_WRITE); |
skb | 622 | net/inet/ip.c | ip_defrag(skb); |
skb | 627 | net/inet/ip.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, dev); |
skb | 628 | net/inet/ip.c | skb->sk = NULL; |
skb | 629 | net/inet/ip.c | kfree_skb(skb, FREE_WRITE); |
skb | 635 | net/inet/ip.c | skb->h.raw += iph->ihl*4; |
skb | 653 | net/inet/ip.c | skb2 = (struct sk_buff *) kmalloc (skb->mem_len, GFP_ATOMIC); |
skb | 655 | net/inet/ip.c | memcpy(skb2, skb, skb->mem_len); |
skb | 660 | net/inet/ip.c | (unsigned long) skb->h.raw - |
skb | 661 | net/inet/ip.c | (unsigned long)skb); |
skb | 663 | net/inet/ip.c | skb2 = skb; |
skb | 686 | net/inet/ip.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, dev); |
skb | 687 | net/inet/ip.c | skb->sk = NULL; |
skb | 688 | net/inet/ip.c | kfree_skb(skb, FREE_WRITE); |
skb | 704 | net/inet/ip.c | struct sk_buff *skb, int free) |
skb | 714 | net/inet/ip.c | skb->free = free; |
skb | 715 | net/inet/ip.c | skb->dev = dev; |
skb | 716 | net/inet/ip.c | skb->when = jiffies; |
skb | 719 | net/inet/ip.c | ptr = (unsigned char *)(skb + 1); |
skb | 722 | net/inet/ip.c | iph->tot_len = ntohs(skb->len - dev->hard_header_len); |
skb | 725 | net/inet/ip.c | skb->next = NULL; |
skb | 728 | net/inet/ip.c | skb->magic = 1; |
skb | 730 | net/inet/ip.c | skb->link3 = NULL; |
skb | 734 | net/inet/ip.c | sk->send_tail = skb; |
skb | 735 | net/inet/ip.c | sk->send_head = skb; |
skb | 742 | net/inet/ip.c | sk->send_tail->link3 = skb; |
skb | 743 | net/inet/ip.c | sk->send_tail = skb; |
skb | 750 | net/inet/ip.c | skb->sk = sk; |
skb | 756 | net/inet/ip.c | dev->queue_xmit(skb, dev, sk->priority); |
skb | 758 | net/inet/ip.c | dev->queue_xmit(skb, dev, SOPRI_NORMAL); |
skb | 761 | net/inet/ip.c | if (free) kfree_skb(skb, FREE_WRITE); |
skb | 769 | net/inet/ip.c | struct sk_buff * skb; |
skb | 774 | net/inet/ip.c | skb = sk->send_head; |
skb | 775 | net/inet/ip.c | while (skb != NULL) { |
skb | 776 | net/inet/ip.c | dev = skb->dev; |
skb | 789 | net/inet/ip.c | if (!skb->arp) { |
skb | 790 | net/inet/ip.c | if (dev->rebuild_header((struct enet_header *)(skb+1),dev)) { |
skb | 792 | net/inet/ip.c | skb = (struct sk_buff *)skb->link3; |
skb | 796 | net/inet/ip.c | skb->arp = 1; |
skb | 797 | net/inet/ip.c | skb->when = jiffies; |
skb | 801 | net/inet/ip.c | if (sk) dev->queue_xmit(skb, dev, sk->priority); |
skb | 802 | net/inet/ip.c | else dev->queue_xmit(skb, dev, SOPRI_NORMAL ); |
skb | 811 | net/inet/ip.c | skb = (struct sk_buff *)skb->link3; |
skb | 32 | net/inet/ip.h | extern int ip_build_header(struct sk_buff *skb, |
skb | 38 | net/inet/ip.h | extern int ip_rcv(struct sk_buff *skb, struct device *dev, |
skb | 41 | net/inet/ip.h | struct device *dev, struct sk_buff *skb, |
skb | 113 | net/inet/lance.c | static int lance_start_xmit(struct sk_buff *skb, struct device *dev); |
skb | 387 | net/inet/lance.c | lance_start_xmit(struct sk_buff *skb, struct device *dev) |
skb | 410 | net/inet/lance.c | if (skb == NULL) { |
skb | 416 | net/inet/lance.c | if (!skb->arp && dev->rebuild_header(skb+1, dev)) { |
skb | 417 | net/inet/lance.c | skb->dev = dev; |
skb | 418 | net/inet/lance.c | arp_queue (skb); |
skb | 422 | net/inet/lance.c | if (skb->len <= 0) |
skb | 447 | net/inet/lance.c | lp->tx_ring[entry].length = -skb->len; |
skb | 451 | net/inet/lance.c | -(ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN); |
skb | 454 | net/inet/lance.c | lp->tx_ring[entry].base = (int)(skb+1) | 0x83000000; |
skb | 526 | net/inet/lance.c | struct sk_buff *skb = |
skb | 547 | net/inet/lance.c | if ((skb-1)->free) |
skb | 548 | net/inet/lance.c | kfree_skb (skb-1, FREE_WRITE); |
skb | 587 | net/inet/lance.c | struct sk_buff *skb; |
skb | 588 | net/inet/lance.c | skb = (struct sk_buff *) kmalloc(sksize, GFP_ATOMIC); |
skb | 589 | net/inet/lance.c | if (skb == NULL) { |
skb | 594 | net/inet/lance.c | skb->mem_len = sksize; |
skb | 595 | net/inet/lance.c | skb->mem_addr = skb; |
skb | 596 | net/inet/lance.c | skb->len = pkt_len; |
skb | 597 | net/inet/lance.c | skb->dev = dev; |
skb | 598 | net/inet/lance.c | memcpy((unsigned char *) (skb + 1), |
skb | 602 | net/inet/lance.c | netif_rx(skb); |
skb | 604 | net/inet/lance.c | skb->lock = 0; |
skb | 605 | net/inet/lance.c | if (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) { |
skb | 606 | net/inet/lance.c | kfree_s(skb, sksize); |
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((unsigned char *)(skb+1), skb->len, 0, dev); |
skb | 65 | net/inet/loopback.c | if (skb->free) kfree_skb(skb, FREE_WRITE); |
skb | 48 | net/inet/packet.c | packet_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt) |
skb | 53 | net/inet/packet.c | skb->dev = dev; |
skb | 54 | net/inet/packet.c | skb->len += dev->hard_header_len; |
skb | 65 | net/inet/packet.c | skb->sk = NULL; |
skb | 66 | net/inet/packet.c | kfree_skb(skb, FREE_READ); |
skb | 71 | net/inet/packet.c | skb->sk = sk; |
skb | 74 | net/inet/packet.c | if (sk->rmem_alloc + skb->mem_len >= SK_RMEM_MAX) { |
skb | 75 | net/inet/packet.c | skb->sk = NULL; |
skb | 76 | net/inet/packet.c | kfree_skb(skb, FREE_READ); |
skb | 79 | net/inet/packet.c | sk->rmem_alloc += skb->mem_len; |
skb | 83 | net/inet/packet.c | sk->rqueue = skb; |
skb | 84 | net/inet/packet.c | skb->next = skb; |
skb | 85 | net/inet/packet.c | skb->prev = skb; |
skb | 87 | net/inet/packet.c | skb->next = sk->rqueue; |
skb | 88 | net/inet/packet.c | skb->prev = sk->rqueue->prev; |
skb | 89 | net/inet/packet.c | skb->prev->next = skb; |
skb | 90 | net/inet/packet.c | skb->next->prev = skb; |
skb | 104 | net/inet/packet.c | struct sk_buff *skb; |
skb | 120 | net/inet/packet.c | skb = (struct sk_buff *) sk->prot->wmalloc(sk, len+sizeof(*skb), 0, GFP_KERNEL); |
skb | 123 | net/inet/packet.c | if (skb == NULL) { |
skb | 127 | net/inet/packet.c | skb->lock = 0; |
skb | 128 | net/inet/packet.c | skb->mem_addr = skb; |
skb | 129 | net/inet/packet.c | skb->mem_len = len + sizeof(*skb); |
skb | 130 | net/inet/packet.c | skb->sk = sk; |
skb | 131 | net/inet/packet.c | skb->free = 1; |
skb | 135 | net/inet/packet.c | sk->prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 139 | net/inet/packet.c | memcpy_fromfs (skb+1, from, len); |
skb | 140 | net/inet/packet.c | skb->len = len; |
skb | 141 | net/inet/packet.c | skb->next = NULL; |
skb | 142 | net/inet/packet.c | if (dev->flags & IFF_UP) dev->queue_xmit(skb, dev, sk->priority); |
skb | 143 | net/inet/packet.c | else kfree_skb(skb, FREE_WRITE); |
skb | 198 | net/inet/packet.c | struct sk_buff *skb; |
skb | 227 | net/inet/packet.c | skb = sk->rqueue; |
skb | 230 | net/inet/packet.c | if (skb->next == skb) { |
skb | 234 | net/inet/packet.c | skb->prev->next = skb->next; |
skb | 235 | net/inet/packet.c | skb->next->prev = skb->prev; |
skb | 238 | net/inet/packet.c | copied = min(len, skb->len); |
skb | 240 | net/inet/packet.c | memcpy_tofs(to, skb+1, copied); |
skb | 246 | net/inet/packet.c | addr.sa_family = skb->dev->type; |
skb | 247 | net/inet/packet.c | memcpy(addr.sa_data,skb->dev->name, 14); |
skb | 253 | net/inet/packet.c | kfree_skb(skb, FREE_READ); |
skb | 125 | net/inet/plip.c | static int plip_tx_packet(struct sk_buff *skb, struct device *dev); |
skb | 245 | net/inet/plip.c | plip_tx_packet(struct sk_buff *skb, struct device *dev) |
skb | 262 | net/inet/plip.c | if (skb == NULL) { |
skb | 269 | net/inet/plip.c | if (!skb->arp && dev->rebuild_header(skb+1, dev)) { |
skb | 270 | net/inet/plip.c | skb->dev = dev; |
skb | 271 | net/inet/plip.c | arp_queue (skb); |
skb | 276 | net/inet/plip.c | ret_val = plip_send_packet(dev, (unsigned char *)(skb+1), skb->len); |
skb | 277 | net/inet/plip.c | if (skb->free) |
skb | 278 | net/inet/plip.c | kfree_skb (skb, FREE_WRITE); |
skb | 404 | net/inet/plip.c | struct sk_buff *skb; |
skb | 454 | net/inet/plip.c | skb = (struct sk_buff *)kmalloc(sksize, GFP_ATOMIC); |
skb | 455 | net/inet/plip.c | if (skb == NULL) { |
skb | 460 | net/inet/plip.c | skb->lock = 0; |
skb | 461 | net/inet/plip.c | skb->mem_len = sksize; |
skb | 462 | net/inet/plip.c | skb->mem_addr = skb; |
skb | 467 | net/inet/plip.c | unsigned char *buf = (unsigned char *) (skb+1); |
skb | 484 | net/inet/plip.c | } else if(dev_rint((unsigned char *)skb, length, IN_SKBUFF, dev)) { |
skb | 26 | net/inet/protocol.h | int (*handler)(struct sk_buff *skb, struct device *dev, |
skb | 85 | net/inet/raw.c | raw_rcv(struct sk_buff *skb, struct device *dev, struct options *opt, |
skb | 93 | net/inet/raw.c | skb, dev, opt, daddr, len, saddr, redo, protocol)); |
skb | 95 | net/inet/raw.c | if (skb == NULL) return(0); |
skb | 97 | net/inet/raw.c | kfree_skb(skb, FREE_READ); |
skb | 102 | net/inet/raw.c | kfree_skb(skb, FREE_READ); |
skb | 107 | net/inet/raw.c | skb->sk = sk; |
skb | 108 | net/inet/raw.c | skb->len = len; |
skb | 109 | net/inet/raw.c | skb->dev = dev; |
skb | 110 | net/inet/raw.c | skb->saddr = daddr; |
skb | 111 | net/inet/raw.c | skb->daddr = saddr; |
skb | 119 | net/inet/raw.c | sk->back_log = skb; |
skb | 120 | net/inet/raw.c | skb->next = skb; |
skb | 121 | net/inet/raw.c | skb->prev = skb; |
skb | 123 | net/inet/raw.c | skb->next = sk->back_log; |
skb | 124 | net/inet/raw.c | skb->prev = sk->back_log->prev; |
skb | 125 | net/inet/raw.c | skb->prev->next = skb; |
skb | 126 | net/inet/raw.c | skb->next->prev = skb; |
skb | 136 | net/inet/raw.c | if (sk->rmem_alloc + skb->mem_len >= SK_RMEM_MAX) { |
skb | 137 | net/inet/raw.c | skb->sk = NULL; |
skb | 138 | net/inet/raw.c | kfree_skb(skb, FREE_READ); |
skb | 141 | net/inet/raw.c | sk->rmem_alloc += skb->mem_len; |
skb | 145 | net/inet/raw.c | sk->rqueue = skb; |
skb | 146 | net/inet/raw.c | skb->next = skb; |
skb | 147 | net/inet/raw.c | skb->prev = skb; |
skb | 149 | net/inet/raw.c | skb->next = sk->rqueue; |
skb | 150 | net/inet/raw.c | skb->prev = sk->rqueue->prev; |
skb | 151 | net/inet/raw.c | skb->prev->next = skb; |
skb | 152 | net/inet/raw.c | skb->next->prev = skb; |
skb | 166 | net/inet/raw.c | struct sk_buff *skb; |
skb | 194 | net/inet/raw.c | skb = NULL; |
skb | 195 | net/inet/raw.c | while (skb == NULL) { |
skb | 196 | net/inet/raw.c | skb = (struct sk_buff *) sk->prot->wmalloc(sk, |
skb | 197 | net/inet/raw.c | len+sizeof(*skb) + sk->prot->max_header, |
skb | 201 | net/inet/raw.c | if (skb == NULL) { |
skb | 220 | net/inet/raw.c | skb->lock = 0; |
skb | 221 | net/inet/raw.c | skb->mem_addr = skb; |
skb | 222 | net/inet/raw.c | skb->mem_len = len + sizeof(*skb) +sk->prot->max_header; |
skb | 223 | net/inet/raw.c | skb->sk = sk; |
skb | 225 | net/inet/raw.c | skb->free = 1; /* these two should be unecessary. */ |
skb | 226 | net/inet/raw.c | skb->arp = 0; |
skb | 228 | net/inet/raw.c | tmp = sk->prot->build_header(skb, sk->saddr, |
skb | 230 | net/inet/raw.c | sk->protocol, sk->opt, skb->mem_len); |
skb | 233 | net/inet/raw.c | sk->prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 239 | net/inet/raw.c | memcpy_fromfs ((unsigned char *)(skb+1)+tmp, from, len); |
skb | 248 | net/inet/raw.c | buff = (unsigned char *)(skb + 1); |
skb | 254 | net/inet/raw.c | skb->len = tmp + len; |
skb | 255 | net/inet/raw.c | sk->prot->queue_xmit(sk, dev, skb, 1); |
skb | 319 | net/inet/raw.c | struct sk_buff *skb; |
skb | 352 | net/inet/raw.c | skb = sk->rqueue; |
skb | 355 | net/inet/raw.c | if (skb->next == skb) { |
skb | 359 | net/inet/raw.c | skb->prev->next = skb->next; |
skb | 360 | net/inet/raw.c | skb->next->prev = skb->prev; |
skb | 363 | net/inet/raw.c | copied = min(len, skb->len); |
skb | 365 | net/inet/raw.c | memcpy_tofs(to, skb->h.raw, copied); |
skb | 372 | net/inet/raw.c | addr.sin_addr.s_addr = skb->daddr; |
skb | 378 | net/inet/raw.c | kfree_skb(skb, FREE_READ); |
skb | 26 | net/inet/raw.h | extern int raw_rcv(struct sk_buff *skb, struct device *dev, |
skb | 63 | net/inet/skbuff.h | extern void kfree_skb(struct sk_buff *skb, int rw); |
skb | 64 | net/inet/skbuff.h | extern void lock_skb(struct sk_buff *skb); |
skb | 65 | net/inet/skbuff.h | extern void unlock_skb(struct sk_buff *skb, int rw); |
skb | 388 | net/inet/slip.c | sl_xmit(struct sk_buff *skb, struct device *dev) |
skb | 397 | net/inet/slip.c | dev->name, skb, sl->sending)); |
skb | 411 | net/inet/slip.c | if (skb != NULL) { |
skb | 413 | net/inet/slip.c | sl_encaps(sl, (unsigned char *) (skb + 1), skb->len); |
skb | 414 | net/inet/slip.c | if (skb->free) kfree_skb(skb, FREE_WRITE); |
skb | 422 | net/inet/slip.c | sl_type_trans (struct sk_buff *skb, struct device *dev) |
skb | 439 | net/inet/slip.c | sl_add_arp(unsigned long addr, struct sk_buff *skb, struct device *dev) |
skb | 89 | net/inet/sock.c | print_skb(struct sk_buff *skb) |
skb | 91 | net/inet/sock.c | if (!skb) { |
skb | 95 | net/inet/sock.c | printk(" prev = %p, next = %p\n", skb->prev, skb->next); |
skb | 96 | net/inet/sock.c | printk(" sk = %p link3 = %p\n", skb->sk, skb->link3); |
skb | 97 | net/inet/sock.c | printk(" mem_addr = %p, mem_len = %d\n", skb->mem_addr, skb->mem_len); |
skb | 98 | net/inet/sock.c | printk(" used = %d free = %d\n", skb->used,skb->free); |
skb | 103 | net/inet/sock.c | lock_skb(struct sk_buff *skb) |
skb | 105 | net/inet/sock.c | if (skb->lock) { |
skb | 108 | net/inet/sock.c | skb->lock = 1; |
skb | 113 | net/inet/sock.c | kfree_skb(struct sk_buff *skb, int rw) |
skb | 115 | net/inet/sock.c | if (skb == NULL) { |
skb | 120 | net/inet/sock.c | if (skb->lock) { |
skb | 121 | net/inet/sock.c | skb->free = 1; |
skb | 124 | net/inet/sock.c | skb->magic = 0; |
skb | 125 | net/inet/sock.c | if (skb->sk) { |
skb | 127 | net/inet/sock.c | skb->sk->prot->rfree(skb->sk, skb->mem_addr, skb->mem_len); |
skb | 129 | net/inet/sock.c | skb->sk->prot->wfree(skb->sk, skb->mem_addr, skb->mem_len); |
skb | 132 | net/inet/sock.c | kfree_s(skb->mem_addr, skb->mem_len); |
skb | 138 | net/inet/sock.c | unlock_skb(struct sk_buff *skb, int rw) |
skb | 140 | net/inet/sock.c | if (skb->lock != 1) { |
skb | 143 | net/inet/sock.c | skb->lock = 0; |
skb | 144 | net/inet/sock.c | if (skb->free) kfree_skb(skb, rw); |
skb | 308 | net/inet/sock.c | struct sk_buff *skb; |
skb | 324 | net/inet/sock.c | for(skb = sk->wfront; skb != NULL; ) { |
skb | 327 | net/inet/sock.c | skb2=(struct sk_buff *)skb->next; |
skb | 328 | net/inet/sock.c | if (skb->magic != TCP_WRITE_QUEUE_MAGIC) { |
skb | 330 | net/inet/sock.c | skb->magic); |
skb | 333 | net/inet/sock.c | kfree_skb(skb, FREE_WRITE); |
skb | 334 | net/inet/sock.c | skb = skb2; |
skb | 341 | net/inet/sock.c | skb = sk->rqueue; |
skb | 345 | net/inet/sock.c | skb2 = (struct sk_buff *)skb->next; |
skb | 351 | net/inet/sock.c | if (skb->sk != NULL && skb->sk != sk) { |
skb | 352 | net/inet/sock.c | skb->sk->dead = 1; |
skb | 353 | net/inet/sock.c | skb->sk->prot->close(skb->sk, 0); |
skb | 355 | net/inet/sock.c | kfree_skb(skb, FREE_READ); |
skb | 356 | net/inet/sock.c | skb = skb2; |
skb | 357 | net/inet/sock.c | } while(skb != sk->rqueue); |
skb | 362 | net/inet/sock.c | for(skb = sk->send_head; skb != NULL; ) { |
skb | 373 | net/inet/sock.c | if (skb->next != NULL) { |
skb | 376 | net/inet/sock.c | if (skb->next != skb) { |
skb | 377 | net/inet/sock.c | skb->next->prev = skb->prev; |
skb | 378 | net/inet/sock.c | skb->prev->next = skb->next; |
skb | 380 | net/inet/sock.c | if (skb == arp_q) { |
skb | 381 | net/inet/sock.c | if (skb->magic != ARP_QUEUE_MAGIC) { |
skb | 384 | net/inet/sock.c | "bas magic(%X)\n", skb->magic); |
skb | 389 | net/inet/sock.c | arp_q = skb->next; |
skb | 392 | net/inet/sock.c | if (skb->dev && |
skb | 393 | net/inet/sock.c | skb->dev->buffs[i] == skb) { |
skb | 394 | net/inet/sock.c | if (skb->magic != DEV_QUEUE_MAGIC) { |
skb | 397 | net/inet/sock.c | "with bad magic(%X)\n", skb->magic); |
skb | 401 | net/inet/sock.c | skb->dev->buffs[i]= skb->next; |
skb | 407 | net/inet/sock.c | if (skb == arp_q) { |
skb | 408 | net/inet/sock.c | if (skb->magic != ARP_QUEUE_MAGIC) { |
skb | 411 | net/inet/sock.c | "bas magic(%X)\n", skb->magic); |
skb | 417 | net/inet/sock.c | if (skb->dev && |
skb | 418 | net/inet/sock.c | skb->dev->buffs[i] == skb) { |
skb | 419 | net/inet/sock.c | if (skb->magic != DEV_QUEUE_MAGIC) { |
skb | 422 | net/inet/sock.c | "with bad magic(%X)\n", skb->magic); |
skb | 426 | net/inet/sock.c | skb->dev->buffs[i]= NULL; |
skb | 433 | net/inet/sock.c | skb->dev = NULL; |
skb | 435 | net/inet/sock.c | skb2 = (struct sk_buff *)skb->link3; |
skb | 436 | net/inet/sock.c | kfree_skb(skb, FREE_WRITE); |
skb | 437 | net/inet/sock.c | skb = skb2; |
skb | 446 | net/inet/sock.c | skb = (struct sk_buff *)sk->back_log; |
skb | 450 | net/inet/sock.c | skb2 = (struct sk_buff *)skb->next; |
skb | 451 | net/inet/sock.c | kfree_skb(skb, FREE_READ); |
skb | 452 | net/inet/sock.c | skb = skb2; |
skb | 453 | net/inet/sock.c | } while(skb != sk->back_log); |
skb | 1587 | net/inet/sock.c | struct sk_buff *skb; |
skb | 1590 | net/inet/sock.c | skb =(struct sk_buff *)sk->back_log; |
skb | 1591 | net/inet/sock.c | DPRINTF((DBG_INET, "release_sock: skb = %X:\n", skb)); |
skb | 1592 | net/inet/sock.c | if (skb->next != skb) { |
skb | 1593 | net/inet/sock.c | sk->back_log = skb->next; |
skb | 1594 | net/inet/sock.c | skb->prev->next = skb->next; |
skb | 1595 | net/inet/sock.c | skb->next->prev = skb->prev; |
skb | 1601 | net/inet/sock.c | if (sk->prot->rcv) sk->prot->rcv(skb, skb->dev, sk->opt, |
skb | 1602 | net/inet/sock.c | skb->saddr, skb->len, skb->daddr, 1, |
skb | 134 | net/inet/sock.h | int (*build_header)(struct sk_buff *skb, |
skb | 143 | net/inet/sock.h | struct device *dev, struct sk_buff *skb, |
skb | 82 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 84 | net/inet/tcp.c | skb = sk->rqueue; |
skb | 85 | net/inet/tcp.c | if (skb == NULL) return(NULL); |
skb | 86 | net/inet/tcp.c | sk->rqueue =(struct sk_buff *)skb->next; |
skb | 87 | net/inet/tcp.c | if (sk->rqueue == skb) { |
skb | 90 | net/inet/tcp.c | sk->rqueue->prev = skb->prev; |
skb | 93 | net/inet/tcp.c | return(skb); |
skb | 195 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 205 | net/inet/tcp.c | skb =(struct sk_buff *)sk->rqueue->next; |
skb | 215 | net/inet/tcp.c | if (before(counted, skb->h.th->seq)) break; |
skb | 216 | net/inet/tcp.c | sum = skb->len -(counted - skb->h.th->seq); |
skb | 217 | net/inet/tcp.c | if (skb->h.th->syn) sum++; |
skb | 218 | net/inet/tcp.c | if (skb->h.th->urg) { |
skb | 219 | net/inet/tcp.c | sum -= ntohs(skb->h.th->urg_ptr); |
skb | 223 | net/inet/tcp.c | if (skb->h.th->syn) amount--; |
skb | 226 | net/inet/tcp.c | if (amount && skb->h.th->psh) break; |
skb | 227 | net/inet/tcp.c | skb =(struct sk_buff *)skb->next; |
skb | 228 | net/inet/tcp.c | } while(skb != sk->rqueue->next); |
skb | 337 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 346 | net/inet/tcp.c | skb =(struct sk_buff *)sk->rqueue->next; |
skb | 347 | net/inet/tcp.c | if (sk->copied_seq+1 == skb->h.th->seq && |
skb | 348 | net/inet/tcp.c | skb->h.th->urg) answ = 1; |
skb | 450 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 454 | net/inet/tcp.c | skb = sk->send_tmp; |
skb | 457 | net/inet/tcp.c | tcp_send_check(skb->h.th, sk->saddr, sk->daddr, |
skb | 458 | net/inet/tcp.c | skb->len-(unsigned long)skb->h.th + |
skb | 459 | net/inet/tcp.c | (unsigned long)(skb+1), sk); |
skb | 461 | net/inet/tcp.c | skb->h.seq = sk->send_seq; |
skb | 468 | net/inet/tcp.c | skb->next = NULL; |
skb | 469 | net/inet/tcp.c | skb->magic = TCP_WRITE_QUEUE_MAGIC; |
skb | 471 | net/inet/tcp.c | sk->wfront=skb; |
skb | 473 | net/inet/tcp.c | sk->wback->next = skb; |
skb | 475 | net/inet/tcp.c | sk->wback = skb; |
skb | 477 | net/inet/tcp.c | sk->prot->queue_xmit(sk, skb->dev, skb,0); |
skb | 595 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 683 | net/inet/tcp.c | skb = sk->send_tmp; |
skb | 685 | net/inet/tcp.c | copy = min(sk->mss - skb->len + 128 + |
skb | 694 | net/inet/tcp.c | memcpy_fromfs((unsigned char *)(skb+1) + skb->len, from, copy); |
skb | 695 | net/inet/tcp.c | skb->len += copy; |
skb | 702 | net/inet/tcp.c | if (skb->len -(unsigned long)skb->h.th + |
skb | 703 | net/inet/tcp.c | (unsigned long)(skb+1) >= sk->mss ||(flags & MSG_OOB)) { |
skb | 723 | net/inet/tcp.c | skb = (struct sk_buff *) prot->wmalloc(sk, |
skb | 725 | net/inet/tcp.c | sizeof(*skb), 0, GFP_KERNEL); |
skb | 727 | net/inet/tcp.c | sk->send_tmp = skb; |
skb | 728 | net/inet/tcp.c | if (skb != NULL) |
skb | 729 | net/inet/tcp.c | skb->mem_len = sk->mss + 128 + prot->max_header + sizeof(*skb); |
skb | 733 | net/inet/tcp.c | skb = (struct sk_buff *) prot->wmalloc(sk, |
skb | 735 | net/inet/tcp.c | sizeof(*skb), 0, GFP_KERNEL); |
skb | 737 | net/inet/tcp.c | if (skb != NULL) |
skb | 738 | net/inet/tcp.c | skb->mem_len = copy+prot->max_header + sizeof(*skb); |
skb | 742 | net/inet/tcp.c | if (skb == NULL) { |
skb | 772 | net/inet/tcp.c | skb->mem_addr = skb; |
skb | 773 | net/inet/tcp.c | skb->len = 0; |
skb | 774 | net/inet/tcp.c | skb->sk = sk; |
skb | 775 | net/inet/tcp.c | skb->lock = 0; |
skb | 776 | net/inet/tcp.c | skb->free = 0; |
skb | 778 | net/inet/tcp.c | buff =(unsigned char *)(skb+1); |
skb | 784 | net/inet/tcp.c | tmp = prot->build_header(skb, sk->saddr, sk->daddr, &dev, |
skb | 785 | net/inet/tcp.c | IPPROTO_TCP, sk->opt, skb->mem_len); |
skb | 787 | net/inet/tcp.c | prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 793 | net/inet/tcp.c | skb->len += tmp; |
skb | 794 | net/inet/tcp.c | skb->dev = dev; |
skb | 796 | net/inet/tcp.c | skb->h.th =(struct tcphdr *) buff; |
skb | 799 | net/inet/tcp.c | prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 810 | net/inet/tcp.c | skb->len += tmp; |
skb | 816 | net/inet/tcp.c | skb->len += copy; |
skb | 817 | net/inet/tcp.c | skb->free = 0; |
skb | 825 | net/inet/tcp.c | skb->h.seq = sk->send_seq; |
skb | 832 | net/inet/tcp.c | skb->next = NULL; |
skb | 833 | net/inet/tcp.c | skb->magic = TCP_WRITE_QUEUE_MAGIC; |
skb | 835 | net/inet/tcp.c | sk->wfront = skb; |
skb | 837 | net/inet/tcp.c | sk->wback->next = skb; |
skb | 839 | net/inet/tcp.c | sk->wback = skb; |
skb | 841 | net/inet/tcp.c | prot->queue_xmit(sk, dev, skb,0); |
skb | 951 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 953 | net/inet/tcp.c | skb =(struct sk_buff *)sk->rqueue->next; |
skb | 954 | net/inet/tcp.c | if (!skb->used) break; |
skb | 955 | net/inet/tcp.c | if (sk->rqueue == skb) { |
skb | 958 | net/inet/tcp.c | skb->next->prev = skb->prev; |
skb | 959 | net/inet/tcp.c | skb->prev->next = skb->next; |
skb | 961 | net/inet/tcp.c | skb->sk = sk; |
skb | 962 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1007 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 1063 | net/inet/tcp.c | skb =(struct sk_buff *)sk->rqueue->next; |
skb | 1067 | net/inet/tcp.c | if (skb->h.th->urg && !skb->urg_used) { |
skb | 1068 | net/inet/tcp.c | if (skb->h.th->urg_ptr == 0) { |
skb | 1069 | net/inet/tcp.c | skb->h.th->urg_ptr = ntohs(skb->len); |
skb | 1071 | net/inet/tcp.c | amt = min(ntohs(skb->h.th->urg_ptr),len); |
skb | 1073 | net/inet/tcp.c | memcpy_tofs(to,(unsigned char *)(skb->h.th) + |
skb | 1074 | net/inet/tcp.c | skb->h.th->doff*4, amt); |
skb | 1077 | net/inet/tcp.c | skb->urg_used = 1; |
skb | 1084 | net/inet/tcp.c | skb =(struct sk_buff *)skb->next; |
skb | 1085 | net/inet/tcp.c | } while(skb != sk->rqueue->next); |
skb | 1099 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 1116 | net/inet/tcp.c | if (sk->rqueue != NULL) skb =(struct sk_buff *)sk->rqueue->next; |
skb | 1117 | net/inet/tcp.c | else skb = NULL; |
skb | 1124 | net/inet/tcp.c | while(skb == NULL || |
skb | 1125 | net/inet/tcp.c | before(sk->copied_seq+1, skb->h.th->seq) || skb->used) { |
skb | 1126 | net/inet/tcp.c | DPRINTF((DBG_TCP, "skb = %X:\n", skb)); |
skb | 1212 | net/inet/tcp.c | if (sk->rqueue == NULL) skb = NULL; |
skb | 1213 | net/inet/tcp.c | else skb =(struct sk_buff *)sk->rqueue->next; |
skb | 1221 | net/inet/tcp.c | offset = sk->copied_seq+1 - skb->h.th->seq; |
skb | 1223 | net/inet/tcp.c | if (skb->h.th->syn) offset--; |
skb | 1224 | net/inet/tcp.c | if (offset < skb->len) { |
skb | 1229 | net/inet/tcp.c | if (skb->h.th->urg) { |
skb | 1230 | net/inet/tcp.c | if (skb->urg_used) { |
skb | 1231 | net/inet/tcp.c | sk->copied_seq += ntohs(skb->h.th->urg_ptr); |
skb | 1232 | net/inet/tcp.c | offset += ntohs(skb->h.th->urg_ptr); |
skb | 1233 | net/inet/tcp.c | if (offset >= skb->len) { |
skb | 1234 | net/inet/tcp.c | skb->used = 1; |
skb | 1235 | net/inet/tcp.c | skb =(struct sk_buff *)skb->next; |
skb | 1245 | net/inet/tcp.c | used = min(skb->len - offset, len); |
skb | 1247 | net/inet/tcp.c | memcpy_tofs(to,((unsigned char *)skb->h.th) + |
skb | 1248 | net/inet/tcp.c | skb->h.th->doff*4 + offset, used); |
skb | 1260 | net/inet/tcp.c | (!skb->h.th->urg || skb->urg_used) && |
skb | 1261 | net/inet/tcp.c | (used + offset >= skb->len)) skb->used = 1; |
skb | 1267 | net/inet/tcp.c | if (skb->h.th->psh || skb->h.th->urg) { |
skb | 1271 | net/inet/tcp.c | skb->used = 1; |
skb | 1273 | net/inet/tcp.c | skb =(struct sk_buff *)skb->next; |
skb | 1459 | net/inet/tcp.c | tcp_conn_request(struct sock *sk, struct sk_buff *skb, |
skb | 1472 | net/inet/tcp.c | sk, skb, daddr, saddr, opt, dev)); |
skb | 1474 | net/inet/tcp.c | th = skb->h.th; |
skb | 1482 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1491 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1505 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1534 | net/inet/tcp.c | newsk->acked_seq = skb->h.th->seq+1; |
skb | 1535 | net/inet/tcp.c | newsk->fin_seq = skb->h.th->seq; |
skb | 1536 | net/inet/tcp.c | newsk->copied_seq = skb->h.th->seq; |
skb | 1546 | net/inet/tcp.c | newsk->dummy_th.source = skb->h.th->dest; |
skb | 1547 | net/inet/tcp.c | newsk->dummy_th.dest = skb->h.th->source; |
skb | 1563 | net/inet/tcp.c | newsk->acked_seq = skb->h.th->seq + 1; |
skb | 1564 | net/inet/tcp.c | newsk->copied_seq = skb->h.th->seq; |
skb | 1566 | net/inet/tcp.c | if (skb->h.th->doff == 5) { |
skb | 1569 | net/inet/tcp.c | ptr =(unsigned char *)(skb->h.th + 1); |
skb | 1583 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1605 | net/inet/tcp.c | skb->sk = sk; |
skb | 1606 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1613 | net/inet/tcp.c | memcpy(t1, skb->h.th, sizeof(*t1)); |
skb | 1617 | net/inet/tcp.c | t1->dest = skb->h.th->source; |
skb | 1629 | net/inet/tcp.c | t1->ack_seq = ntohl(skb->h.th->seq+1); |
skb | 1642 | net/inet/tcp.c | skb->sk = newsk; |
skb | 1645 | net/inet/tcp.c | sk->rmem_alloc -= skb->mem_len; |
skb | 1646 | net/inet/tcp.c | newsk->rmem_alloc += skb->mem_len; |
skb | 1649 | net/inet/tcp.c | skb->next = skb; |
skb | 1650 | net/inet/tcp.c | skb->prev = skb; |
skb | 1651 | net/inet/tcp.c | sk->rqueue = skb; |
skb | 1653 | net/inet/tcp.c | skb->next = sk->rqueue; |
skb | 1654 | net/inet/tcp.c | skb->prev = sk->rqueue->prev; |
skb | 1655 | net/inet/tcp.c | sk->rqueue->prev = skb; |
skb | 1656 | net/inet/tcp.c | skb->prev->next = skb; |
skb | 1686 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 1689 | net/inet/tcp.c | skb = sk->rqueue; |
skb | 1691 | net/inet/tcp.c | skb2 =(struct sk_buff *)skb->next; |
skb | 1693 | net/inet/tcp.c | if (skb->len > 0 && |
skb | 1694 | net/inet/tcp.c | after(skb->h.th->seq + skb->len + 1, sk->copied_seq)) |
skb | 1696 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 1697 | net/inet/tcp.c | skb = skb2; |
skb | 1698 | net/inet/tcp.c | } while(skb != sk->rqueue); |
skb | 1811 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 1817 | net/inet/tcp.c | skb = sk->wfront; |
skb | 1818 | net/inet/tcp.c | sk->wfront =(struct sk_buff *)skb->next; |
skb | 1820 | net/inet/tcp.c | skb->next = NULL; |
skb | 1821 | net/inet/tcp.c | if (skb->magic != TCP_WRITE_QUEUE_MAGIC) { |
skb | 1823 | net/inet/tcp.c | "queue\n", skb->magic)); |
skb | 1828 | net/inet/tcp.c | skb->magic = 0; |
skb | 1832 | net/inet/tcp.c | if (before(skb->h.seq, sk->rcv_ack_seq +1)) { |
skb | 1834 | net/inet/tcp.c | kfree_skb(skb, FREE_WRITE); |
skb | 1837 | net/inet/tcp.c | sk->prot->queue_xmit(sk, skb->dev, skb, skb->free); |
skb | 1851 | net/inet/tcp.c | struct sk_buff *skb,*skb2,*skb3; |
skb | 1853 | net/inet/tcp.c | for (skb = sk->send_head; skb != NULL; skb = skb2) { |
skb | 1854 | net/inet/tcp.c | skb2 = (struct sk_buff *)skb->link3; |
skb | 1856 | net/inet/tcp.c | skb->link3 = list; |
skb | 1857 | net/inet/tcp.c | sk->send_tail = skb; |
skb | 1858 | net/inet/tcp.c | list = skb; |
skb | 1862 | net/inet/tcp.c | before(skb->h.seq, skb3->link3->h.seq)) { |
skb | 1863 | net/inet/tcp.c | skb->link3 = skb3->link3; |
skb | 1864 | net/inet/tcp.c | skb3->link3 = skb; |
skb | 1865 | net/inet/tcp.c | if (skb->link3 == NULL) sk->send_tail = skb; |
skb | 1909 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 1922 | net/inet/tcp.c | skb = skb2; |
skb | 1923 | net/inet/tcp.c | skb2 = (struct sk_buff *)skb->link3; |
skb | 1924 | net/inet/tcp.c | skb->link3 = NULL; |
skb | 1925 | net/inet/tcp.c | if (after(skb->h.seq, sk->window_seq)) { |
skb | 1929 | net/inet/tcp.c | if (skb->next != NULL) { |
skb | 1932 | net/inet/tcp.c | if (skb->next != skb) { |
skb | 1933 | net/inet/tcp.c | skb->next->prev = skb->prev; |
skb | 1934 | net/inet/tcp.c | skb->prev->next = skb->next; |
skb | 1938 | net/inet/tcp.c | if (skb->dev->buffs[i] == skb) { |
skb | 1939 | net/inet/tcp.c | if (skb->next == skb) |
skb | 1940 | net/inet/tcp.c | skb->dev->buffs[i] = NULL; |
skb | 1942 | net/inet/tcp.c | skb->dev->buffs[i] = skb->next; |
skb | 1946 | net/inet/tcp.c | if (arp_q == skb) { |
skb | 1947 | net/inet/tcp.c | if (skb->next == skb) arp_q = NULL; |
skb | 1948 | net/inet/tcp.c | else arp_q = skb->next; |
skb | 1953 | net/inet/tcp.c | skb->magic = TCP_WRITE_QUEUE_MAGIC; |
skb | 1955 | net/inet/tcp.c | skb->next = sk->wfront; |
skb | 1956 | net/inet/tcp.c | sk->wfront = skb; |
skb | 1958 | net/inet/tcp.c | skb->next = wskb->next; |
skb | 1959 | net/inet/tcp.c | wskb->next = skb; |
skb | 1961 | net/inet/tcp.c | if (sk->wback == wskb) sk->wback = skb; |
skb | 1962 | net/inet/tcp.c | wskb = skb; |
skb | 1965 | net/inet/tcp.c | sk->send_head = skb; |
skb | 1966 | net/inet/tcp.c | sk->send_tail = skb; |
skb | 1968 | net/inet/tcp.c | sk->send_tail->link3 = skb; |
skb | 1969 | net/inet/tcp.c | sk->send_tail = skb; |
skb | 1971 | net/inet/tcp.c | skb->link3 = NULL; |
skb | 2155 | net/inet/tcp.c | tcp_data(struct sk_buff *skb, struct sock *sk, |
skb | 2161 | net/inet/tcp.c | th = skb->h.th; |
skb | 2163 | net/inet/tcp.c | skb->len = len -(th->doff*4); |
skb | 2165 | net/inet/tcp.c | DPRINTF((DBG_TCP, "tcp_data len = %d sk = %X:\n", skb->len, sk)); |
skb | 2167 | net/inet/tcp.c | sk->bytes_rcv += skb->len; |
skb | 2168 | net/inet/tcp.c | if (skb->len == 0 && !th->fin && !th->urg && !th->psh) { |
skb | 2171 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2176 | net/inet/tcp.c | sk->acked_seq = th->seq + skb->len + th->syn + th->fin; |
skb | 2177 | net/inet/tcp.c | tcp_reset(sk->saddr, sk->daddr, skb->h.th, |
skb | 2178 | net/inet/tcp.c | sk->prot, NULL, skb->dev); |
skb | 2183 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2198 | net/inet/tcp.c | DPRINTF((DBG_TCP, "tcp_data: skb = %X:\n", skb)); |
skb | 2200 | net/inet/tcp.c | sk->rqueue = skb; |
skb | 2201 | net/inet/tcp.c | skb->next = skb; |
skb | 2202 | net/inet/tcp.c | skb->prev = skb; |
skb | 2211 | net/inet/tcp.c | skb->prev = skb1; |
skb | 2212 | net/inet/tcp.c | skb->next = skb1->next; |
skb | 2213 | net/inet/tcp.c | skb->next->prev = skb; |
skb | 2214 | net/inet/tcp.c | skb1->next = skb; |
skb | 2215 | net/inet/tcp.c | if (skb1 == sk->rqueue) sk->rqueue = skb; |
skb | 2219 | net/inet/tcp.c | skb->next= skb1; |
skb | 2220 | net/inet/tcp.c | skb->prev = skb1->prev; |
skb | 2221 | net/inet/tcp.c | skb->prev->next = skb; |
skb | 2222 | net/inet/tcp.c | skb1->prev = skb; |
skb | 2228 | net/inet/tcp.c | DPRINTF((DBG_TCP, "skb = %X:\n", skb)); |
skb | 2231 | net/inet/tcp.c | th->ack_seq = th->seq + skb->len; |
skb | 2245 | net/inet/tcp.c | skb->acked = 1; |
skb | 2248 | net/inet/tcp.c | if (skb->h.th->fin) { |
skb | 2253 | net/inet/tcp.c | for(skb2 = (struct sk_buff *)skb->next; |
skb | 2296 | net/inet/tcp.c | if (!skb->acked) { |
skb | 2431 | net/inet/tcp.c | struct sk_buff *skb; |
skb | 2448 | net/inet/tcp.c | while((skb = get_firstr(sk)) == NULL) { |
skb | 2468 | net/inet/tcp.c | newsk = skb->sk; |
skb | 2470 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2633 | net/inet/tcp.c | tcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt, |
skb | 2640 | net/inet/tcp.c | if (!skb) { |
skb | 2658 | net/inet/tcp.c | th = skb->h.th; |
skb | 2663 | net/inet/tcp.c | DPRINTF((DBG_TCP, "len = %d, redo = %d, skb=%X\n", len, redo, skb)); |
skb | 2671 | net/inet/tcp.c | skb->sk = NULL; |
skb | 2674 | net/inet/tcp.c | kfree_skb(skb, 0); |
skb | 2685 | net/inet/tcp.c | skb->sk = NULL; |
skb | 2686 | net/inet/tcp.c | kfree_skb(skb, 0); |
skb | 2690 | net/inet/tcp.c | skb->len = len; |
skb | 2691 | net/inet/tcp.c | skb->sk = sk; |
skb | 2692 | net/inet/tcp.c | skb->acked = 0; |
skb | 2693 | net/inet/tcp.c | skb->used = 0; |
skb | 2694 | net/inet/tcp.c | skb->free = 0; |
skb | 2695 | net/inet/tcp.c | skb->urg_used = 0; |
skb | 2696 | net/inet/tcp.c | skb->saddr = daddr; |
skb | 2697 | net/inet/tcp.c | skb->daddr = saddr; |
skb | 2705 | net/inet/tcp.c | sk->back_log = skb; |
skb | 2706 | net/inet/tcp.c | skb->next = skb; |
skb | 2707 | net/inet/tcp.c | skb->prev = skb; |
skb | 2709 | net/inet/tcp.c | skb->next = sk->back_log; |
skb | 2710 | net/inet/tcp.c | skb->prev = sk->back_log->prev; |
skb | 2711 | net/inet/tcp.c | skb->prev->next = skb; |
skb | 2712 | net/inet/tcp.c | skb->next->prev = skb; |
skb | 2732 | net/inet/tcp.c | if (sk->rmem_alloc + skb->mem_len >= SK_RMEM_MAX) { |
skb | 2733 | net/inet/tcp.c | skb->sk = NULL; |
skb | 2735 | net/inet/tcp.c | kfree_skb(skb, 0); |
skb | 2739 | net/inet/tcp.c | sk->rmem_alloc += skb->mem_len; |
skb | 2757 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2771 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2795 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2810 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2817 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2824 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2831 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2836 | net/inet/tcp.c | if (tcp_data(skb, sk, saddr, len)) { |
skb | 2837 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2848 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2858 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2864 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2870 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2890 | net/inet/tcp.c | tcp_conn_request(sk, skb, daddr, saddr, opt, dev); |
skb | 2895 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2901 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2914 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2927 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2937 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2947 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2957 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2972 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 2996 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3001 | net/inet/tcp.c | if (tcp_data(skb, sk, saddr, len)) |
skb | 3002 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3011 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 3017 | net/inet/tcp.c | if (tcp_data(skb, sk, saddr, len)) { |
skb | 3018 | net/inet/tcp.c | kfree_skb(skb, FREE_READ); |
skb | 132 | net/inet/tcp.h | extern int tcp_rcv(struct sk_buff *skb, struct device *dev, |
skb | 199 | net/inet/udp.c | struct sk_buff *skb; |
skb | 213 | net/inet/udp.c | skb = (struct sk_buff *) sk->prot->wmalloc(sk, size, 0, GFP_KERNEL); |
skb | 214 | net/inet/udp.c | if (skb == NULL) return(-ENOMEM); |
skb | 216 | net/inet/udp.c | skb->lock = 0; |
skb | 217 | net/inet/udp.c | skb->mem_addr = skb; |
skb | 218 | net/inet/udp.c | skb->mem_len = size; |
skb | 219 | net/inet/udp.c | skb->sk = NULL; |
skb | 220 | net/inet/udp.c | skb->free = 1; |
skb | 221 | net/inet/udp.c | skb->arp = 0; |
skb | 224 | net/inet/udp.c | buff = (unsigned char *) (skb+1); |
skb | 228 | net/inet/udp.c | saddr, sin->sin_addr.s_addr, dev, IPPROTO_UDP, skb->mem_len)); |
skb | 229 | net/inet/udp.c | tmp = sk->prot->build_header(skb, saddr, sin->sin_addr.s_addr, |
skb | 230 | net/inet/udp.c | &dev, IPPROTO_UDP, sk->opt, skb->mem_len); |
skb | 232 | net/inet/udp.c | sk->prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 239 | net/inet/udp.c | skb->len = tmp + sizeof(struct udphdr) + len; /* len + UDP + IP + MAC */ |
skb | 240 | net/inet/udp.c | skb->dev = dev; |
skb | 249 | net/inet/udp.c | sk->prot->wfree(sk, skb->mem_addr, skb->mem_len); |
skb | 267 | net/inet/udp.c | udp_send_check(uh, saddr, sin->sin_addr.s_addr, skb->len - tmp, sk); |
skb | 270 | net/inet/udp.c | sk->prot->queue_xmit(sk, dev, skb, 1); |
skb | 370 | net/inet/udp.c | struct sk_buff *skb; |
skb | 375 | net/inet/udp.c | skb = sk->rqueue; |
skb | 376 | net/inet/udp.c | if (skb != NULL) { |
skb | 382 | net/inet/udp.c | amount = skb->len; |
skb | 409 | net/inet/udp.c | struct sk_buff *skb; |
skb | 462 | net/inet/udp.c | skb = sk->rqueue; |
skb | 465 | net/inet/udp.c | if (skb->next == skb) { |
skb | 469 | net/inet/udp.c | skb->prev->next = skb->next; |
skb | 470 | net/inet/udp.c | skb->next->prev = skb->prev; |
skb | 473 | net/inet/udp.c | copied = min(len, skb->len); |
skb | 477 | net/inet/udp.c | memcpy_tofs(to, skb->h.raw + sizeof(struct udphdr), copied); |
skb | 484 | net/inet/udp.c | addr.sin_port = skb->h.uh->source; |
skb | 485 | net/inet/udp.c | addr.sin_addr.s_addr = skb->daddr; |
skb | 494 | net/inet/udp.c | kfree_skb(skb, FREE_READ); |
skb | 542 | net/inet/udp.c | udp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt, |
skb | 549 | net/inet/udp.c | uh = (struct udphdr *) skb->h.uh; |
skb | 553 | net/inet/udp.c | icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, dev); |
skb | 560 | net/inet/udp.c | skb->sk = NULL; |
skb | 561 | net/inet/udp.c | kfree_skb(skb, FREE_WRITE); |
skb | 568 | net/inet/udp.c | skb->sk = NULL; |
skb | 569 | net/inet/udp.c | kfree_skb(skb, FREE_WRITE); |
skb | 573 | net/inet/udp.c | skb->sk = sk; |
skb | 574 | net/inet/udp.c | skb->dev = dev; |
skb | 575 | net/inet/udp.c | skb->len = len; |
skb | 578 | net/inet/udp.c | skb->daddr = saddr; |
skb | 579 | net/inet/udp.c | skb->saddr = daddr; |
skb | 585 | net/inet/udp.c | sk->back_log = skb; |
skb | 586 | net/inet/udp.c | skb->next = skb; |
skb | 587 | net/inet/udp.c | skb->prev = skb; |
skb | 589 | net/inet/udp.c | skb->next = sk->back_log; |
skb | 590 | net/inet/udp.c | skb->prev = sk->back_log->prev; |
skb | 591 | net/inet/udp.c | skb->prev->next = skb; |
skb | 592 | net/inet/udp.c | skb->next->prev = skb; |
skb | 602 | net/inet/udp.c | if (sk->rmem_alloc + skb->mem_len >= SK_RMEM_MAX) { |
skb | 603 | net/inet/udp.c | skb->sk = NULL; |
skb | 604 | net/inet/udp.c | kfree_skb(skb, FREE_WRITE); |
skb | 608 | net/inet/udp.c | sk->rmem_alloc += skb->mem_len; |
skb | 616 | net/inet/udp.c | sk->rqueue = skb; |
skb | 617 | net/inet/udp.c | skb->next = skb; |
skb | 618 | net/inet/udp.c | skb->prev = skb; |
skb | 620 | net/inet/udp.c | skb->next = sk->rqueue; |
skb | 621 | net/inet/udp.c | skb->prev = sk->rqueue->prev; |
skb | 622 | net/inet/udp.c | skb->prev->next = skb; |
skb | 623 | net/inet/udp.c | skb->next->prev = skb; |
skb | 625 | net/inet/udp.c | skb->len = len - sizeof(*uh); |
skb | 40 | net/inet/udp.h | extern int udp_rcv(struct sk_buff *skb, struct device *dev, |