taglinefilesource code
skb61drivers/net/3c501.cstatic int  el_start_xmit(struct sk_buff *skb, struct device *dev);
skb264drivers/net/3c501.cel_start_xmit(struct sk_buff *skb, struct device *dev)
skb289drivers/net/3c501.cif (skb == NULL) {
skb295drivers/net/3c501.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb296drivers/net/3c501.cskb->dev = dev;
skb297drivers/net/3c501.carp_queue (skb);
skb300drivers/net/3c501.cskb->arp=1;
skb302drivers/net/3c501.cif (skb->len <= 0)
skb309drivers/net/3c501.cint gp_start = 0x800 - (ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN);
skb310drivers/net/3c501.cunsigned char *buf = skb->data;
skb320drivers/net/3c501.coutsb(DATAPORT,buf,skb->len);
skb328drivers/net/3c501.cif (skb->free)
skb329drivers/net/3c501.ckfree_skb (skb, FREE_WRITE);
skb435drivers/net/3c501.cstruct sk_buff *skb;
skb451drivers/net/3c501.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb453drivers/net/3c501.cif (skb == NULL) {
skb458drivers/net/3c501.cskb->mem_len = sksize;
skb459drivers/net/3c501.cskb->mem_addr = skb;
skb460drivers/net/3c501.cskb->len = pkt_len;
skb461drivers/net/3c501.cskb->dev = dev;
skb463drivers/net/3c501.cinsb(DATAPORT, skb->data, pkt_len);
skb466drivers/net/3c501.cnetif_rx(skb);
skb468drivers/net/3c501.cskb->lock = 0;
skb469drivers/net/3c501.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb470drivers/net/3c501.ckfree_skbmem(skb, sksize);
skb279drivers/net/3c507.cstatic int  el16_send_packet(struct sk_buff *skb, struct device *dev);
skb459drivers/net/3c507.cel16_send_packet(struct sk_buff *skb, struct device *dev)
skb494drivers/net/3c507.cif (skb == NULL) {
skb501drivers/net/3c507.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb502drivers/net/3c507.cskb->dev = dev;
skb503drivers/net/3c507.carp_queue (skb);
skb506drivers/net/3c507.cskb->arp=1;
skb512drivers/net/3c507.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb513drivers/net/3c507.cunsigned char *buf = skb->data;
skb523drivers/net/3c507.cif (skb->free)
skb524drivers/net/3c507.ckfree_skb (skb, FREE_WRITE);
skb859drivers/net/3c507.cstruct sk_buff *skb;
skb863drivers/net/3c507.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb864drivers/net/3c507.cif (skb == NULL) {
skb869drivers/net/3c507.cskb->mem_len = sksize;
skb870drivers/net/3c507.cskb->mem_addr = skb;
skb871drivers/net/3c507.cskb->len = pkt_len;
skb872drivers/net/3c507.cskb->dev = dev;
skb875drivers/net/3c507.cmemcpy(skb->data, data_frame + 5, pkt_len);
skb878drivers/net/3c507.cnetif_rx(skb);
skb880drivers/net/3c507.cskb->lock = 0;
skb881drivers/net/3c507.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb882drivers/net/3c507.ckfree_skbmem(skb, sksize);
skb76drivers/net/3c509.cstatic int el3_start_xmit(struct sk_buff *skb, struct device *dev);
skb344drivers/net/3c509.cel3_start_xmit(struct sk_buff *skb, struct device *dev)
skb363drivers/net/3c509.cif (skb == NULL) {
skb369drivers/net/3c509.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb370drivers/net/3c509.cskb->dev = dev;
skb371drivers/net/3c509.carp_queue (skb);
skb374drivers/net/3c509.cskb->arp=1;
skb376drivers/net/3c509.cif (skb->len <= 0)
skb381drivers/net/3c509.cdev->name, skb->len, inw(ioaddr + EL3_STATUS));
skb404drivers/net/3c509.coutw(skb->len, ioaddr + TX_FIFO);
skb407drivers/net/3c509.coutsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2);
skb417drivers/net/3c509.cif (skb->free)
skb418drivers/net/3c509.ckfree_skb (skb, FREE_WRITE);
skb569drivers/net/3c509.cstruct sk_buff *skb;
skb571drivers/net/3c509.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb575drivers/net/3c509.cif (skb != NULL) {
skb576drivers/net/3c509.cskb->mem_len = sksize;
skb577drivers/net/3c509.cskb->mem_addr = skb;
skb578drivers/net/3c509.cskb->len = pkt_len;
skb579drivers/net/3c509.cskb->dev = dev;
skb582drivers/net/3c509.cinsl(ioaddr+RX_FIFO, skb->data,
skb586drivers/net/3c509.cnetif_rx(skb);
skb590drivers/net/3c509.cskb->lock = 0;
skb591drivers/net/3c509.cif (dev_rint((unsigned char *)skb, pkt_len,
skb606drivers/net/3c509.ckfree_s(skb, sksize);
skb130drivers/net/8390.cstatic int ei_start_xmit(struct sk_buff *skb, struct device *dev)
skb168drivers/net/8390.cif (skb == NULL) {
skb173drivers/net/8390.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb174drivers/net/8390.cskb->dev = dev;
skb175drivers/net/8390.carp_queue (skb);
skb178drivers/net/8390.cskb->arp=1;
skb180drivers/net/8390.clength = skb->len;
skb181drivers/net/8390.cif (skb->len <= 0)
skb221drivers/net/8390.cei_block_output(dev, length, skb->data, output_page);
skb235drivers/net/8390.cei_block_output(dev, length, skb->data, ei_local->tx_start_page);
skb245drivers/net/8390.cif (skb->free)
skb246drivers/net/8390.ckfree_skb (skb, FREE_WRITE);
skb453drivers/net/8390.cstruct sk_buff *skb;
skb455drivers/net/8390.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb456drivers/net/8390.cif (skb == NULL) {
skb463drivers/net/8390.cskb->mem_len = sksize;
skb464drivers/net/8390.cskb->mem_addr = skb;
skb465drivers/net/8390.cskb->len = pkt_len;
skb466drivers/net/8390.cskb->dev = dev;
skb468drivers/net/8390.cei_block_input(dev, pkt_len, (char *) skb->data,
skb470drivers/net/8390.cnetif_rx(skb);
skb119drivers/net/at1700.cstatic int  net_send_packet(struct sk_buff *skb, struct device *dev);
skb377drivers/net/at1700.cnet_send_packet(struct sk_buff *skb, struct device *dev)
skb408drivers/net/at1700.cif (skb == NULL) {
skb415drivers/net/at1700.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb416drivers/net/at1700.cskb->dev = dev;
skb417drivers/net/at1700.carp_queue (skb);
skb420drivers/net/at1700.cskb->arp=1;
skb427drivers/net/at1700.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb428drivers/net/at1700.cunsigned char *buf = skb->data;
skb452drivers/net/at1700.cif (skb->free)
skb453drivers/net/at1700.ckfree_skb (skb, FREE_WRITE);
skb538drivers/net/at1700.cstruct sk_buff *skb;
skb547drivers/net/at1700.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb548drivers/net/at1700.cif (skb == NULL) {
skb555drivers/net/at1700.cskb->mem_len = sksize;
skb556drivers/net/at1700.cskb->mem_addr = skb;
skb557drivers/net/at1700.cskb->len = pkt_len;
skb558drivers/net/at1700.cskb->dev = dev;
skb560drivers/net/at1700.cinsw(ioaddr + DATAPORT, skb->data, (pkt_len + 1) >> 1);
skb566drivers/net/at1700.cprintk(" %02x", skb->data[i]);
skb571drivers/net/at1700.cnetif_rx(skb);
skb573drivers/net/at1700.cskb->lock = 0;
skb574drivers/net/at1700.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb575drivers/net/at1700.ckfree_s(skb, sksize);
skb142drivers/net/atp.cstatic int  net_send_packet(struct sk_buff *skb, struct device *dev);
skb449drivers/net/atp.cnet_send_packet(struct sk_buff *skb, struct device *dev)
skb473drivers/net/atp.cif (skb == NULL) {
skb480drivers/net/atp.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb481drivers/net/atp.cskb->dev = dev;
skb482drivers/net/atp.carp_queue (skb);
skb485drivers/net/atp.cskb->arp=1;
skb492drivers/net/atp.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb493drivers/net/atp.cunsigned char *buf = skb->data;
skb521drivers/net/atp.cif (skb->free)
skb522drivers/net/atp.ckfree_skb (skb, FREE_WRITE);
skb678drivers/net/atp.cstruct sk_buff *skb;
skb680drivers/net/atp.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb681drivers/net/atp.cif (skb == NULL) {
skb686drivers/net/atp.cskb->mem_len = sksize;
skb687drivers/net/atp.cskb->mem_addr = skb;
skb688drivers/net/atp.cskb->len = pkt_len;
skb689drivers/net/atp.cskb->dev = dev;
skb691drivers/net/atp.cread_block(ioaddr, pkt_len, skb->data, dev->if_port);
skb694drivers/net/atp.cunsigned char *data = skb->data;
skb703drivers/net/atp.cnetif_rx(skb);
skb705drivers/net/atp.cskb->lock = 0;
skb706drivers/net/atp.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb707drivers/net/atp.ckfree_s(skb, sksize);
skb226drivers/net/d_link.cstatic int  d_link_start_xmit(struct sk_buff *skb, struct device *dev);
skb384drivers/net/d_link.cd_link_start_xmit(struct sk_buff *skb, struct device *dev)
skb389drivers/net/d_link.cunsigned char  *buffer = skb->data;
skb397drivers/net/d_link.cif (skb == NULL) {
skb403drivers/net/d_link.cif (!skb->arp)
skb404drivers/net/d_link.cif(dev->rebuild_header(skb->data, dev)) {
skb405drivers/net/d_link.cskb->dev = dev;
skb406drivers/net/d_link.carp_queue (skb);
skb409drivers/net/d_link.cskb->arp = 1;
skb428drivers/net/d_link.cPRINTK(("d_link_start_xmit:len=%d, page %d/%d\n", skb->len, tx_fifo_in, free_tx_pages));
skb430drivers/net/d_link.cif ((len = skb->len) < RUNT)
skb457drivers/net/d_link.cif (skb->free)
skb458drivers/net/d_link.ckfree_skb (skb, FREE_WRITE);
skb558drivers/net/d_link.cstruct sk_buff  *skb;
skb581drivers/net/d_link.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb583drivers/net/d_link.cif (skb == NULL) {
skb590drivers/net/d_link.cskb->lock = 0;
skb591drivers/net/d_link.cskb->mem_len = sksize;
skb592drivers/net/d_link.cskb->mem_addr = skb;
skb594drivers/net/d_link.cbuffer = skb->data;
skb603drivers/net/d_link.cif (dev_rint((unsigned char *)skb, size, IN_SKBUFF, dev))
skb254drivers/net/depca.cstatic int depca_start_xmit(struct sk_buff *skb, struct device *dev);
skb754drivers/net/depca.cdepca_start_xmit(struct sk_buff *skb, struct device *dev)
skb779drivers/net/depca.cif (skb == NULL) {
skb785drivers/net/depca.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb786drivers/net/depca.cskb->dev = dev;
skb787drivers/net/depca.carp_queue (skb);
skb790drivers/net/depca.cskb->arp=1;
skb792drivers/net/depca.cif (skb->len <= 0) {
skb816drivers/net/depca.clong skbL = skb->len;
skb817drivers/net/depca.cchar *p = (char *) skb->data;
skb838drivers/net/depca.cmemcpy((unsigned char *)(buf), skb->data, len);
skb862drivers/net/depca.cmemcpy((unsigned char *)buf, skb->data, PKT_HDR_LEN);
skb899drivers/net/depca.cif (skb->free) {
skb900drivers/net/depca.ckfree_skb (skb, FREE_WRITE);
skb989drivers/net/depca.cstruct sk_buff *skb;
skb991drivers/net/depca.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb992drivers/net/depca.cif (skb == NULL) {
skb997drivers/net/depca.cskb->mem_len = sksize;
skb998drivers/net/depca.cskb->mem_addr = skb;
skb999drivers/net/depca.cskb->len = pkt_len;
skb1000drivers/net/depca.cskb->dev = dev;
skb1001drivers/net/depca.cmemcpy(skb->data,
skb1009drivers/net/depca.cnetif_rx(skb);
skb1011drivers/net/depca.cskb->lock = 0;
skb1012drivers/net/depca.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb1013drivers/net/depca.ckfree_skbmem(skb, sksize);
skb290drivers/net/eexpress.cstatic int  eexp_send_packet(struct sk_buff *skb, struct device *dev);
skb474drivers/net/eexpress.ceexp_send_packet(struct sk_buff *skb, struct device *dev)
skb509drivers/net/eexpress.cif (skb == NULL) {
skb516drivers/net/eexpress.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb517drivers/net/eexpress.cskb->dev = dev;
skb518drivers/net/eexpress.carp_queue (skb);
skb521drivers/net/eexpress.cskb->arp=1;
skb527drivers/net/eexpress.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb528drivers/net/eexpress.cunsigned char *buf = skb->data;
skb538drivers/net/eexpress.cif (skb->free)
skb539drivers/net/eexpress.ckfree_skb (skb, FREE_WRITE);
skb968drivers/net/eexpress.cstruct sk_buff *skb;
skb972drivers/net/eexpress.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb973drivers/net/eexpress.cif (skb == NULL) {
skb978drivers/net/eexpress.cskb->mem_len = sksize;
skb979drivers/net/eexpress.cskb->mem_addr = skb;
skb980drivers/net/eexpress.cskb->len = pkt_len;
skb981drivers/net/eexpress.cskb->dev = dev;
skb985drivers/net/eexpress.cinsw(ioaddr, skb->data, (pkt_len + 1) >> 1);
skb988drivers/net/eexpress.cnetif_rx(skb);
skb990drivers/net/eexpress.cskb->lock = 0;
skb991drivers/net/eexpress.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb992drivers/net/eexpress.ckfree_s(skb, sksize);
skb211drivers/net/lance.cstatic int lance_start_xmit(struct sk_buff *skb, struct device *dev);
skb468drivers/net/lance.clance_start_xmit(struct sk_buff *skb, struct device *dev)
skb509drivers/net/lance.cif (skb == NULL) {
skb515drivers/net/lance.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb516drivers/net/lance.cskb->dev = dev;
skb517drivers/net/lance.carp_queue (skb);
skb520drivers/net/lance.cskb->arp=1;
skb522drivers/net/lance.cif (skb->len <= 0)
skb548drivers/net/lance.c-(ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN);
skb550drivers/net/lance.clp->tx_ring[entry].length = -skb->len;
skb556drivers/net/lance.cif ((int)(skb->data) + skb->len > 0x01000000) {
skb559drivers/net/lance.cdev->name, (int)(skb->data));
skb560drivers/net/lance.cmemcpy(&lp->tx_bounce_buffs[entry], skb->data, skb->len);
skb563drivers/net/lance.cif (skb->free)
skb564drivers/net/lance.ckfree_skb (skb, FREE_WRITE);
skb568drivers/net/lance.cif(skb->free==0)
skb569drivers/net/lance.cskb_kept_by_device(skb);
skb570drivers/net/lance.clp->tx_ring[entry].base = (int)(skb->data) | 0x83000000;
skb653drivers/net/lance.cstruct sk_buff *skb = ((struct sk_buff *)databuff) - 1;
skb654drivers/net/lance.cif (skb->free)
skb655drivers/net/lance.ckfree_skb(skb, FREE_WRITE);
skb657drivers/net/lance.cskb_device_release(skb,FREE_WRITE);
skb724drivers/net/lance.cstruct sk_buff *skb;
skb726drivers/net/lance.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb727drivers/net/lance.cif (skb == NULL) {
skb732drivers/net/lance.cskb->mem_len = sksize;
skb733drivers/net/lance.cskb->mem_addr = skb;
skb734drivers/net/lance.cskb->len = pkt_len;
skb735drivers/net/lance.cskb->dev = dev;
skb736drivers/net/lance.cmemcpy(skb->data,
skb740drivers/net/lance.cnetif_rx(skb);
skb742drivers/net/lance.cskb->lock = 0;
skb743drivers/net/lance.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb744drivers/net/lance.ckfree_skbmem(skb, sksize);
skb139drivers/net/plip.cstatic int plip_tx_packet(struct sk_buff *skb, struct device *dev);
skb264drivers/net/plip.cplip_tx_packet(struct sk_buff *skb, struct device *dev)
skb281drivers/net/plip.cif (skb == NULL) {
skb288drivers/net/plip.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb289drivers/net/plip.cskb->dev = dev;
skb290drivers/net/plip.carp_queue (skb);
skb293drivers/net/plip.cskb->arp=1;
skb296drivers/net/plip.cret_val = plip_send_packet(dev, skb->data, skb->len);
skb297drivers/net/plip.cif (skb->free)
skb298drivers/net/plip.ckfree_skb (skb, FREE_WRITE);
skb424drivers/net/plip.cstruct sk_buff *skb;
skb474drivers/net/plip.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb475drivers/net/plip.cif (skb == NULL) {
skb480drivers/net/plip.cskb->lock = 0;
skb481drivers/net/plip.cskb->mem_len = sksize;
skb482drivers/net/plip.cskb->mem_addr = skb;
skb487drivers/net/plip.cunsigned char *buf = skb->data;
skb504drivers/net/plip.c} else if(dev_rint((unsigned char *)skb, length, IN_SKBUFF, dev)) {
skb109drivers/net/skeleton.cstatic int  net_send_packet(struct sk_buff *skb, struct device *dev);
skb290drivers/net/skeleton.cnet_send_packet(struct sk_buff *skb, struct device *dev)
skb312drivers/net/skeleton.cif (skb == NULL) {
skb319drivers/net/skeleton.cif (!skb->arp  &&  dev->rebuild_header(skb->data, dev)) {
skb320drivers/net/skeleton.cskb->dev = dev;
skb321drivers/net/skeleton.carp_queue (skb);
skb324drivers/net/skeleton.cskb->arp=1;
skb331drivers/net/skeleton.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb332drivers/net/skeleton.cunsigned char *buf = skb->data;
skb337drivers/net/skeleton.cif (skb->free)
skb338drivers/net/skeleton.ckfree_skb (skb, FREE_WRITE);
skb410drivers/net/skeleton.cstruct sk_buff *skb;
skb412drivers/net/skeleton.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb413drivers/net/skeleton.cif (skb == NULL) {
skb418drivers/net/skeleton.cskb->mem_len = sksize;
skb419drivers/net/skeleton.cskb->mem_addr = skb;
skb420drivers/net/skeleton.cskb->len = pkt_len;
skb421drivers/net/skeleton.cskb->dev = dev;
skb424drivers/net/skeleton.cmemcpy(skb->data, (void*)dev->rmem_start,
skb427drivers/net/skeleton.cinsw(ioaddr, skb->data, (pkt_len + 1) >> 1);
skb430drivers/net/skeleton.cnetif_rx(skb);
skb432drivers/net/skeleton.cskb->lock = 0;
skb433drivers/net/skeleton.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb434drivers/net/skeleton.ckfree_s(skb, sksize);
skb530drivers/net/slip.csl_xmit(struct sk_buff *skb, struct device *dev)
skb540drivers/net/slip.cdev->name, skb, sl->sending));
skb554drivers/net/slip.cif (skb != NULL) {
skb558drivers/net/slip.cif(!skb->arp && dev->rebuild_header(skb->data,dev))
skb560drivers/net/slip.cskb->dev=dev;
skb561drivers/net/slip.carp_queue(skb);
skb564drivers/net/slip.cskb->arp=1;
skb568drivers/net/slip.csize = skb->len;
skb573drivers/net/slip.csize = ((struct iphdr *)(skb->data))->tot_len;
skb578drivers/net/slip.csl_encaps(sl, skb->data, size);
skb579drivers/net/slip.cif (skb->free)
skb580drivers/net/slip.ckfree_skb(skb, FREE_WRITE);
skb587drivers/net/slip.csl_type_trans (struct sk_buff *skb, struct device *dev)
skb615drivers/net/slip.csl_add_arp(unsigned long addr, struct sk_buff *skb, struct device *dev)
skb621drivers/net/slip.carp_add(addr,((char *) skb->data)+8,dev);
skb205net/inet/arp.cstruct sk_buff *skb;
skb212net/inet/arp.cwhile((skb=skb_dequeue(&work_q))!=NULL)
skb214net/inet/arp.cIS_SKB(skb);
skb215net/inet/arp.cskb->magic = 0;
skb216net/inet/arp.cskb->next = NULL;
skb217net/inet/arp.cskb->prev = NULL;
skb221net/inet/arp.cskb->tries--;
skb222net/inet/arp.cif (skb->tries == 0) {
skb232net/inet/arp.cskb->sk = NULL;
skb233net/inet/arp.cif(skb->free)
skb234net/inet/arp.ckfree_skb(skb, FREE_WRITE);
skb243net/inet/arp.cif (skb->arp || !skb->dev->rebuild_header(skb->data, skb->dev)) {
skb244net/inet/arp.cskb->arp  = 1;
skb245net/inet/arp.cskb->dev->queue_xmit(skb, skb->dev, 0);
skb248net/inet/arp.cskb->magic = ARP_QUEUE_MAGIC;      
skb249net/inet/arp.cskb_queue_head(&arp_q,skb);
skb282net/inet/arp.cstruct sk_buff *skb;
skb301net/inet/arp.cskb = alloc_skb(sizeof(struct sk_buff) +
skb305net/inet/arp.cif (skb == NULL) {
skb310net/inet/arp.cskb->mem_addr = skb;
skb311net/inet/arp.cskb->len      = sizeof(struct arphdr) + (2 * arp1->ar_hln) + 
skb313net/inet/arp.cskb->mem_len  = sizeof(struct sk_buff) + skb->len;
skb314net/inet/arp.chlen = dev->hard_header(skb->data, dev, ETH_P_ARP, src, dst, skb->len);
skb317net/inet/arp.ckfree_skb(skb, FREE_WRITE);
skb326net/inet/arp.carp2 = (struct arphdr *) (skb->data + hlen);
skb344net/inet/arp.cskb->free = 1;
skb345net/inet/arp.cskb->arp = 1;
skb346net/inet/arp.cskb->sk = NULL;
skb347net/inet/arp.cskb->next = NULL;
skb353net/inet/arp.cdev->queue_xmit(skb, dev, 0);
skb510net/inet/arp.carp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
skb520net/inet/arp.carp = skb->h.arp;
skb527net/inet/arp.ckfree_skb(skb, FREE_READ);
skb536net/inet/arp.ckfree_skb(skb, FREE_READ);
skb557net/inet/arp.ckfree_skb(skb, FREE_READ);
skb562net/inet/arp.ckfree_skb(skb, FREE_READ);
skb580net/inet/arp.ckfree_skb(skb, FREE_READ);
skb590net/inet/arp.ckfree_skb(skb, FREE_READ);
skb597net/inet/arp.ckfree_skb(skb, FREE_READ);
skb606net/inet/arp.ckfree_skb(skb, FREE_READ);
skb615net/inet/arp.cstruct sk_buff *skb;
skb624net/inet/arp.cskb = alloc_skb(sizeof(struct sk_buff) +
skb628net/inet/arp.cif (skb == NULL) {
skb634net/inet/arp.cskb->sk = NULL;
skb635net/inet/arp.cskb->mem_addr = skb;
skb636net/inet/arp.cskb->len = sizeof(struct arphdr) +
skb638net/inet/arp.cskb->mem_len = sizeof(struct sk_buff) + skb->len;
skb639net/inet/arp.cskb->arp = 1;
skb640net/inet/arp.cskb->dev = dev;
skb641net/inet/arp.cskb->next = NULL;
skb642net/inet/arp.cskb->free = 1;
skb643net/inet/arp.ctmp = dev->hard_header(skb->data, dev, ETH_P_ARP, 0, saddr, skb->len);
skb645net/inet/arp.ckfree_skb(skb,FREE_WRITE);
skb648net/inet/arp.carp = (struct arphdr *) (skb->data + tmp);
skb670net/inet/arp.cdev->queue_xmit(skb, dev, 0);
skb770net/inet/arp.carp_queue(struct sk_buff *skb)
skb773net/inet/arp.cskb->tries = ARP_MAX_TRIES;
skb775net/inet/arp.cif (skb->next != NULL) {
skb777net/inet/arp.cprintk("ARP: arp_queue skb already on queue magic=%X.\n", skb->magic);
skb782net/inet/arp.cskb_queue_tail(&arp_q,skb);
skb783net/inet/arp.cskb->magic = ARP_QUEUE_MAGIC;
skb52net/inet/arp.hextern int  arp_rcv(struct sk_buff *skb, struct device *dev,
skb59net/inet/arp.hextern void  arp_queue(struct sk_buff *skb);
skb51net/inet/datagram.cstruct sk_buff *skb;
skb121net/inet/datagram.cskb=skb_dequeue(&sk->rqueue);
skb122net/inet/datagram.cif(skb!=NULL)
skb123net/inet/datagram.cskb->users++;
skb130net/inet/datagram.cskb=skb_peek(&sk->rqueue);
skb131net/inet/datagram.cif(skb!=NULL)
skb132net/inet/datagram.cskb->users++;
skb134net/inet/datagram.cif(skb==NULL)  /* shouldn't happen but .. */
skb137net/inet/datagram.creturn skb;
skb140net/inet/datagram.cvoid skb_free_datagram(struct sk_buff *skb)
skb146net/inet/datagram.cskb->users--;
skb147net/inet/datagram.cif(skb->users>0)
skb153net/inet/datagram.cif(skb->list == NULL)  /* Been dequeued by someone - ie its read */
skb154net/inet/datagram.ckfree_skb(skb,FREE_READ);
skb158net/inet/datagram.cvoid skb_copy_datagram(struct sk_buff *skb, int offset, char *to, int size)
skb162net/inet/datagram.cmemcpy_tofs(to,skb->h.raw+offset,size);
skb413net/inet/dev.cstruct sk_buff *skb;
skb414net/inet/dev.cwhile((skb=skb_dequeue(&dev->buffs[ct]))!=NULL)
skb415net/inet/dev.cif(skb->free)
skb416net/inet/dev.ckfree_skb(skb,FREE_WRITE);
skb427net/inet/dev.cdev_queue_xmit(struct sk_buff *skb, struct device *dev, int pri)
skb434net/inet/dev.cskb, dev, pri));
skb441net/inet/dev.cIS_SKB(skb);
skb443net/inet/dev.cskb->dev = dev;
skb444net/inet/dev.cif (skb->next != NULL) {
skb460net/inet/dev.cif (dev->hard_start_xmit(skb, dev) == 0) {
skb470net/inet/dev.cskb->magic = DEV_QUEUE_MAGIC;
skb472net/inet/dev.cskb_queue_head(&dev->buffs[pri],skb);
skb474net/inet/dev.cskb_queue_tail(&dev->buffs[pri],skb);
skb475net/inet/dev.cskb->magic = DEV_QUEUE_MAGIC;
skb484net/inet/dev.cnetif_rx(struct sk_buff *skb)
skb488net/inet/dev.cskb->sk = NULL;
skb489net/inet/dev.cskb->free = 1;
skb497net/inet/dev.ckfree_skb(skb, FREE_READ);
skb501net/inet/dev.cIS_SKB(skb);
skb502net/inet/dev.cskb_queue_tail(&backlog,skb);
skb526net/inet/dev.cstruct sk_buff *skb = NULL;
skb533net/inet/dev.cskb = (struct sk_buff *) buff;
skb542net/inet/dev.cskb = alloc_skb(sizeof(*skb) + len, GFP_ATOMIC);
skb543net/inet/dev.cif (skb == NULL) {
skb549net/inet/dev.cskb->mem_len = sizeof(*skb) + len;
skb550net/inet/dev.cskb->mem_addr = (struct sk_buff *) skb;
skb553net/inet/dev.cto = skb->data;
skb568net/inet/dev.cskb->len = len;
skb569net/inet/dev.cskb->dev = dev;
skb570net/inet/dev.cskb->free = 1;
skb572net/inet/dev.cnetif_rx(skb);
skb606net/inet/dev.cstruct sk_buff *skb;
skb620net/inet/dev.cwhile((skb=skb_dequeue(&backlog))!=NULL)
skb632net/inet/dev.cskb->h.raw = skb->data + skb->dev->hard_header_len;
skb633net/inet/dev.cskb->len -= skb->dev->hard_header_len;
skb644net/inet/dev.ctype = skb->dev->type_trans(skb, skb->dev);
skb659net/inet/dev.cskb2 = alloc_skb(skb->mem_len, GFP_ATOMIC);
skb662net/inet/dev.cmemcpy(skb2, (const void *) skb, skb->mem_len);
skb666net/inet/dev.c(unsigned long) skb->h.raw -
skb667net/inet/dev.c(unsigned long) skb
skb671net/inet/dev.cskb2 = skb;
skb681net/inet/dev.cptype->func(skb2, skb->dev, ptype);
skb692net/inet/dev.cskb->sk = NULL;
skb693net/inet/dev.ckfree_skb(skb, FREE_WRITE);
skb714net/inet/dev.cstruct sk_buff *skb;
skb717net/inet/dev.cwhile((skb=skb_dequeue(&dev->buffs[i]))!=NULL)
skb719net/inet/dev.cskb->magic = 0;
skb720net/inet/dev.cskb->next = NULL;
skb721net/inet/dev.cskb->prev = NULL;
skb722net/inet/dev.cdev->queue_xmit(skb,dev,-i - 1);
skb119net/inet/dev.hint        (*hard_start_xmit) (struct sk_buff *skb,
skb128net/inet/dev.hstruct sk_buff *skb,
skb130net/inet/dev.hvoid        (*queue_xmit)(struct sk_buff *skb,
skb133net/inet/dev.hunsigned short    (*type_trans) (struct sk_buff *skb,
skb175net/inet/dev.hextern void    dev_queue_xmit(struct sk_buff *skb, struct device *dev,
skb178net/inet/dev.hextern void    netif_rx(struct sk_buff *skb);
skb167net/inet/eth.ceth_add_arp(unsigned long addr, struct sk_buff *skb, struct device *dev)
skb171net/inet/eth.ceth = (struct ethhdr *) skb->data;
skb178net/inet/eth.ceth_type_trans(struct sk_buff *skb, struct device *dev)
skb182net/inet/eth.ceth = (struct ethhdr *) skb->data;
skb31net/inet/eth.hextern void    eth_add_arp(unsigned long addr, struct sk_buff *skb,
skb33net/inet/eth.hextern unsigned short  eth_type_trans(struct sk_buff *skb, struct device *dev);
skb83net/inet/icmp.cstruct sk_buff *skb;
skb97net/inet/icmp.cskb = (struct sk_buff *) alloc_skb(len, GFP_ATOMIC);
skb98net/inet/icmp.cif (skb == NULL) 
skb101net/inet/icmp.cskb->sk = NULL;
skb102net/inet/icmp.cskb->mem_addr = skb;
skb103net/inet/icmp.cskb->mem_len = len;
skb110net/inet/icmp.coffset = ip_build_header(skb, dev->pa_addr, iph->saddr,
skb113net/inet/icmp.cskb->sk = NULL;
skb114net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb119net/inet/icmp.cskb->len = offset + sizeof(struct icmphdr) + sizeof(struct iphdr) + 8;
skb120net/inet/icmp.cicmph = (struct icmphdr *) (skb->data + offset);
skb134net/inet/icmp.cip_queue_xmit(NULL, dev, skb, 1);
skb140net/inet/icmp.cicmp_unreach(struct icmphdr *icmph, struct sk_buff *skb)
skb197net/inet/icmp.cskb->sk = NULL;
skb198net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb204net/inet/icmp.cicmp_redirect(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev)
skb231net/inet/icmp.cskb->sk = NULL;
skb232net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb238net/inet/icmp.cicmp_echo(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
skb249net/inet/icmp.cskb->sk = NULL;
skb250net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb260net/inet/icmp.cIPPROTO_ICMP, opt, len, skb->ip_hdr->tos,255);
skb264net/inet/icmp.cskb->sk = NULL;
skb265net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb283net/inet/icmp.cskb->sk = NULL;
skb284net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb290net/inet/icmp.cicmp_info(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
skb295net/inet/icmp.cskb->sk = NULL;
skb296net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb302net/inet/icmp.cicmp_address(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
skb313net/inet/icmp.cskb->sk = NULL;
skb314net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb324net/inet/icmp.cIPPROTO_ICMP, opt, len, skb->ip_hdr->tos,255);
skb328net/inet/icmp.cskb->sk = NULL;
skb329net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb350net/inet/icmp.cskb->sk = NULL;
skb351net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb187net/inet/ip.cip_send(struct sk_buff *skb, unsigned long daddr, int len, struct device *dev,
skb193net/inet/ip.cptr = skb->data;
skb195net/inet/ip.cskb->arp = 1;
skb201net/inet/ip.cskb->arp = 0;
skb203net/inet/ip.cskb->dev = dev;
skb215net/inet/ip.cip_build_header(struct sk_buff *skb, unsigned long saddr, unsigned long daddr,
skb231net/inet/ip.cskb, saddr, daddr, *dev, type, opt, len));
skb233net/inet/ip.cbuff = skb->data;
skb257net/inet/ip.ctmp = ip_send(skb, raddr, len, *dev, saddr);
skb261net/inet/ip.cskb->dev = *dev;
skb262net/inet/ip.cskb->saddr = saddr;
skb263net/inet/ip.cif (skb->sk) skb->sk->saddr = saddr;
skb530net/inet/ip.cstatic struct ipfrag *ip_frag_create(int offset, int end, struct sk_buff *skb, unsigned char *ptr)
skb546net/inet/ip.cfp->skb = skb;
skb615net/inet/ip.cIS_SKB(fp->skb);
skb616net/inet/ip.ckfree_skb(fp->skb,FREE_READ);
skb651net/inet/ip.cicmp_send(qp->fragments->skb,ICMP_TIME_EXCEEDED,
skb666net/inet/ip.cstatic struct ipq *ip_create(struct sk_buff *skb, struct iphdr *iph, struct device *dev)
skb681net/inet/ip.cmaclen = ((unsigned long) iph) - ((unsigned long) skb->data);
skb702net/inet/ip.cmemcpy(qp->mac, skb->data, maclen);
skb758net/inet/ip.cstruct sk_buff *skb;
skb766net/inet/ip.cif ((skb = alloc_skb(len,GFP_ATOMIC)) == NULL) 
skb774net/inet/ip.cskb->len = (len - qp->maclen);
skb775net/inet/ip.cskb->h.raw = skb->data;
skb776net/inet/ip.cskb->free = 1;
skb779net/inet/ip.cptr = (unsigned char *) skb->h.raw;
skb786net/inet/ip.cskb->h.raw += qp->maclen;
skb795net/inet/ip.cif(count+fp->len>skb->len)
skb799net/inet/ip.ckfree_skb(skb,FREE_WRITE);
skb812net/inet/ip.ciph = skb->h.iph;
skb815net/inet/ip.cskb->ip_hdr = iph;
skb816net/inet/ip.creturn(skb);
skb821net/inet/ip.cstatic struct sk_buff *ip_defrag(struct iphdr *iph, struct sk_buff *skb, struct device *dev)
skb841net/inet/ip.creturn(skb);
skb857net/inet/ip.cif ((qp = ip_create(skb, iph, dev)) == NULL) {
skb858net/inet/ip.cskb->sk = NULL;
skb859net/inet/ip.ckfree_skb(skb, FREE_READ);
skb869net/inet/ip.cptr = skb->data + dev->hard_header_len + ihl;
skb930net/inet/ip.ckfree_skb(next->skb, FREE_READ);
skb938net/inet/ip.ctfp = ip_frag_create(offset, end, skb, ptr);
skb940net/inet/ip.cskb->sk = NULL;
skb941net/inet/ip.ckfree_skb(skb, FREE_READ);
skb977net/inet/ip.cvoid ip_fragment(struct sock *sk, struct sk_buff *skb, struct device *dev, int is_frag)
skb987net/inet/ip.craw = skb->data;
skb990net/inet/ip.cskb->ip_hdr = iph;
skb1014net/inet/ip.cicmp_send(skb,ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, dev); 
skb1045net/inet/ip.cskb2->arp = skb->arp;
skb1046net/inet/ip.cskb2->free = skb->free;
skb1084net/inet/ip.cip_forward(struct sk_buff *skb, struct device *dev, int is_frag)
skb1100net/inet/ip.cif(memcmp((char *)&skb[1],dev->dev_addr,dev->addr_len))
skb1109net/inet/ip.ciph = skb->h.iph;
skb1117net/inet/ip.cicmp_send(skb, ICMP_TIME_EXCEEDED, ICMP_EXC_TTL, dev);
skb1133net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_NET_UNREACH, dev);
skb1152net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_HOST_UNREACH, dev);
skb1168net/inet/ip.cin_ntoa(raddr), dev2->name, skb->len));
skb1172net/inet/ip.cdev2->hard_header_len + skb->len, GFP_ATOMIC);
skb1180net/inet/ip.cskb2->len = skb->len + dev2->hard_header_len;
skb1187net/inet/ip.cmemcpy(ptr + dev2->hard_header_len, skb->h.raw, skb->len);
skb1190net/inet/ip.c(void) ip_send(skb2, raddr, skb->len, dev2, dev2->pa_addr);
skb1214net/inet/ip.cip_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
skb1216net/inet/ip.cstruct iphdr *iph = skb->h.iph;
skb1228net/inet/ip.cskb->ip_hdr = iph;    /* Fragments can cause ICMP errors too! */
skb1230net/inet/ip.cif (skb->len<sizeof(struct iphdr) || iph->ihl<5 || iph->version != 4 || ip_fast_csum((unsigned char *)iph, iph->ihl) !=0) {
skb1234net/inet/ip.cskb->sk = NULL;
skb1235net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1255net/inet/ip.cip_forward(skb, dev, is_frag);
skb1260net/inet/ip.cskb->sk = NULL;
skb1261net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1272net/inet/ip.cskb=ip_defrag(iph,skb,dev);
skb1273net/inet/ip.cif(skb==NULL)
skb1277net/inet/ip.ciph=skb->h.iph;
skb1282net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, dev);
skb1283net/inet/ip.cskb->sk = NULL;
skb1284net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1295net/inet/ip.cskb->sk=NULL;
skb1296net/inet/ip.ckfree_skb(skb,FREE_WRITE);
skb1302net/inet/ip.cskb->ip_hdr = iph;
skb1303net/inet/ip.cskb->h.raw += iph->ihl*4;
skb1321net/inet/ip.cskb2 = alloc_skb(skb->mem_len, GFP_ATOMIC);
skb1324net/inet/ip.cmemcpy(skb2, skb, skb->mem_len);
skb1328net/inet/ip.c(unsigned long) skb->ip_hdr -
skb1329net/inet/ip.c(unsigned long)skb);
skb1332net/inet/ip.c(unsigned long) skb->h.raw -
skb1333net/inet/ip.c(unsigned long)skb);
skb1336net/inet/ip.cskb2 = skb;
skb1359net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, dev);
skb1360net/inet/ip.cskb->sk = NULL;
skb1361net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1377net/inet/ip.cstruct sk_buff *skb, int free)
skb1387net/inet/ip.cIS_SKB(skb);
skb1388net/inet/ip.cskb->free = free;
skb1389net/inet/ip.cskb->dev = dev;
skb1390net/inet/ip.cskb->when = jiffies;
skb1393net/inet/ip.cptr = skb->data;
skb1396net/inet/ip.cskb->ip_hdr = iph;
skb1397net/inet/ip.ciph->tot_len = ntohs(skb->len-dev->hard_header_len);
skb1399net/inet/ip.cif(skb->len > dev->mtu)
skb1402net/inet/ip.cip_fragment(sk,skb,dev,0);
skb1403net/inet/ip.cIS_SKB(skb);
skb1404net/inet/ip.ckfree_skb(skb,FREE_WRITE);
skb1410net/inet/ip.cskb->next = NULL;
skb1413net/inet/ip.cskb->magic = 1;
skb1415net/inet/ip.cskb->link3 = NULL;
skb1419net/inet/ip.csk->send_tail = skb;
skb1420net/inet/ip.csk->send_head = skb;
skb1427net/inet/ip.csk->send_tail->link3 = skb;
skb1428net/inet/ip.csk->send_tail = skb;
skb1434net/inet/ip.cskb->sk = sk;
skb1440net/inet/ip.cdev->queue_xmit(skb, dev, sk->priority);
skb1443net/inet/ip.cdev->queue_xmit(skb, dev, SOPRI_NORMAL);
skb1446net/inet/ip.cif (free) kfree_skb(skb, FREE_WRITE);
skb1454net/inet/ip.cstruct sk_buff * skb;
skb1460net/inet/ip.cskb = sk->send_head;
skb1462net/inet/ip.cwhile (skb != NULL) {
skb1463net/inet/ip.cdev = skb->dev;
skb1471net/inet/ip.cIS_SKB(skb);
skb1481net/inet/ip.cif (!skb->arp) {
skb1482net/inet/ip.cif (dev->rebuild_header(skb->data, dev)) {
skb1485net/inet/ip.cskb = (struct sk_buff *)skb->link3;
skb1489net/inet/ip.cskb->arp = 1;
skb1491net/inet/ip.cskb->when = jiffies;
skb1495net/inet/ip.cif (sk && !skb_device_locked(skb))
skb1496net/inet/ip.cdev->queue_xmit(skb, dev, sk->priority);
skb1506net/inet/ip.cskb = (struct sk_buff *)skb->link3;
skb41net/inet/ip.hstruct sk_buff *skb;      /* complete received fragment    */
skb68net/inet/ip.hextern int    ip_build_header(struct sk_buff *skb,
skb75net/inet/ip.hextern int    ip_rcv(struct sk_buff *skb, struct device *dev,
skb78net/inet/ip.hstruct device *dev, struct sk_buff *skb,
skb47net/inet/loopback.cloopback_xmit(struct sk_buff *skb, struct device *dev)
skb52net/inet/loopback.cDPRINTF((DBG_LOOPB, "loopback_xmit(dev=%X, skb=%X)\n", dev, skb));
skb53net/inet/loopback.cif (skb == NULL || dev == NULL) return(0);
skb64net/inet/loopback.cdone = dev_rint(skb->data, skb->len, 0, dev);
skb65net/inet/loopback.cif (skb->free) kfree_skb(skb, FREE_WRITE);
skb59net/inet/packet.cpacket_rcv(struct sk_buff *skb, struct device *dev,  struct packet_type *pt)
skb64net/inet/packet.cskb->dev = dev;
skb65net/inet/packet.cskb->len += dev->hard_header_len;
skb67net/inet/packet.cskb->sk = sk;
skb70net/inet/packet.cif (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) {
skb71net/inet/packet.cskb->sk = NULL;
skb72net/inet/packet.ckfree_skb(skb, FREE_READ);
skb75net/inet/packet.csk->rmem_alloc += skb->mem_len;
skb76net/inet/packet.cskb_queue_tail(&sk->rqueue,skb);
skb89net/inet/packet.cstruct sk_buff *skb;
skb122net/inet/packet.cskb = sk->prot->wmalloc(sk, len+sizeof(*skb), 0, GFP_KERNEL);
skb125net/inet/packet.cif (skb == NULL) {
skb130net/inet/packet.cskb->mem_addr = skb;
skb131net/inet/packet.cskb->mem_len = len + sizeof(*skb);
skb132net/inet/packet.cskb->sk = sk;
skb133net/inet/packet.cskb->free = 1;
skb134net/inet/packet.cmemcpy_fromfs(skb->data, from, len);
skb135net/inet/packet.cskb->len = len;
skb136net/inet/packet.cskb->next = NULL;
skb137net/inet/packet.cskb->arp = 1;
skb138net/inet/packet.cif (dev->flags & IFF_UP) dev->queue_xmit(skb, dev, sk->priority);
skb139net/inet/packet.celse kfree_skb(skb, FREE_WRITE);
skb194net/inet/packet.cstruct sk_buff *skb;
skb213net/inet/packet.cskb=skb_recv_datagram(sk,flags,noblock,&err);
skb214net/inet/packet.cif(skb==NULL)
skb216net/inet/packet.ccopied = min(len, skb->len);
skb218net/inet/packet.cmemcpy_tofs(to, skb->data, copied);  /* Don't use skb_copy_datagram here: We can't get frag chains */
skb224net/inet/packet.caddr.sa_family = skb->dev->type;
skb225net/inet/packet.cmemcpy(addr.sa_data,skb->dev->name, 14);
skb230net/inet/packet.cskb_free_datagram(skb);    /* Its either been used up, or its a peek_copy anyway */
skb31net/inet/protocol.hint      (*handler)(struct sk_buff *skb, struct device *dev,
skb35net/inet/protocol.hint      (*frag_handler)(struct sk_buff *skb, struct device *dev,
skb94net/inet/raw.craw_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
skb102net/inet/raw.cskb, dev, opt, daddr, len, saddr, redo, protocol));
skb104net/inet/raw.cif (skb == NULL) return(0);
skb106net/inet/raw.ckfree_skb(skb, FREE_READ);
skb111net/inet/raw.ckfree_skb(skb, FREE_READ);
skb116net/inet/raw.cskb->sk = sk;
skb117net/inet/raw.cskb->len = len + skb->ip_hdr->ihl*sizeof(long);
skb118net/inet/raw.cskb->h.raw = (unsigned char *) skb->ip_hdr;
skb119net/inet/raw.cskb->dev = dev;
skb120net/inet/raw.cskb->saddr = daddr;
skb121net/inet/raw.cskb->daddr = saddr;
skb124net/inet/raw.cif (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) {
skb125net/inet/raw.cskb->sk = NULL;
skb126net/inet/raw.ckfree_skb(skb, FREE_READ);
skb129net/inet/raw.csk->rmem_alloc += skb->mem_len;
skb130net/inet/raw.cskb_queue_tail(&sk->rqueue,skb);
skb131net/inet/raw.csk->data_ready(sk,skb->len);
skb143net/inet/raw.cstruct sk_buff *skb;
skb180net/inet/raw.cskb = NULL;
skb181net/inet/raw.cwhile (skb == NULL) {
skb190net/inet/raw.cskb = sk->prot->wmalloc(sk,
skb191net/inet/raw.clen+sizeof(*skb) + sk->prot->max_header,
skb193net/inet/raw.cif (skb == NULL) {
skb213net/inet/raw.cskb->mem_addr = skb;
skb214net/inet/raw.cskb->mem_len = len + sizeof(*skb) +sk->prot->max_header;
skb215net/inet/raw.cskb->sk = sk;
skb217net/inet/raw.cskb->free = 1; /* these two should be unecessary. */
skb218net/inet/raw.cskb->arp = 0;
skb220net/inet/raw.ctmp = sk->prot->build_header(skb, sk->saddr, 
skb222net/inet/raw.csk->protocol, sk->opt, skb->mem_len, sk->ip_tos,sk->ip_ttl);
skb225net/inet/raw.ckfree_skb(skb,FREE_WRITE);
skb231net/inet/raw.cmemcpy_fromfs(skb->data + tmp, from, len);
skb240net/inet/raw.cbuff = skb->data;
skb246net/inet/raw.cskb->len = tmp + len;
skb248net/inet/raw.cif(dev!=NULL && skb->len > 4095)
skb250net/inet/raw.ckfree_skb(skb, FREE_WRITE);
skb255net/inet/raw.csk->prot->queue_xmit(sk, dev, skb, 1);
skb321net/inet/raw.cstruct sk_buff *skb;
skb349net/inet/raw.cskb=skb_recv_datagram(sk,flags,noblock,&err);
skb350net/inet/raw.cif(skb==NULL)
skb353net/inet/raw.ccopied = min(len, skb->len);
skb355net/inet/raw.cskb_copy_datagram(skb, 0, to, copied);
skb362net/inet/raw.caddr.sin_addr.s_addr = skb->daddr;
skb366net/inet/raw.cskb_free_datagram(skb);
skb26net/inet/raw.hextern int  raw_rcv(struct sk_buff *skb, struct device *dev,
skb57net/inet/skbuff.cvoid skb_check(struct sk_buff *skb, int line, char *file)
skb59net/inet/skbuff.cif(skb->magic_debug_cookie==SK_FREED_SKB)
skb64net/inet/skbuff.cskb,skb->truesize,skb->mem_len,skb->magic,skb->list,skb->free);
skb66net/inet/skbuff.cif(skb->magic_debug_cookie!=SK_GOOD_SKB)
skb70net/inet/skbuff.cskb,skb->truesize,skb->mem_len,skb->magic,skb->list,skb->free);
skb72net/inet/skbuff.cif(skb->mem_len!=skb->truesize)
skb76net/inet/skbuff.cskb,skb->truesize,skb->mem_len,skb->magic,skb->list);
skb247net/inet/skbuff.cvoid skb_unlink(struct sk_buff *skb)
skb253net/inet/skbuff.cIS_SKB(skb);
skb255net/inet/skbuff.cif(skb->list)
skb257net/inet/skbuff.cskb->next->prev=skb->prev;
skb258net/inet/skbuff.cskb->prev->next=skb->next;
skb259net/inet/skbuff.cif(*skb->list==skb)
skb261net/inet/skbuff.cif(skb->next==skb)
skb262net/inet/skbuff.c*skb->list=NULL;
skb264net/inet/skbuff.c*skb->list=skb->next;
skb266net/inet/skbuff.cskb->next=0;
skb267net/inet/skbuff.cskb->prev=0;
skb268net/inet/skbuff.cskb->list=0;
skb281net/inet/skbuff.cstruct sk_buff *skb=skb_peek(list);
skb282net/inet/skbuff.cif(skb!=NULL)
skb286net/inet/skbuff.cIS_SKB(skb);
skb287net/inet/skbuff.cskb->list=list;
skb288net/inet/skbuff.cskb=skb->next;
skb290net/inet/skbuff.cwhile(skb!=*list);
skb377net/inet/skbuff.cvoid kfree_skb(struct sk_buff *skb, int rw)
skb379net/inet/skbuff.cif (skb == NULL) {
skb383net/inet/skbuff.cIS_SKB(skb);
skb384net/inet/skbuff.cif(skb->lock)
skb386net/inet/skbuff.cskb->free=1;  /* Free when unlocked */
skb390net/inet/skbuff.cif(skb->free == 2)
skb392net/inet/skbuff.cif(skb->list)
skb394net/inet/skbuff.cskb->magic = 0;
skb395net/inet/skbuff.cif (skb->sk)
skb397net/inet/skbuff.cif(skb->sk->prot!=NULL)
skb400net/inet/skbuff.cskb->sk->prot->rfree(skb->sk, skb->mem_addr, skb->mem_len);
skb402net/inet/skbuff.cskb->sk->prot->wfree(skb->sk, skb->mem_addr, skb->mem_len);
skb409net/inet/skbuff.cskb->sk->rmem_alloc-=skb->mem_len;
skb411net/inet/skbuff.cskb->sk->wmem_alloc-=skb->mem_len;
skb412net/inet/skbuff.cif(!skb->sk->dead)
skb413net/inet/skbuff.cwake_up_interruptible(skb->sk->sleep);
skb414net/inet/skbuff.ckfree_skbmem(skb->mem_addr,skb->mem_len);
skb418net/inet/skbuff.ckfree_skbmem(skb->mem_addr, skb->mem_len);
skb428net/inet/skbuff.cstruct sk_buff *skb;
skb439net/inet/skbuff.cskb=(struct sk_buff *)kmalloc(size,priority);
skb440net/inet/skbuff.cif(skb==NULL)
skb442net/inet/skbuff.cskb->free= 2;  /* Invalid so we pick up forgetful users */
skb443net/inet/skbuff.cskb->list= 0;  /* Not on a list */
skb444net/inet/skbuff.cskb->lock= 0;
skb445net/inet/skbuff.cskb->truesize=size;
skb446net/inet/skbuff.cskb->mem_len=size;
skb447net/inet/skbuff.cskb->mem_addr=skb;
skb448net/inet/skbuff.cskb->fraglist=NULL;
skb451net/inet/skbuff.cskb->magic_debug_cookie=SK_GOOD_SKB;
skb452net/inet/skbuff.cskb->users=0;
skb453net/inet/skbuff.creturn skb;
skb477net/inet/skbuff.cvoid skb_kept_by_device(struct sk_buff *skb)
skb479net/inet/skbuff.cskb->lock++;
skb482net/inet/skbuff.cvoid skb_device_release(struct sk_buff *skb, int mode)
skb488net/inet/skbuff.cif (!--skb->lock) {
skb489net/inet/skbuff.cif (skb->free==1)
skb490net/inet/skbuff.ckfree_skb(skb,mode);
skb495net/inet/skbuff.cint skb_device_locked(struct sk_buff *skb)
skb497net/inet/skbuff.cif(skb->lock)
skb89net/inet/skbuff.hextern void      kfree_skb(struct sk_buff *skb, int rw);
skb101net/inet/skbuff.hextern void      skb_kept_by_device(struct sk_buff *skb);
skb102net/inet/skbuff.hextern void      skb_device_release(struct sk_buff *skb, int mode);
skb103net/inet/skbuff.hextern int      skb_device_locked(struct sk_buff *skb);
skb104net/inet/skbuff.hextern void       skb_check(struct sk_buff *skb,int, char *);
skb105net/inet/skbuff.h#define IS_SKB(skb)  skb_check((skb),__LINE__,__FILE__)
skb110net/inet/skbuff.hextern void      skb_free_datagram(struct sk_buff *skb);
skb138net/inet/sock.cprint_skb(struct sk_buff *skb)
skb140net/inet/sock.cif (!skb) {
skb144net/inet/sock.cprintk("  prev = %p, next = %p\n", skb->prev, skb->next);
skb145net/inet/sock.cprintk("  sk = %p link3 = %p\n", skb->sk, skb->link3);
skb146net/inet/sock.cprintk("  mem_addr = %p, mem_len = %lu\n", skb->mem_addr, skb->mem_len);
skb147net/inet/sock.cprintk("  used = %d free = %d\n", skb->used,skb->free);
skb312net/inet/sock.cstruct sk_buff *skb;
skb327net/inet/sock.cwhile ((skb = tcp_dequeue_partial(sk)) != NULL) 
skb329net/inet/sock.cIS_SKB(skb);
skb330net/inet/sock.ckfree_skb(skb, FREE_WRITE);
skb334net/inet/sock.cfor(skb = sk->wfront; skb != NULL; ) 
skb338net/inet/sock.cskb2=(struct sk_buff *)skb->next;
skb339net/inet/sock.cif (skb->magic != TCP_WRITE_QUEUE_MAGIC) {
skb341net/inet/sock.cskb->magic);
skb344net/inet/sock.cIS_SKB(skb);
skb345net/inet/sock.ckfree_skb(skb, FREE_WRITE);
skb346net/inet/sock.cskb = skb2;
skb354net/inet/sock.cwhile((skb=skb_dequeue(&sk->rqueue))!=NULL)
skb360net/inet/sock.cif (skb->sk != NULL && skb->sk != sk) 
skb362net/inet/sock.cIS_SKB(skb);
skb363net/inet/sock.cskb->sk->dead = 1;
skb364net/inet/sock.cskb->sk->prot->close(skb->sk, 0);
skb366net/inet/sock.cIS_SKB(skb);
skb367net/inet/sock.ckfree_skb(skb, FREE_READ);
skb373net/inet/sock.cfor(skb = sk->send_head; skb != NULL; ) 
skb385net/inet/sock.cif (skb->next != NULL) 
skb387net/inet/sock.cIS_SKB(skb);
skb388net/inet/sock.cskb_unlink(skb);
skb390net/inet/sock.cskb->dev = NULL;
skb392net/inet/sock.cskb2 = (struct sk_buff *)skb->link3;
skb393net/inet/sock.ckfree_skb(skb, FREE_WRITE);
skb394net/inet/sock.cskb = skb2;
skb404net/inet/sock.cskb = (struct sk_buff *)sk->back_log;
skb409net/inet/sock.cskb2 = (struct sk_buff *)skb->next;
skb410net/inet/sock.ckfree_skb(skb, FREE_READ);
skb411net/inet/sock.cskb = skb2;
skb413net/inet/sock.cwhile(skb != sk->back_log);
skb1750net/inet/sock.cstruct sk_buff *skb;
skb1753net/inet/sock.cskb =(struct sk_buff *)sk->back_log;
skb1754net/inet/sock.cDPRINTF((DBG_INET, "release_sock: skb = %X:\n", skb));
skb1755net/inet/sock.cif (skb->next != skb) {
skb1756net/inet/sock.csk->back_log = skb->next;
skb1757net/inet/sock.cskb->prev->next = skb->next;
skb1758net/inet/sock.cskb->next->prev = skb->prev;
skb1764net/inet/sock.cif (sk->prot->rcv) sk->prot->rcv(skb, skb->dev, sk->opt,
skb1765net/inet/sock.cskb->saddr, skb->len, skb->daddr, 1,
skb199net/inet/sock.hint      (*build_header)(struct sk_buff *skb,
skb208net/inet/sock.hstruct device *dev, struct sk_buff *skb,
skb313net/inet/tcp.cstruct sk_buff *skb;
skb334net/inet/tcp.cskb =(struct sk_buff *)sk->rqueue;
skb348net/inet/tcp.cif (before(counted, skb->h.th->seq))   /* Found a hole so stops here */
skb350net/inet/tcp.csum = skb->len -(counted - skb->h.th->seq);  /* Length - header but start from where we are up to (avoid overlaps) */
skb351net/inet/tcp.cif (skb->h.th->syn)
skb355net/inet/tcp.cif (skb->h.th->syn) amount--;
skb358net/inet/tcp.cif (amount && skb->h.th->psh) break;
skb359net/inet/tcp.cskb =(struct sk_buff *)skb->next;    /* Move along */
skb360net/inet/tcp.c} while(skb != sk->rqueue);
skb596net/inet/tcp.cstatic void tcp_send_skb(struct sock *sk, struct sk_buff *skb)
skb599net/inet/tcp.cstruct tcphdr * th = skb->h.th;
skb602net/inet/tcp.csize = skb->len - ((unsigned char *) th - skb->data);
skb605net/inet/tcp.cif (size < sizeof(struct tcphdr) || size > skb->len) {
skb607net/inet/tcp.cskb, skb->data, th, skb->len);
skb608net/inet/tcp.ckfree_skb(skb, FREE_WRITE);
skb617net/inet/tcp.ckfree_skb(skb,FREE_WRITE);
skb625net/inet/tcp.cskb->h.seq = ntohl(th->seq) + size - 4*th->doff;
skb626net/inet/tcp.cif (after(skb->h.seq, sk->window_seq) ||
skb633net/inet/tcp.cskb->next = NULL;
skb634net/inet/tcp.cskb->magic = TCP_WRITE_QUEUE_MAGIC;
skb636net/inet/tcp.csk->wfront = skb;
skb638net/inet/tcp.csk->wback->next = skb;
skb640net/inet/tcp.csk->wback = skb;
skb647net/inet/tcp.csk->prot->queue_xmit(sk, skb->dev, skb, 0);
skb653net/inet/tcp.cstruct sk_buff * skb;
skb658net/inet/tcp.cskb = sk->partial;
skb659net/inet/tcp.cif (skb) {
skb664net/inet/tcp.creturn skb;
skb669net/inet/tcp.cstruct sk_buff *skb;
skb673net/inet/tcp.cwhile ((skb = tcp_dequeue_partial(sk)) != NULL)
skb674net/inet/tcp.ctcp_send_skb(sk, skb);
skb677net/inet/tcp.cvoid tcp_enqueue_partial(struct sk_buff * skb, struct sock * sk)
skb687net/inet/tcp.csk->partial = skb;
skb815net/inet/tcp.cstruct sk_buff *skb;
skb909net/inet/tcp.cif ((skb = tcp_dequeue_partial(sk)) != NULL) {
skb913net/inet/tcp.chdrlen = ((unsigned long)skb->h.th - (unsigned long)skb->data)
skb918net/inet/tcp.ccopy = min(sk->mss - (skb->len - hdrlen), len);
skb925net/inet/tcp.cmemcpy_fromfs(skb->data + skb->len, from, copy);
skb926net/inet/tcp.cskb->len += copy;
skb932net/inet/tcp.cif ((skb->len - hdrlen) >= sk->mss ||
skb935net/inet/tcp.ctcp_send_skb(sk, skb);
skb937net/inet/tcp.ctcp_enqueue_partial(skb, sk);
skb966net/inet/tcp.cskb = prot->wmalloc(sk, sk->mtu + 128 + prot->max_header + sizeof(*skb), 0, GFP_KERNEL);
skb968net/inet/tcp.csend_tmp = skb;
skb972net/inet/tcp.cskb = prot->wmalloc(sk, copy + prot->max_header + sizeof(*skb), 0, GFP_KERNEL);
skb977net/inet/tcp.cif (skb == NULL) {
skb1006net/inet/tcp.cskb->len = 0;
skb1007net/inet/tcp.cskb->sk = sk;
skb1008net/inet/tcp.cskb->free = 0;
skb1010net/inet/tcp.cbuff = skb->data;
skb1016net/inet/tcp.ctmp = prot->build_header(skb, sk->saddr, sk->daddr, &dev,
skb1017net/inet/tcp.cIPPROTO_TCP, sk->opt, skb->mem_len,sk->ip_tos,sk->ip_ttl);
skb1019net/inet/tcp.cprot->wfree(sk, skb->mem_addr, skb->mem_len);
skb1025net/inet/tcp.cskb->len += tmp;
skb1026net/inet/tcp.cskb->dev = dev;
skb1028net/inet/tcp.cskb->h.th =(struct tcphdr *) buff;
skb1031net/inet/tcp.cprot->wfree(sk, skb->mem_addr, skb->mem_len);
skb1042net/inet/tcp.cskb->len += tmp;
skb1048net/inet/tcp.cskb->len += copy;
skb1049net/inet/tcp.cskb->free = 0;
skb1056net/inet/tcp.ctcp_send_skb(sk, skb);
skb1173net/inet/tcp.cstruct sk_buff *skb;
skb1187net/inet/tcp.cwhile((skb=skb_peek(&sk->rqueue)) != NULL ) 
skb1189net/inet/tcp.cif (!skb->used) 
skb1191net/inet/tcp.cskb_unlink(skb);
skb1192net/inet/tcp.cskb->sk = sk;
skb1193net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb1338net/inet/tcp.cstruct sk_buff * skb;
skb1349net/inet/tcp.cskb = sk->rqueue;
skb1351net/inet/tcp.cif (!skb)
skb1353net/inet/tcp.cif (before(1+*seq, skb->h.th->seq))
skb1355net/inet/tcp.coffset = 1 + *seq - skb->h.th->seq;
skb1356net/inet/tcp.cif (skb->h.th->syn)
skb1358net/inet/tcp.cif (offset < skb->len)
skb1361net/inet/tcp.cskb->used = 1;
skb1362net/inet/tcp.cskb = (struct sk_buff *)skb->next;
skb1363net/inet/tcp.c} while (skb != sk->rqueue);
skb1406net/inet/tcp.cused = skb->len - offset;
skb1424net/inet/tcp.cmemcpy_tofs(to,((unsigned char *)skb->h.th) +
skb1425net/inet/tcp.cskb->h.th->doff*4 + offset, used);
skb1432net/inet/tcp.cif (!(flags & MSG_PEEK) && (used + offset >= skb->len))
skb1433net/inet/tcp.cskb->used = 1;
skb1722net/inet/tcp.ctcp_conn_request(struct sock *sk, struct sk_buff *skb,
skb1735net/inet/tcp.csk, skb, daddr, saddr, opt, dev));
skb1737net/inet/tcp.cth = skb->h.th;
skb1745net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb1754net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb1768net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb1802net/inet/tcp.cnewsk->acked_seq = skb->h.th->seq+1;
skb1803net/inet/tcp.cnewsk->fin_seq = skb->h.th->seq;
skb1804net/inet/tcp.cnewsk->copied_seq = skb->h.th->seq;
skb1815net/inet/tcp.cnewsk->dummy_th.source = skb->h.th->dest;
skb1816net/inet/tcp.cnewsk->dummy_th.dest = skb->h.th->source;
skb1832net/inet/tcp.cnewsk->acked_seq = skb->h.th->seq + 1;
skb1833net/inet/tcp.cnewsk->copied_seq = skb->h.th->seq;
skb1837net/inet/tcp.cnewsk->ip_tos=skb->ip_hdr->tos;
skb1857net/inet/tcp.ctcp_options(newsk,skb->h.th);
skb1864net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb1886net/inet/tcp.cskb->sk = sk;
skb1887net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb1894net/inet/tcp.cmemcpy(t1, skb->h.th, sizeof(*t1));
skb1898net/inet/tcp.ct1->dest = skb->h.th->source;
skb1911net/inet/tcp.ct1->ack_seq = ntohl(skb->h.th->seq+1);
skb1924net/inet/tcp.cskb->sk = newsk;
skb1927net/inet/tcp.csk->rmem_alloc -= skb->mem_len;
skb1928net/inet/tcp.cnewsk->rmem_alloc += skb->mem_len;
skb1930net/inet/tcp.cskb_queue_tail(&sk->rqueue,skb);
skb1961net/inet/tcp.cstruct sk_buff *skb;
skb1964net/inet/tcp.cwhile((skb=skb_dequeue(&sk->rqueue))!=NULL)
skb1966net/inet/tcp.cif(skb->len > 0 && after(skb->h.th->seq + skb->len + 1 , sk->copied_seq))
skb1968net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2098net/inet/tcp.cstruct sk_buff *skb;
skb2113net/inet/tcp.cskb = sk->wfront;
skb2114net/inet/tcp.cIS_SKB(skb);
skb2115net/inet/tcp.csk->wfront = skb->next;
skb2117net/inet/tcp.cskb->next = NULL;
skb2118net/inet/tcp.cif (skb->magic != TCP_WRITE_QUEUE_MAGIC) {
skb2120net/inet/tcp.c"queue\n", skb->magic);
skb2125net/inet/tcp.cskb->magic = 0;
skb2129net/inet/tcp.cif (before(skb->h.seq, sk->rcv_ack_seq +1)) {
skb2131net/inet/tcp.ckfree_skb(skb, FREE_WRITE);
skb2134net/inet/tcp.csk->sent_seq = skb->h.seq;
skb2135net/inet/tcp.csk->prot->queue_xmit(sk, skb->dev, skb, skb->free);
skb2149net/inet/tcp.cstruct sk_buff *skb,*skb2,*skb3;
skb2151net/inet/tcp.cfor (skb = sk->send_head; skb != NULL; skb = skb2) {
skb2152net/inet/tcp.cskb2 = (struct sk_buff *)skb->link3;
skb2154net/inet/tcp.cskb->link3 = list;
skb2155net/inet/tcp.csk->send_tail = skb;
skb2156net/inet/tcp.clist = skb;
skb2160net/inet/tcp.cbefore(skb->h.seq, skb3->link3->h.seq)) {
skb2161net/inet/tcp.cskb->link3 = skb3->link3;
skb2162net/inet/tcp.cskb3->link3 = skb;
skb2163net/inet/tcp.cif (skb->link3 == NULL) sk->send_tail = skb;
skb2225net/inet/tcp.cstruct sk_buff *skb;
skb2238net/inet/tcp.cskb = skb2;
skb2239net/inet/tcp.cskb2 = (struct sk_buff *)skb->link3;
skb2240net/inet/tcp.cskb->link3 = NULL;
skb2241net/inet/tcp.cif (after(skb->h.seq, sk->window_seq)) {
skb2244net/inet/tcp.cif (skb->next != NULL) {
skb2245net/inet/tcp.cskb_unlink(skb);        
skb2248net/inet/tcp.cskb->magic = TCP_WRITE_QUEUE_MAGIC;
skb2250net/inet/tcp.cskb->next = sk->wfront;
skb2251net/inet/tcp.csk->wfront = skb;
skb2253net/inet/tcp.cskb->next = wskb->next;
skb2254net/inet/tcp.cwskb->next = skb;
skb2256net/inet/tcp.cif (sk->wback == wskb) sk->wback = skb;
skb2257net/inet/tcp.cwskb = skb;
skb2260net/inet/tcp.csk->send_head = skb;
skb2261net/inet/tcp.csk->send_tail = skb;
skb2263net/inet/tcp.csk->send_tail->link3 = skb;
skb2264net/inet/tcp.csk->send_tail = skb;
skb2266net/inet/tcp.cskb->link3 = NULL;
skb2550net/inet/tcp.ctcp_data(struct sk_buff *skb, struct sock *sk, 
skb2557net/inet/tcp.cth = skb->h.th;
skb2559net/inet/tcp.cskb->len = len -(th->doff*4);
skb2561net/inet/tcp.cDPRINTF((DBG_TCP, "tcp_data len = %d sk = %X:\n", skb->len, sk));
skb2563net/inet/tcp.csk->bytes_rcv += skb->len;
skb2564net/inet/tcp.cif (skb->len == 0 && !th->fin && !th->urg && !th->psh) {
skb2567net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2572net/inet/tcp.csk->acked_seq = th->seq + skb->len + th->syn + th->fin;
skb2573net/inet/tcp.ctcp_reset(sk->saddr, sk->daddr, skb->h.th,
skb2574net/inet/tcp.csk->prot, NULL, skb->dev, sk->ip_tos, sk->ip_ttl);
skb2579net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2594net/inet/tcp.cDPRINTF((DBG_TCP, "tcp_data: skb = %X:\n", skb));
skb2596net/inet/tcp.csk->rqueue = skb;
skb2597net/inet/tcp.cskb->next = skb;
skb2598net/inet/tcp.cskb->prev = skb;
skb2599net/inet/tcp.cskb->list = &sk->rqueue;
skb2601net/inet/tcp.cskb_queue_head(&sk->rqueue,skb);
skb2611net/inet/tcp.cprintk("skb->h.th->seq = %ld\n",skb->h.th->seq);
skb2617net/inet/tcp.cskb->prev = skb1;
skb2618net/inet/tcp.cskb->next = skb1->next;
skb2619net/inet/tcp.cskb->next->prev = skb;
skb2620net/inet/tcp.cskb1->next = skb;
skb2621net/inet/tcp.cif (skb1 == sk->rqueue) sk->rqueue = skb;
skb2625net/inet/tcp.cskb->next= skb1;
skb2626net/inet/tcp.cskb->prev = skb1->prev;
skb2627net/inet/tcp.cskb->prev->next = skb;
skb2628net/inet/tcp.cskb1->prev = skb;
skb2634net/inet/tcp.cif (th->seq==skb1->h.th->seq && skb->len>= skb1->len)
skb2636net/inet/tcp.cskb_append(skb1,skb);
skb2645net/inet/tcp.cskb_append(skb1,skb);
skb2650net/inet/tcp.cskb_queue_head(&sk->rqueue, skb);    
skb2655net/inet/tcp.cDPRINTF((DBG_TCP, "skb = %X:\n", skb));
skb2658net/inet/tcp.cth->ack_seq = th->seq + skb->len;
skb2680net/inet/tcp.cskb->acked = 1;
skb2683net/inet/tcp.cif (skb->h.th->fin) {
skb2688net/inet/tcp.cfor(skb2 = (struct sk_buff *)skb->next;
skb2740net/inet/tcp.cif (!skb->acked) {
skb2908net/inet/tcp.cstruct sk_buff *skb;
skb2925net/inet/tcp.cwhile((skb = get_firstr(sk)) == NULL) {
skb2945net/inet/tcp.cnewsk = skb->sk;
skb2947net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3132net/inet/tcp.ctcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
skb3139net/inet/tcp.cif (!skb) {
skb3157net/inet/tcp.cth = skb->h.th;
skb3162net/inet/tcp.cDPRINTF((DBG_TCP, "len = %d, redo = %d, skb=%X\n", len, redo, skb));
skb3175net/inet/tcp.cskb->sk = NULL;
skb3178net/inet/tcp.ckfree_skb(skb,FREE_READ);
skb3191net/inet/tcp.ctcp_reset(daddr, saddr, th, &tcp_prot, opt,dev,skb->ip_hdr->tos,255);
skb3192net/inet/tcp.cskb->sk = NULL;
skb3193net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3197net/inet/tcp.cskb->len = len;
skb3198net/inet/tcp.cskb->sk = sk;
skb3199net/inet/tcp.cskb->acked = 0;
skb3200net/inet/tcp.cskb->used = 0;
skb3201net/inet/tcp.cskb->free = 0;
skb3202net/inet/tcp.cskb->saddr = daddr;
skb3203net/inet/tcp.cskb->daddr = saddr;
skb3209net/inet/tcp.csk->back_log = skb;
skb3210net/inet/tcp.cskb->next = skb;
skb3211net/inet/tcp.cskb->prev = skb;
skb3213net/inet/tcp.cskb->next = sk->back_log;
skb3214net/inet/tcp.cskb->prev = sk->back_log->prev;
skb3215net/inet/tcp.cskb->prev->next = skb;
skb3216net/inet/tcp.cskb->next->prev = skb;
skb3236net/inet/tcp.cif (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) {
skb3237net/inet/tcp.cskb->sk = NULL;
skb3239net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3243net/inet/tcp.csk->rmem_alloc += skb->mem_len;
skb3262net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3280net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3303net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3320net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3326net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3332net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3337net/inet/tcp.cif (tcp_data(skb, sk, saddr, len)) {
skb3338net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3345net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3356net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3366net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3372net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3378net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3398net/inet/tcp.ctcp_conn_request(sk, skb, daddr, saddr, opt, dev);
skb3403net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3409net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3423net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3436net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3446net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3456net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3466net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3481net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3519net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3524net/inet/tcp.cif (tcp_data(skb, sk, saddr, len))
skb3525net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3534net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3540net/inet/tcp.cif (tcp_data(skb, sk, saddr, len)) {
skb3541net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb120net/inet/tcp.hextern int  tcp_rcv(struct sk_buff *skb, struct device *dev,
skb219net/inet/udp.cstruct sk_buff *skb;
skb237net/inet/udp.cskb = sk->prot->wmalloc(sk, size, 0, GFP_KERNEL);
skb238net/inet/udp.cif (skb == NULL) return(-ENOMEM);
skb240net/inet/udp.cskb->mem_addr = skb;
skb241net/inet/udp.cskb->mem_len  = size;
skb242net/inet/udp.cskb->sk       = NULL;  /* to avoid changing sk->saddr */
skb243net/inet/udp.cskb->free     = 1;
skb244net/inet/udp.cskb->arp      = 0;
skb247net/inet/udp.cbuff = skb->data;
skb251net/inet/udp.csaddr, sin->sin_addr.s_addr, dev, IPPROTO_UDP, skb->mem_len));
skb252net/inet/udp.ctmp = sk->prot->build_header(skb, saddr, sin->sin_addr.s_addr,
skb253net/inet/udp.c&dev, IPPROTO_UDP, sk->opt, skb->mem_len,sk->ip_tos,sk->ip_ttl);
skb254net/inet/udp.cskb->sk=sk;  /* So memory is freed correctly */
skb257net/inet/udp.csk->prot->wfree(sk, skb->mem_addr, skb->mem_len);
skb264net/inet/udp.cskb->len = tmp + sizeof(struct udphdr) + len;  /* len + UDP + IP + MAC */
skb265net/inet/udp.cskb->dev = dev;
skb274net/inet/udp.cif (skb->len > 4095)
skb278net/inet/udp.csk->prot->wfree(sk, skb->mem_addr, skb->mem_len);
skb293net/inet/udp.cudp_send_check(uh, saddr, sin->sin_addr.s_addr, skb->len - tmp, sk);
skb296net/inet/udp.csk->prot->queue_xmit(sk, dev, skb, 1);
skb401net/inet/udp.cstruct sk_buff *skb;
skb406net/inet/udp.cskb = sk->rqueue;
skb407net/inet/udp.cif (skb != NULL) {
skb413net/inet/udp.camount = skb->len;
skb440net/inet/udp.cstruct sk_buff *skb;
skb476net/inet/udp.cskb=skb_recv_datagram(sk,flags,noblock,&er);
skb477net/inet/udp.cif(skb==NULL)
skb479net/inet/udp.ccopied = min(len, skb->len);
skb482net/inet/udp.cskb_copy_datagram(skb,sizeof(struct udphdr),to,copied);
skb489net/inet/udp.caddr.sin_port = skb->h.uh->source;
skb490net/inet/udp.caddr.sin_addr.s_addr = skb->daddr;
skb494net/inet/udp.cskb_free_datagram(skb);
skb547net/inet/udp.cudp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
skb554net/inet/udp.cuh = (struct udphdr *) skb->h.uh;
skb560net/inet/udp.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, dev);
skb567net/inet/udp.cskb->sk = NULL;
skb568net/inet/udp.ckfree_skb(skb, FREE_WRITE);
skb574net/inet/udp.cskb->sk = NULL;
skb575net/inet/udp.ckfree_skb(skb, FREE_WRITE);
skb579net/inet/udp.cskb->sk = sk;
skb580net/inet/udp.cskb->dev = dev;
skb581net/inet/udp.cskb->len = len;
skb584net/inet/udp.cskb->daddr = saddr;
skb585net/inet/udp.cskb->saddr = daddr;
skb589net/inet/udp.cif (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) 
skb591net/inet/udp.cskb->sk = NULL;
skb592net/inet/udp.ckfree_skb(skb, FREE_WRITE);
skb596net/inet/udp.csk->rmem_alloc += skb->mem_len;
skb604net/inet/udp.cskb_queue_tail(&sk->rqueue,skb);
skb606net/inet/udp.cskb->len = len - sizeof(*uh);
skb609net/inet/udp.csk->data_ready(sk,skb->len);
skb43net/inet/udp.hextern int  udp_rcv(struct sk_buff *skb, struct device *dev,