taglinefilesource code
skb117drivers/net/3c501.cstatic int  el_start_xmit(struct sk_buff *skb, struct device *dev);
skb326drivers/net/3c501.cel_start_xmit(struct sk_buff *skb, struct device *dev)
skb350drivers/net/3c501.cif (skb == NULL) {
skb367drivers/net/3c501.cint gp_start = 0x800 - (ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN);
skb368drivers/net/3c501.cunsigned char *buf = skb->data;
skb387drivers/net/3c501.coutsb(DATAPORT,buf,skb->len);  /* load buffer (usual thing each byte increments the pointer) */
skb395drivers/net/3c501.cdev_kfree_skb (skb, FREE_WRITE);
skb536drivers/net/3c501.cstruct sk_buff *skb;
skb556drivers/net/3c501.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb561drivers/net/3c501.cif (skb == NULL) {
skb566drivers/net/3c501.cskb->len = pkt_len;
skb567drivers/net/3c501.cskb->dev = dev;
skb575drivers/net/3c501.cinsb(DATAPORT, skb->data, pkt_len);
skb577drivers/net/3c501.cnetif_rx(skb);
skb129drivers/net/3c505.cextern void  skb_check(struct sk_buff *skb,int, char *);
skb131drivers/net/3c505.c#define IS_SKB(skb)  skb_check((skb),__LINE__,filename)
skb135drivers/net/3c505.c#define IS_SKB(skb)  skb_check((skb),0,__LINE__,filename)
skb160drivers/net/3c505.c#define  SKB_DATA  (skb+1)
skb162drivers/net/3c505.c#define  SKB_DATA  (skb->data) 
skb552drivers/net/3c505.cstruct sk_buff *skb;
skb572drivers/net/3c505.cskb = alloc_skb(sksize, GFP_ATOMIC);
skb574drivers/net/3c505.cskb = alloc_skb(rlen, GFP_ATOMIC);
skb585drivers/net/3c505.cif (skb == NULL) {
skb599drivers/net/3c505.cskb->lock     = 0;
skb600drivers/net/3c505.cskb->len = rlen;
skb601drivers/net/3c505.cskb->dev = dev;
skb607drivers/net/3c505.cskb->mem_len = sksize;
skb608drivers/net/3c505.cskb->mem_addr = skb;
skb625drivers/net/3c505.ckfree_s(skb, sksize);
skb627drivers/net/3c505.ckfree_s(skb, rlen);
skb642drivers/net/3c505.cIS_SKB(skb);
skb649drivers/net/3c505.cif (dev_rint((unsigned char *)skb, rlen, IN_SKBUFF, dev) != 0) {
skb651drivers/net/3c505.ckfree_s(skb, sksize);
skb654drivers/net/3c505.cnetif_rx(skb);
skb1030drivers/net/3c505.cstatic int elp_start_xmit(struct sk_buff *skb, struct device *dev)
skb1040drivers/net/3c505.cif (skb == NULL) {
skb1050drivers/net/3c505.cIS_SKB(skb);
skb1051drivers/net/3c505.cif (!skb->arp && dev->rebuild_header(SKB_DATA, dev)) {
skb1052drivers/net/3c505.cskb->dev = dev;
skb1053drivers/net/3c505.cIS_SKB(skb);
skb1054drivers/net/3c505.carp_queue (skb);
skb1062drivers/net/3c505.cif (skb->len <= 0)
skb1066drivers/net/3c505.cprintk("%s: request to send packet of length %d\n", dev->name, (int)skb->len);
skb1086drivers/net/3c505.cif (!send_packet(adapter, (unsigned char *)SKB_DATA, skb->len)) {
skb1092drivers/net/3c505.cprintk("%s: packet of length %d sent\n", dev->name, (int)skb->len);
skb1109drivers/net/3c505.cif (skb->free)
skb1111drivers/net/3c505.cIS_SKB(skb);
skb1112drivers/net/3c505.ckfree_skb(skb, FREE_WRITE);
skb1115drivers/net/3c505.cdev_kfree_skb(skb, FREE_WRITE);
skb284drivers/net/3c507.cstatic int  el16_send_packet(struct sk_buff *skb, struct device *dev);
skb447drivers/net/3c507.cel16_send_packet(struct sk_buff *skb, struct device *dev)
skb482drivers/net/3c507.cif (skb == NULL) {
skb491drivers/net/3c507.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb492drivers/net/3c507.cunsigned char *buf = skb->data;
skb502drivers/net/3c507.cdev_kfree_skb (skb, FREE_WRITE);
skb835drivers/net/3c507.cstruct sk_buff *skb;
skb838drivers/net/3c507.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb839drivers/net/3c507.cif (skb == NULL) {
skb844drivers/net/3c507.cskb->len = pkt_len;
skb845drivers/net/3c507.cskb->dev = dev;
skb848drivers/net/3c507.cmemcpy(skb->data, data_frame + 5, pkt_len);
skb850drivers/net/3c507.cnetif_rx(skb);
skb104drivers/net/3c509.cstatic int el3_start_xmit(struct sk_buff *skb, struct device *dev);
skb378drivers/net/3c509.cel3_start_xmit(struct sk_buff *skb, struct device *dev)
skb397drivers/net/3c509.cif (skb == NULL) {
skb402drivers/net/3c509.cif (skb->len <= 0)
skb407drivers/net/3c509.cdev->name, skb->len, inw(ioaddr + EL3_STATUS));
skb431drivers/net/3c509.coutw(skb->len, ioaddr + TX_FIFO);
skb434drivers/net/3c509.coutsl(ioaddr + TX_FIFO, skb->data, (skb->len + 3) >> 2);
skb444drivers/net/3c509.cdev_kfree_skb (skb, FREE_WRITE);
skb592drivers/net/3c509.cstruct sk_buff *skb;
skb594drivers/net/3c509.cskb = alloc_skb(pkt_len+3, GFP_ATOMIC);
skb598drivers/net/3c509.cif (skb != NULL) {
skb599drivers/net/3c509.cskb->len = pkt_len;
skb600drivers/net/3c509.cskb->dev = dev;
skb603drivers/net/3c509.cinsl(ioaddr+RX_FIFO, skb->data,
skb606drivers/net/3c509.cnetif_rx(skb);
skb122drivers/net/8390.cstatic int ei_start_xmit(struct sk_buff *skb, struct device *dev)
skb164drivers/net/8390.cif (skb == NULL) {
skb169drivers/net/8390.clength = skb->len;
skb170drivers/net/8390.cif (skb->len <= 0)
skb210drivers/net/8390.cei_block_output(dev, length, skb->data, output_page);
skb224drivers/net/8390.cei_block_output(dev, length, skb->data, ei_local->tx_start_page);
skb234drivers/net/8390.cdev_kfree_skb (skb, FREE_WRITE);
skb447drivers/net/8390.cstruct sk_buff *skb;
skb449drivers/net/8390.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb450drivers/net/8390.cif (skb == NULL) {
skb457drivers/net/8390.cskb->len = pkt_len;
skb458drivers/net/8390.cskb->dev = dev;
skb460drivers/net/8390.cei_block_input(dev, pkt_len, (char *) skb->data,
skb462drivers/net/8390.cnetif_rx(skb);
skb188drivers/net/apricot.cstatic int i596_start_xmit(struct sk_buff *skb, struct device *dev);
skb345drivers/net/apricot.cstruct sk_buff *skb = alloc_skb(pkt_len, GFP_ATOMIC);
skb349drivers/net/apricot.cif (skb == NULL)
skb356drivers/net/apricot.cskb->len = pkt_len;
skb357drivers/net/apricot.cskb->dev = dev;    
skb358drivers/net/apricot.cmemcpy(skb->data, lp->scb.rfd->data, pkt_len);
skb360drivers/net/apricot.cnetif_rx(skb);
skb363drivers/net/apricot.cif (i596_debug > 4) print_eth(skb->data);
skb411drivers/net/apricot.cstruct sk_buff *skb = ((struct sk_buff *)(tx_cmd->tbd->data)) -1;
skb413drivers/net/apricot.cdev_kfree_skb(skb, FREE_WRITE);
skb576drivers/net/apricot.ci596_start_xmit(struct sk_buff *skb, struct device *dev)
skb614drivers/net/apricot.cif (skb == NULL) {
skb620drivers/net/apricot.cif (skb->len <= 0) return 0;
skb630drivers/net/apricot.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb639drivers/net/apricot.cdev_kfree_skb(skb, FREE_WRITE);
skb653drivers/net/apricot.ctx_cmd->tbd->data = skb->data;
skb655drivers/net/apricot.cif (i596_debug > 3) print_eth(skb->data);
skb813drivers/net/apricot.cstruct sk_buff *skb = ((struct sk_buff *)(tx_cmd->tbd->data)) -1;
skb815drivers/net/apricot.cdev_kfree_skb(skb, FREE_WRITE);
skb819drivers/net/apricot.cif (i596_debug >2) print_eth(skb->data);
skb309drivers/net/arcnet.cstruct sk_buff *skb;    /* packet data buffer             */
skb317drivers/net/arcnet.cstruct sk_buff *skb;    /* buffer from upper levels */
skb356drivers/net/arcnet.cstatic int arcnet_send_packet(struct sk_buff *skb, struct device *dev);
skb380drivers/net/arcnet.cvoid *daddr,void *saddr,unsigned len,struct sk_buff *skb);
skb382drivers/net/arcnet.cstruct sk_buff *skb);
skb383drivers/net/arcnet.cunsigned short arc_type_trans(struct sk_buff *skb,struct device *dev);
skb909drivers/net/arcnet.carcnet_send_packet(struct sk_buff *skb, struct device *dev)
skb945drivers/net/arcnet.cstatus,tickssofar,lp->outgoing.skb,
skb963drivers/net/arcnet.cif (lp->outgoing.skb)
skb964drivers/net/arcnet.cdev_kfree_skb(lp->outgoing.skb,FREE_WRITE);
skb965drivers/net/arcnet.clp->outgoing.skb=NULL;
skb980drivers/net/arcnet.cif (skb == NULL) {
skb1008drivers/net/arcnet.cout->length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb1009drivers/net/arcnet.cout->hdr=(struct ClientData*)skb->data;
skb1010drivers/net/arcnet.cout->skb=skb;
skb1013drivers/net/arcnet.cfor( i=0; i< skb->len; i++)
skb1016drivers/net/arcnet.cprintk("%02hX ",((unsigned char*)skb->data)[i]);
skb1038drivers/net/arcnet.c((char *)skb->data)+sizeof(struct ClientData));
skb1042drivers/net/arcnet.cdev_kfree_skb(out->skb,FREE_WRITE);
skb1043drivers/net/arcnet.cout->skb=NULL;
skb1058drivers/net/arcnet.cout->data=(u_char *)skb->data
skb1095drivers/net/arcnet.cif (out->skb)
skb1096drivers/net/arcnet.cdev_kfree_skb(out->skb,FREE_WRITE);
skb1097drivers/net/arcnet.cout->skb=NULL;
skb1114drivers/net/arcnet.cdev_kfree_skb(out->skb,FREE_WRITE);
skb1115drivers/net/arcnet.cout->skb=NULL;
skb1436drivers/net/arcnet.cstatus,out->numsegs,out->segnum,out->skb);
skb1451drivers/net/arcnet.cif (!lp->outgoing.skb)
skb1484drivers/net/arcnet.cif (out->skb)
skb1485drivers/net/arcnet.cdev_kfree_skb(out->skb,FREE_WRITE);
skb1486drivers/net/arcnet.cout->skb=NULL;
skb1525drivers/net/arcnet.cstruct sk_buff *skb;
skb1583drivers/net/arcnet.cif (in->skb)  /* already assembling one! */
skb1588drivers/net/arcnet.ckfree_skb(in->skb,FREE_WRITE);
skb1589drivers/net/arcnet.cin->skb=NULL;
skb1594drivers/net/arcnet.cskb = alloc_skb(length, GFP_ATOMIC);
skb1595drivers/net/arcnet.cif (skb == NULL) {
skb1601drivers/net/arcnet.csoft=(struct ClientData *)skb->data;
skb1603drivers/net/arcnet.cskb->len = length;
skb1604drivers/net/arcnet.cskb->dev = dev;
skb1668drivers/net/arcnet.cfor( i=0; i< skb->len; i++)
skb1671drivers/net/arcnet.cprintk("%02hX ",((unsigned char*)skb->data)[i]);
skb1675drivers/net/arcnet.cnetif_rx(skb);
skb1702drivers/net/arcnet.cif (in->skb && in->sequence!=arcsoft->sequence)
skb1707drivers/net/arcnet.ckfree_skb(in->skb,FREE_WRITE);
skb1708drivers/net/arcnet.cin->skb=NULL;
skb1716drivers/net/arcnet.cif (in->skb)  /* already assembling one! */
skb1721drivers/net/arcnet.ckfree_skb(in->skb,FREE_WRITE);
skb1736drivers/net/arcnet.cin->skb=skb=alloc_skb(508*in->numpackets
skb1739drivers/net/arcnet.cif (skb == NULL) {
skb1749drivers/net/arcnet.cskb->free=1;
skb1751drivers/net/arcnet.csoft=(struct ClientData *)skb->data;
skb1753drivers/net/arcnet.cskb->len=sizeof(struct ClientData);
skb1754drivers/net/arcnet.cskb->dev=dev;
skb1768drivers/net/arcnet.cif (!in->skb)
skb1790drivers/net/arcnet.ckfree_skb(in->skb,FREE_WRITE);
skb1791drivers/net/arcnet.cin->skb=NULL;
skb1796drivers/net/arcnet.csoft=(struct ClientData *)in->skb->data;
skb1799drivers/net/arcnet.cskb=in->skb;
skb1801drivers/net/arcnet.cmemcpy(skb->data+skb->len,
skb1805drivers/net/arcnet.cskb->len+=length-sizeof(struct ClientData);
skb1833drivers/net/arcnet.cif (!skb || !in->skb)
skb1835drivers/net/arcnet.cskb,in->skb);
skb1836drivers/net/arcnet.cin->skb=NULL;
skb1840drivers/net/arcnet.cfor( i=0; i< skb->len; i++)
skb1843drivers/net/arcnet.cprintk("%02hX ",((unsigned char*)skb->data)[i]);
skb1847drivers/net/arcnet.cnetif_rx(skb);
skb1989drivers/net/arcnet.cvoid *daddr,void *saddr,unsigned len,struct sk_buff *skb)
skb2067drivers/net/arcnet.cstruct sk_buff *skb)
skb2088drivers/net/arcnet.creturn arp_find(&(head->daddr), dst, dev, dev->pa_addr, skb)? 1 : 0;
skb2099drivers/net/arcnet.cunsigned short arc_type_trans(struct sk_buff *skb,struct device *dev)
skb2101drivers/net/arcnet.cstruct ClientData *head = (struct ClientData *) skb->data;
skb2105drivers/net/arcnet.cskb->pkt_type=PACKET_BROADCAST;
skb2111drivers/net/arcnet.cskb->pkt_type=PACKET_BROADCAST;
skb2113drivers/net/arcnet.cskb->pkt_type=PACKET_MULTICAST;
skb2121drivers/net/arcnet.cskb->pkt_type=PACKET_OTHERHOST;
skb121drivers/net/at1700.cstatic int  net_send_packet(struct sk_buff *skb, struct device *dev);
skb363drivers/net/at1700.cnet_send_packet(struct sk_buff *skb, struct device *dev)
skb397drivers/net/at1700.cif (skb == NULL) {
skb407drivers/net/at1700.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb408drivers/net/at1700.cunsigned char *buf = skb->data;
skb434drivers/net/at1700.cdev_kfree_skb (skb, FREE_WRITE);
skb519drivers/net/at1700.cstruct sk_buff *skb;
skb530drivers/net/at1700.cskb = alloc_skb(pkt_len+1, GFP_ATOMIC);
skb531drivers/net/at1700.cif (skb == NULL) {
skb540drivers/net/at1700.cskb->len = pkt_len;
skb541drivers/net/at1700.cskb->dev = dev;
skb543drivers/net/at1700.cinsw(ioaddr + DATAPORT, skb->data, (pkt_len + 1) >> 1);
skb544drivers/net/at1700.cnetif_rx(skb);
skb137drivers/net/atp.cstatic int  net_send_packet(struct sk_buff *skb, struct device *dev);
skb414drivers/net/atp.cnet_send_packet(struct sk_buff *skb, struct device *dev)
skb438drivers/net/atp.cif (skb == NULL) {
skb448drivers/net/atp.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb449drivers/net/atp.cunsigned char *buf = skb->data;
skb477drivers/net/atp.cdev_kfree_skb (skb, FREE_WRITE);
skb671drivers/net/atp.cstruct sk_buff *skb;
skb673drivers/net/atp.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb674drivers/net/atp.cif (skb == NULL) {
skb679drivers/net/atp.cskb->len = pkt_len;
skb680drivers/net/atp.cskb->dev = dev;
skb682drivers/net/atp.cread_block(ioaddr, pkt_len, skb->data, dev->if_port);
skb685drivers/net/atp.cunsigned char *data = skb->data;
skb693drivers/net/atp.cnetif_rx(skb);
skb294drivers/net/de4x5.cstruct sk_buff *skb[NUM_TX_DESC];        /* TX skb for freeing when sent */
skb323drivers/net/de4x5.cstatic int  de4x5_queue_pkt(struct sk_buff *skb, struct device *dev);
skb343drivers/net/de4x5.cstatic void load_packet(struct device *dev, char *buf, u_long flags, struct sk_buff *skb);
skb796drivers/net/de4x5.cde4x5_queue_pkt(struct sk_buff *skb, struct device *dev)
skb849drivers/net/de4x5.c} else if (skb == NULL) {
skb851drivers/net/de4x5.c} else if (skb->len > 0) {
skb861drivers/net/de4x5.cif (((u_long)skb->data & ~0x03) != (u_long)skb->data) {
skb865drivers/net/de4x5.cload_packet(dev, skb->data, TD_IC | TD_LS | TD_FS | skb->len, skb);
skb959drivers/net/de4x5.cstruct sk_buff *skb;
skb962drivers/net/de4x5.cif ((skb = alloc_skb(pkt_len, GFP_ATOMIC)) != NULL) {
skb963drivers/net/de4x5.cskb->len = pkt_len;
skb964drivers/net/de4x5.cskb->dev = dev;
skb968drivers/net/de4x5.cmemcpy(skb->data, lp->rx_ring[lp->rx_old].buf, len);
skb969drivers/net/de4x5.cmemcpy(skb->data + len, lp->rx_ring[0].buf, pkt_len - len);
skb971drivers/net/de4x5.cmemcpy(skb->data, lp->rx_ring[lp->rx_old].buf, pkt_len);
skb978drivers/net/de4x5.cnetif_rx(skb);
skb990drivers/net/de4x5.cbuf = skb->data;                  /* Look at the dest addr */
skb1062drivers/net/de4x5.cif (lp->skb[entry] != NULL) {
skb1063drivers/net/de4x5.cdev_kfree_skb(lp->skb[entry], FREE_WRITE);
skb1117drivers/net/de4x5.cstatic void load_packet(struct device *dev, char *buf, u_long flags, struct sk_buff *skb)
skb1124drivers/net/de4x5.clp->skb[lp->tx_new] = skb;
skb250drivers/net/de600.cstatic int  de600_start_xmit(struct sk_buff *skb, struct device *dev);
skb404drivers/net/de600.cde600_start_xmit(struct sk_buff *skb, struct device *dev)
skb409drivers/net/de600.cbyte  *buffer = skb->data;
skb417drivers/net/de600.cif (skb == NULL) {
skb441drivers/net/de600.cPRINTK(("de600_start_xmit:len=%d, page %d/%d\n", skb->len, tx_fifo_in, free_tx_pages));
skb443drivers/net/de600.cif ((len = skb->len) < RUNT)
skb483drivers/net/de600.cif (skb->sk && (skb->sk->protocol == IPPROTO_TCP) &&
skb484drivers/net/de600.c(skb->sk->prot->rspace != &de600_rspace))
skb485drivers/net/de600.cskb->sk->prot->rspace = de600_rspace; /* Ugh! */
skb488drivers/net/de600.cdev_kfree_skb (skb, FREE_WRITE);
skb587drivers/net/de600.cstruct sk_buff  *skb;
skb612drivers/net/de600.cskb = alloc_skb(size, GFP_ATOMIC);
skb614drivers/net/de600.cif (skb == NULL) {
skb621drivers/net/de600.cskb->lock = 0;
skb623drivers/net/de600.cbuffer = skb->data;
skb632drivers/net/de600.cif (dev_rint((unsigned char *)skb, size, IN_SKBUFF, dev))
skb485drivers/net/de620.cde620_start_xmit(struct sk_buff *skb, struct device *dev)
skb490drivers/net/de620.cbyte *buffer = skb->data;
skb499drivers/net/de620.cif (skb == NULL) {
skb524drivers/net/de620.cif ((len = skb->len) < RUNT)
skb534drivers/net/de620.c(int)skb->len, using_txbuf));
skb564drivers/net/de620.cdev_kfree_skb (skb, FREE_WRITE);
skb626drivers/net/de620.cstruct sk_buff *skb;
skb681drivers/net/de620.cskb = alloc_skb(size, GFP_ATOMIC);
skb682drivers/net/de620.cif (skb == NULL) { /* Yeah, but no place to put it... */
skb688drivers/net/de620.cskb->len = size; skb->dev = dev; skb->free = 1;
skb690drivers/net/de620.cbuffer = skb->data;
skb694drivers/net/de620.cnetif_rx(skb); /* deliver it "upstairs" */
skb327drivers/net/depca.cstatic int depca_start_xmit(struct sk_buff *skb, struct device *dev);
skb809drivers/net/depca.cdepca_start_xmit(struct sk_buff *skb, struct device *dev)
skb834drivers/net/depca.cif (skb == NULL) {
skb839drivers/net/depca.cif (skb->len <= 0) {
skb863drivers/net/depca.clong skbL = skb->len;
skb864drivers/net/depca.cchar *p = (char *) skb->data;
skb886drivers/net/depca.cmemcpy((unsigned char *)(buf), skb->data, len);
skb911drivers/net/depca.cmemcpy((unsigned char *)buf, skb->data, PKT_HDR_LEN);
skb949drivers/net/depca.cdev_kfree_skb (skb, FREE_WRITE);
skb1057drivers/net/depca.cstruct sk_buff *skb;
skb1059drivers/net/depca.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb1060drivers/net/depca.cif (skb == NULL) {
skb1065drivers/net/depca.cskb->len = pkt_len;
skb1066drivers/net/depca.cskb->dev = dev;
skb1067drivers/net/depca.cmemcpy(skb->data,
skb1075drivers/net/depca.cnetif_rx(skb);
skb59drivers/net/dummy.cstatic int dummy_xmit(struct sk_buff *skb, struct device *dev);
skb107drivers/net/dummy.cdummy_xmit(struct sk_buff *skb, struct device *dev)
skb113drivers/net/dummy.cif (skb == NULL || dev == NULL)
skb116drivers/net/dummy.cdev_kfree_skb(skb, FREE_WRITE);
skb292drivers/net/eexpress.cstatic int  eexp_send_packet(struct sk_buff *skb, struct device *dev);
skb452drivers/net/eexpress.ceexp_send_packet(struct sk_buff *skb, struct device *dev)
skb487drivers/net/eexpress.cif (skb == NULL) {
skb496drivers/net/eexpress.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb497drivers/net/eexpress.cunsigned char *buf = skb->data;
skb507drivers/net/eexpress.cdev_kfree_skb (skb, FREE_WRITE);
skb941drivers/net/eexpress.cstruct sk_buff *skb;
skb944drivers/net/eexpress.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb945drivers/net/eexpress.cif (skb == NULL) {
skb950drivers/net/eexpress.cskb->len = pkt_len;
skb951drivers/net/eexpress.cskb->dev = dev;
skb955drivers/net/eexpress.cinsw(ioaddr, skb->data, (pkt_len + 1) >> 1);
skb957drivers/net/eexpress.cnetif_rx(skb);
skb292drivers/net/ewrk3.cstatic int ewrk3_queue_pkt(struct sk_buff *skb, struct device *dev);
skb760drivers/net/ewrk3.cewrk3_queue_pkt(struct sk_buff *skb, struct device *dev)
skb796drivers/net/ewrk3.c} else if (skb == NULL) {
skb798drivers/net/ewrk3.c} else if (skb->len > 0) {
skb848drivers/net/ewrk3.cunsigned char *p = skb->data;
skb851drivers/net/ewrk3.coutb((char)(skb->len & 0xff), EWRK3_DATA);
skb852drivers/net/ewrk3.coutb((char)((skb->len >> 8) & 0xff), EWRK3_DATA);
skb854drivers/net/ewrk3.cfor (i=0; i<skb->len; i++) {
skb860drivers/net/ewrk3.c*buf++ = (char)(skb->len & 0xff);         /* length (16 bit xfer)*/
skb862drivers/net/ewrk3.c*buf++ = (char)(((skb->len >> 8) & 0xff) | XCT);
skb864drivers/net/ewrk3.c*(buf + skb->len) = 0x00;               /* Write the XCT flag */
skb865drivers/net/ewrk3.cmemcpy(buf, skb->data, PRELOAD);        /* Write PRELOAD bytes */
skb867drivers/net/ewrk3.cmemcpy(buf + PRELOAD, skb->data + PRELOAD, skb->len - PRELOAD);
skb868drivers/net/ewrk3.c*(buf + skb->len) = 0xff;               /* Write the XCT flag */
skb870drivers/net/ewrk3.c*buf++ = (char)((skb->len >> 8) & 0xff);
skb872drivers/net/ewrk3.cmemcpy(buf, skb->data, skb->len);       /* Write data bytes */
skb879drivers/net/ewrk3.cdev_kfree_skb (skb, FREE_WRITE);
skb1036drivers/net/ewrk3.cstruct sk_buff *skb;
skb1038drivers/net/ewrk3.cif ((skb = alloc_skb(pkt_len, GFP_ATOMIC)) != NULL) {
skb1039drivers/net/ewrk3.cskb->len = pkt_len;
skb1040drivers/net/ewrk3.cskb->dev = dev;
skb1043drivers/net/ewrk3.cunsigned char *p = skb->data;
skb1046drivers/net/ewrk3.cfor (i=0; i<skb->len; i++) {
skb1050drivers/net/ewrk3.cmemcpy(skb->data, buf, pkt_len);
skb1057drivers/net/ewrk3.cnetif_rx(skb);
skb1069drivers/net/ewrk3.cbuf = skb->data;                  /* Look at the dest addr */
skb237drivers/net/lance.cstatic int lance_start_xmit(struct sk_buff *skb, struct device *dev);
skb651drivers/net/lance.clance_start_xmit(struct sk_buff *skb, struct device *dev)
skb693drivers/net/lance.cif (skb == NULL) {
skb698drivers/net/lance.cif (skb->len <= 0)
skb733drivers/net/lance.c-(ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN);
skb735drivers/net/lance.clp->tx_ring[entry].length = -skb->len;
skb741drivers/net/lance.cif ((int)(skb->data) + skb->len > 0x01000000) {
skb744drivers/net/lance.cdev->name, (int)(skb->data));
skb745drivers/net/lance.cmemcpy(&lp->tx_bounce_buffs[entry], skb->data, skb->len);
skb748drivers/net/lance.cdev_kfree_skb (skb, FREE_WRITE);
skb750drivers/net/lance.clp->tx_skbuff[entry] = skb;
skb751drivers/net/lance.clp->tx_ring[entry].base = (int)(skb->data) | 0x83000000;
skb917drivers/net/lance.cstruct sk_buff *skb;
skb919drivers/net/lance.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb920drivers/net/lance.cif (skb == NULL) {
skb933drivers/net/lance.cskb->len = pkt_len;
skb934drivers/net/lance.cskb->dev = dev;
skb935drivers/net/lance.cmemcpy(skb->data,
skb938drivers/net/lance.cnetif_rx(skb);
skb45drivers/net/loopback.cloopback_xmit(struct sk_buff *skb, struct device *dev)
skb50drivers/net/loopback.cif (skb == NULL || dev == NULL) return(0);
skb64drivers/net/loopback.cdone = dev_rint(skb->data, skb->len, 0, dev);
skb65drivers/net/loopback.cdev_kfree_skb(skb, FREE_WRITE);
skb792drivers/net/ni52.cstruct sk_buff *skb;
skb806drivers/net/ni52.cskb = (struct sk_buff *) alloc_skb(totlen, GFP_ATOMIC);
skb807drivers/net/ni52.cif(skb != NULL)
skb809drivers/net/ni52.cskb->len = totlen;
skb810drivers/net/ni52.cskb->dev = dev;
skb811drivers/net/ni52.cmemcpy( (char *) skb->data,(char *) p->base+(unsigned long) rbd->buffer, totlen);
skb812drivers/net/ni52.cnetif_rx(skb);
skb927drivers/net/ni52.cstatic int ni52_send_packet(struct sk_buff *skb, struct device *dev)
skb971drivers/net/ni52.cif(skb == NULL)
skb977drivers/net/ni52.cif (skb->len <= 0)
skb979drivers/net/ni52.cif(skb->len > XMIT_BUFF_SIZE)
skb981drivers/net/ni52.cprintk("%s: Sorry, max. framelength is %d bytes. The length of your frame is %ld bytes.\n",dev->name,XMIT_BUFF_SIZE,skb->len);
skb989drivers/net/ni52.cmemcpy((char *)p->xmit_cbuffs[p->xmit_count],(char *)(skb->data),skb->len);
skb990drivers/net/ni52.clen = (ETH_ZLEN < skb->len) ? skb->len : ETH_ZLEN;
skb1004drivers/net/ni52.cdev_kfree_skb(skb,FREE_WRITE);
skb1024drivers/net/ni52.cdev_kfree_skb(skb,FREE_WRITE);
skb1044drivers/net/ni52.cdev_kfree_skb(skb,FREE_WRITE);
skb120drivers/net/ni65.cstatic int   ni65_send_packet(struct sk_buff *skb, struct device *dev);
skb452drivers/net/ni65.cstruct sk_buff *skb;
skb462drivers/net/ni65.cskb = (struct sk_buff *) p->tmdbufs[p->tmdlast];
skb463drivers/net/ni65.cdev_kfree_skb(skb,FREE_WRITE); 
skb500drivers/net/ni65.cstruct sk_buff *skb,*skb1;
skb529drivers/net/ni65.cskb = alloc_skb(R_BUF_SIZE,GFP_ATOMIC);
skb530drivers/net/ni65.cif(skb != NULL)
skb532drivers/net/ni65.cif( (unsigned long) (skb->data + R_BUF_SIZE) & 0xff000000) {
skb533drivers/net/ni65.cmemcpy(skb->data,p->recv_skb[p->rmdnum]->data,len);
skb534drivers/net/ni65.cskb1 = skb;
skb538drivers/net/ni65.cp->recv_skb[p->rmdnum] = skb;
skb539drivers/net/ni65.crmdp->u.buffer = (unsigned long) (skb->data);
skb564drivers/net/ni65.cstatic int ni65_send_packet(struct sk_buff *skb, struct device *dev)
skb581drivers/net/ni65.cif(skb == NULL)
skb587drivers/net/ni65.cif (skb->len <= 0)
skb602drivers/net/ni65.cshort len = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb607drivers/net/ni65.ctmdp->u.buffer = (unsigned long) (skb->data);
skb608drivers/net/ni65.cp->tmdbufs[p->tmdnum] = skb;
skb610drivers/net/ni65.cmemcpy((char *) (tmdp->u.buffer & 0x00ffffff),(char *)skb->data,skb->len);
skb611drivers/net/ni65.cdev_kfree_skb (skb, FREE_WRITE);
skb132drivers/net/plip.cunsigned long raddr, struct sk_buff *skb);
skb133drivers/net/plip.cstatic int plip_tx_packet(struct sk_buff *skb, struct device *dev);
skb195drivers/net/plip.cstruct sk_buff *skb;
skb210drivers/net/plip.cunsigned long raddr, struct sk_buff *skb);
skb409drivers/net/plip.cif (rcv->skb) {
skb410drivers/net/plip.crcv->skb->free = 1;
skb411drivers/net/plip.ckfree_skb(rcv->skb, FREE_READ);
skb412drivers/net/plip.crcv->skb = NULL;
skb415drivers/net/plip.cif (snd->skb) {
skb416drivers/net/plip.cdev_kfree_skb(snd->skb, FREE_WRITE);
skb417drivers/net/plip.csnd->skb = NULL;
skb536drivers/net/plip.crcv->skb = alloc_skb(rcv->length.h, GFP_ATOMIC);
skb537drivers/net/plip.cif (rcv->skb == NULL) {
skb541drivers/net/plip.crcv->skb->len = rcv->length.h;
skb542drivers/net/plip.crcv->skb->dev = dev;
skb548drivers/net/plip.clbuf = rcv->skb->data;
skb573drivers/net/plip.cnetif_rx(rcv->skb);
skb575drivers/net/plip.crcv->skb = NULL;
skb658drivers/net/plip.cif (snd->skb == NULL || (lbuf = snd->skb->data) == NULL) {
skb661drivers/net/plip.csnd->skb = NULL;
skb730drivers/net/plip.cdev_kfree_skb(snd->skb, FREE_WRITE);
skb737drivers/net/plip.csnd->skb = NULL;
skb846drivers/net/plip.cstruct sk_buff *skb)
skb853drivers/net/plip.creturn nl->orig_rebuild_header(buff, dev, dst, skb);
skb868drivers/net/plip.cplip_tx_packet(struct sk_buff *skb, struct device *dev)
skb879drivers/net/plip.cif (skb == NULL) {
skb889drivers/net/plip.cif (skb->len > dev->mtu) {
skb890drivers/net/plip.cprintk("%s: packet too big, %d.\n", dev->name, (int)skb->len);
skb900drivers/net/plip.csnd->skb = skb;
skb901drivers/net/plip.csnd->length.h = skb->len;
skb947drivers/net/plip.cnl->rcv_data.skb = nl->snd_data.skb = NULL;
skb982drivers/net/plip.cif (snd->skb) {
skb983drivers/net/plip.cdev_kfree_skb(snd->skb, FREE_WRITE);
skb984drivers/net/plip.csnd->skb = NULL;
skb987drivers/net/plip.cif (rcv->skb) {
skb988drivers/net/plip.crcv->skb->free = 1;
skb989drivers/net/plip.ckfree_skb(rcv->skb, FREE_READ);
skb990drivers/net/plip.crcv->skb = NULL;
skb125drivers/net/ppp.cstatic void ppp_add_arp(unsigned long addr, struct sk_buff *skb,
skb1688drivers/net/ppp.cppp_xmit(struct sk_buff *skb, struct device *dev)
skb1697drivers/net/ppp.cif (skb == NULL) {
skb1705drivers/net/ppp.cp     = (unsigned char *) (skb + 1);
skb1706drivers/net/ppp.clen   = skb->len;
skb1710drivers/net/ppp.c(unsigned long int) skb, ppp->sending));
skb1731drivers/net/ppp.clen = ntohs( ((struct iphdr *)(skb->data)) -> tot_len );
skb1772drivers/net/ppp.cstruct iphdr *iph = (struct iphdr *) (skb + 1);
skb1819drivers/net/ppp.cdev_kfree_skb(skb, FREE_WRITE);
skb1824drivers/net/ppp.cppp_type_trans (struct sk_buff *skb, struct device *dev)
skb1844drivers/net/ppp.cppp_add_arp(unsigned long addr, struct sk_buff *skb, struct device *dev)
skb1852drivers/net/ppp.cvoid *daddr, void *saddr, unsigned len, struct sk_buff *skb)
skb1859drivers/net/ppp.cstruct sk_buff *skb)
skb489drivers/net/sk_g16.cstatic int   SK_send_packet(struct sk_buff *skb, struct device *dev);
skb1193drivers/net/sk_g16.cstatic int SK_send_packet(struct sk_buff *skb, struct device *dev)
skb1224drivers/net/sk_g16.cif (skb == NULL)
skb1250drivers/net/sk_g16.cshort len = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN; 
skb1258drivers/net/sk_g16.cmemcpy((char *) (tmdp->u.buffer & 0x00ffffff), (char *)skb->data,
skb1259drivers/net/sk_g16.cskb->len);
skb1290drivers/net/sk_g16.cdev_kfree_skb(skb, FREE_WRITE);
skb1571drivers/net/sk_g16.cstruct sk_buff *skb;
skb1573drivers/net/sk_g16.cskb = alloc_skb(len, GFP_ATOMIC); /* allocate socket buffer */ 
skb1575drivers/net/sk_g16.cif (skb == NULL)                /* Could not get mem ? */
skb1593drivers/net/sk_g16.cskb->len = len;
skb1594drivers/net/sk_g16.cskb->dev = dev;
skb1603drivers/net/sk_g16.cmemcpy(skb->data, (unsigned char *) (rmdp->u.buffer & 0x00ffffff),
skb1614drivers/net/sk_g16.cnetif_rx(skb);                 /* queue packet and mark it for processing */
skb99drivers/net/skeleton.cstatic int  net_send_packet(struct sk_buff *skb, struct device *dev);
skb308drivers/net/skeleton.cnet_send_packet(struct sk_buff *skb, struct device *dev)
skb330drivers/net/skeleton.cif (skb == NULL) {
skb340drivers/net/skeleton.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb341drivers/net/skeleton.cunsigned char *buf = skb->data;
skb346drivers/net/skeleton.cdev_kfree_skb (skb, FREE_WRITE);
skb417drivers/net/skeleton.cstruct sk_buff *skb;
skb419drivers/net/skeleton.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb420drivers/net/skeleton.cif (skb == NULL) {
skb425drivers/net/skeleton.cskb->len = pkt_len;
skb426drivers/net/skeleton.cskb->dev = dev;
skb429drivers/net/skeleton.cmemcpy(skb->data, (void*)dev->rmem_start,
skb432drivers/net/skeleton.cinsw(ioaddr, skb->data, (pkt_len + 1) >> 1);
skb434drivers/net/skeleton.cnetif_rx(skb);
skb278drivers/net/slip.cstruct sk_buff *skb;
skb315drivers/net/slip.cskb = alloc_skb(count, GFP_ATOMIC);
skb316drivers/net/slip.cif (skb == NULL)  {
skb321drivers/net/slip.cskb->len = count;
skb322drivers/net/slip.cskb->dev = sl->dev;
skb323drivers/net/slip.cmemcpy(skb->data, sl->rbuff, count);
skb324drivers/net/slip.cnetif_rx(skb);
skb413drivers/net/slip.csl_xmit(struct sk_buff *skb, struct device *dev)
skb452drivers/net/slip.cif (skb != NULL) {
skb454drivers/net/slip.csl_encaps(sl, skb->data, skb->len);
skb455drivers/net/slip.cdev_kfree_skb(skb, FREE_WRITE);
skb463drivers/net/slip.csl_type_trans (struct sk_buff *skb, struct device *dev)
skb479drivers/net/slip.cvoid *daddr, void *saddr, unsigned len, struct sk_buff *skb)
skb486drivers/net/slip.creturn ax25_encapsulate(buff, dev, type, daddr, saddr, len, skb);
skb497drivers/net/slip.cstruct sk_buff *skb)
skb504drivers/net/slip.creturn ax25_rebuild_header(buff, dev, raddr, skb);
skb160drivers/net/tulip.cstatic int tulip_start_xmit(struct sk_buff *skb, struct device *dev);
skb376drivers/net/tulip.ctulip_start_xmit(struct sk_buff *skb, struct device *dev)
skb406drivers/net/tulip.cif (skb == NULL || skb->len <= 0) {
skb428drivers/net/tulip.ctp->tx_skbuff[entry] = skb;
skb429drivers/net/tulip.ctp->tx_ring[entry].length = skb->len |
skb431drivers/net/tulip.ctp->tx_ring[entry].buffer1 = skb->data;
skb601drivers/net/tulip.cstruct sk_buff *skb;
skb603drivers/net/tulip.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb604drivers/net/tulip.cif (skb == NULL) {
skb619drivers/net/tulip.cskb->len = pkt_len;
skb620drivers/net/tulip.cskb->dev = dev;
skb621drivers/net/tulip.cmemcpy(skb->data, lp->rx_ring[entry].buffer1, pkt_len);
skb622drivers/net/tulip.cnetif_rx(skb);
skb1227drivers/net/wavelan.cwavelan_send_packet(struct sk_buff *skb, device *dev)
skb1268drivers/net/wavelan.cif (skb == (struct sk_buff *)0)
skb1282drivers/net/wavelan.clength = (ETH_ZLEN < skb->len) ? skb->len : ETH_ZLEN;
skb1283drivers/net/wavelan.cbuf = skb->data;
skb1290drivers/net/wavelan.cdev_kfree_skb(skb, FREE_WRITE);
skb1335drivers/net/wavelan.cstruct sk_buff  *skb;
skb1478drivers/net/wavelan.cif ((skb = alloc_skb(sksize, GFP_ATOMIC)) == (struct sk_buff *)0)
skb1485drivers/net/wavelan.cskb->len = pkt_len;
skb1486drivers/net/wavelan.cskb->dev = dev;
skb1488drivers/net/wavelan.cobram_read(ioaddr, rbd.rbd_bufl, skb->data, pkt_len);
skb1504drivers/net/wavelan.cc = skb->data[i];
skb1506drivers/net/wavelan.cprintk(" %c", skb->data[i]);
skb1508drivers/net/wavelan.cprintk("%02x", skb->data[i]);
skb1517drivers/net/wavelan.cnetif_rx(skb);
skb184drivers/net/znet.cstatic int  znet_send_packet(struct sk_buff *skb, struct device *dev);
skb317drivers/net/znet.cstatic int znet_send_packet(struct sk_buff *skb, struct device *dev)
skb343drivers/net/znet.cif (skb == NULL) {
skb360drivers/net/znet.cshort length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
skb361drivers/net/znet.cunsigned char *buf = (void *)(skb+1);
skb386drivers/net/znet.cmemcpy(zn.tx_cur, buf, skb->len);
skb400drivers/net/znet.cdev_kfree_skb(skb, FREE_WRITE); 
skb549drivers/net/znet.cstruct sk_buff *skb;
skb551drivers/net/znet.cskb = alloc_skb(pkt_len, GFP_ATOMIC);
skb552drivers/net/znet.cif (skb == NULL) {
skb558drivers/net/znet.cskb->len = pkt_len;
skb559drivers/net/znet.cskb->dev = dev;
skb563drivers/net/znet.cmemcpy((unsigned char *) (skb + 1), zn.rx_cur, semi_cnt);
skb564drivers/net/znet.cmemcpy((unsigned char *) (skb + 1) + semi_cnt, zn.rx_start,
skb567drivers/net/znet.cmemcpy((unsigned char *) (skb + 1), zn.rx_cur, pkt_len);
skb569drivers/net/znet.cunsigned int *packet = (unsigned int *) (skb + 1);
skb576drivers/net/znet.cnetif_rx(skb);
skb578drivers/net/znet.cskb->lock = 0;
skb579drivers/net/znet.cif (dev_rint((unsigned char*)skb, pkt_len, IN_SKBUFF, dev) != 0) {
skb580drivers/net/znet.ckfree(skb);
skb34include/linux/etherdevice.hstruct sk_buff *skb);
skb36include/linux/etherdevice.hunsigned long raddr, struct sk_buff *skb);
skb37include/linux/etherdevice.hextern unsigned short  eth_type_trans(struct sk_buff *skb, struct device *dev);
skb140include/linux/netdevice.hint        (*hard_start_xmit) (struct sk_buff *skb,
skb148include/linux/netdevice.hstruct sk_buff *skb);
skb150include/linux/netdevice.hunsigned long raddr, struct sk_buff *skb);
skb151include/linux/netdevice.hunsigned short    (*type_trans) (struct sk_buff *skb,
skb201include/linux/netdevice.hextern void    dev_queue_xmit(struct sk_buff *skb, struct device *dev,
skb204include/linux/netdevice.hextern void    netif_rx(struct sk_buff *skb);
skb105include/linux/skbuff.hextern void      kfree_skb(struct sk_buff *skb, int rw);
skb115include/linux/skbuff.hextern void      kfree_skbmem(struct sk_buff *skb, unsigned size);
skb116include/linux/skbuff.hextern struct sk_buff *    skb_clone(struct sk_buff *skb, int priority);
skb117include/linux/skbuff.hextern void      skb_device_lock(struct sk_buff *skb);
skb118include/linux/skbuff.hextern void      skb_device_unlock(struct sk_buff *skb);
skb119include/linux/skbuff.hextern void      dev_kfree_skb(struct sk_buff *skb, int mode);
skb120include/linux/skbuff.hextern int      skb_device_locked(struct sk_buff *skb);
skb134include/linux/skbuff.hextern int       skb_check(struct sk_buff *skb,int,int, char *);
skb135include/linux/skbuff.h#define IS_SKB(skb)    skb_check((skb), 0, __LINE__,__FILE__)
skb136include/linux/skbuff.h#define IS_SKB_HEAD(skb)  skb_check((skb), 1, __LINE__,__FILE__)
skb138include/linux/skbuff.h#define IS_SKB(skb)    
skb139include/linux/skbuff.h#define IS_SKB_HEAD(skb)  
skb261include/linux/skbuff.hextern __inline__ void skb_unlink(struct sk_buff *skb)
skb268include/linux/skbuff.hif(skb->prev && skb->next)
skb270include/linux/skbuff.hskb->next->prev = skb->prev;
skb271include/linux/skbuff.hskb->prev->next = skb->next;
skb272include/linux/skbuff.hskb->next = NULL;
skb273include/linux/skbuff.hskb->prev = NULL;
skb283include/linux/skbuff.hextern void      skb_free_datagram(struct sk_buff *skb);
skb269net/inet/af_inet.cstruct sk_buff *skb;
skb284net/inet/af_inet.cwhile ((skb = tcp_dequeue_partial(sk)) != NULL) {
skb285net/inet/af_inet.cIS_SKB(skb);
skb286net/inet/af_inet.ckfree_skb(skb, FREE_WRITE);
skb290net/inet/af_inet.cwhile((skb = skb_dequeue(&sk->write_queue)) != NULL) {
skb291net/inet/af_inet.cIS_SKB(skb);
skb292net/inet/af_inet.ckfree_skb(skb, FREE_WRITE);
skb302net/inet/af_inet.cwhile((skb=skb_dequeue(&sk->receive_queue))!=NULL) 
skb308net/inet/af_inet.cif (skb->sk != NULL && skb->sk != sk) 
skb310net/inet/af_inet.cIS_SKB(skb);
skb311net/inet/af_inet.cskb->sk->dead = 1;
skb312net/inet/af_inet.cskb->sk->prot->close(skb->sk, 0);
skb314net/inet/af_inet.cIS_SKB(skb);
skb315net/inet/af_inet.ckfree_skb(skb, FREE_READ);
skb321net/inet/af_inet.cfor(skb = sk->send_head; skb != NULL; )
skb329net/inet/af_inet.cif (skb->next  && skb->prev) {
skb331net/inet/af_inet.cIS_SKB(skb);
skb332net/inet/af_inet.cskb_unlink(skb);
skb334net/inet/af_inet.cskb->dev = NULL;
skb335net/inet/af_inet.cskb2 = skb->link3;
skb336net/inet/af_inet.ckfree_skb(skb, FREE_WRITE);
skb337net/inet/af_inet.cskb = skb2;
skb343net/inet/af_inet.cwhile((skb=skb_dequeue(&sk->back_log))!=NULL) 
skb347net/inet/af_inet.ckfree_skb(skb, FREE_READ);
skb97net/inet/arp.cstruct sk_buff_head    skb;      /* list of queued packets   */
skb238net/inet/arp.cstruct sk_buff *skb;
skb244net/inet/arp.cwhile ((skb = skb_dequeue(&entry->skb)) != NULL)
skb246net/inet/arp.cskb_device_lock(skb);
skb248net/inet/arp.cdev_kfree_skb(skb, FREE_WRITE);
skb305net/inet/arp.cstruct sk_buff *skb;
skb320net/inet/arp.cskb = alloc_skb(sizeof(struct arphdr)+ 2*(dev->addr_len+4)
skb322net/inet/arp.cif (skb == NULL)
skb327net/inet/arp.cskb->len = sizeof(struct arphdr) + dev->hard_header_len + 2*(dev->addr_len+4);
skb328net/inet/arp.cskb->arp = 1;
skb329net/inet/arp.cskb->dev = dev;
skb330net/inet/arp.cskb->free = 1;
skb336net/inet/arp.cdev->hard_header(skb->data,dev,ptype,dest_hw?dest_hw:dev->broadcast,src_hw?src_hw:NULL,skb->len,skb);
skb339net/inet/arp.carp = (struct arphdr *) (skb->data + dev->hard_header_len);
skb363net/inet/arp.cdev_queue_xmit(skb, dev, 0);
skb451net/inet/arp.cstruct sk_buff *skb;
skb469net/inet/arp.cwhile((skb = skb_dequeue(&entry->skb)) != NULL)
skb471net/inet/arp.cIS_SKB(skb);
skb472net/inet/arp.cskb_device_lock(skb);
skb474net/inet/arp.cif(!skb->dev->rebuild_header(skb->data,skb->dev,skb->raddr,skb))
skb476net/inet/arp.cskb->arp  = 1;
skb477net/inet/arp.cif(skb->sk==NULL)
skb478net/inet/arp.cdev_queue_xmit(skb, skb->dev, 0);
skb480net/inet/arp.cdev_queue_xmit(skb,skb->dev,skb->sk->priority);
skb488net/inet/arp.cprintk("arp_send_q: failed to find %s\n",in_ntoa(skb->raddr));
skb547net/inet/arp.cint arp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
skb553net/inet/arp.cstruct arphdr *arp = (struct arphdr *)skb->h.raw;
skb575net/inet/arp.ckfree_skb(skb, FREE_READ);
skb591net/inet/arp.ckfree_skb(skb, FREE_READ);
skb600net/inet/arp.ckfree_skb(skb, FREE_READ);
skb607net/inet/arp.ckfree_skb(skb, FREE_READ);
skb631net/inet/arp.ckfree_skb(skb, FREE_READ);
skb661net/inet/arp.ckfree_skb(skb, FREE_READ);
skb706net/inet/arp.ckfree_skb(skb, FREE_READ);
skb712net/inet/arp.ckfree_skb(skb, FREE_READ);
skb778net/inet/arp.ckfree_skb(skb, FREE_READ);
skb790net/inet/arp.centry->dev = skb->dev;
skb791net/inet/arp.cskb_queue_head_init(&entry->skb);
skb800net/inet/arp.ckfree_skb(skb, FREE_READ);
skb810net/inet/arp.cunsigned long saddr, struct sk_buff *skb)
skb823net/inet/arp.cskb->arp = 1;
skb847net/inet/arp.cskb->arp = 1;
skb868net/inet/arp.cif (skb != NULL)
skb870net/inet/arp.cskb_queue_tail(&entry->skb, skb);
skb871net/inet/arp.cskb_device_unlock(skb);
skb883net/inet/arp.cif (skb)
skb884net/inet/arp.cskb->arp = 1;
skb913net/inet/arp.cskb_queue_head_init(&entry->skb);
skb914net/inet/arp.cif (skb != NULL)
skb916net/inet/arp.cskb_queue_tail(&entry->skb, skb);
skb917net/inet/arp.cskb_device_unlock(skb);
skb922net/inet/arp.cif (skb != NULL && skb->free)
skb923net/inet/arp.ckfree_skb(skb, FREE_WRITE);
skb1147net/inet/arp.cskb_queue_head_init(&entry->skb);
skb8net/inet/arp.hextern int  arp_rcv(struct sk_buff *skb, struct device *dev,
skb11net/inet/arp.hstruct device *dev, unsigned long saddr, struct sk_buff *skb);
skb54net/inet/datagram.cstruct sk_buff *skb;
skb126net/inet/datagram.cskb=skb_dequeue(&sk->receive_queue);
skb127net/inet/datagram.cif(skb!=NULL)
skb128net/inet/datagram.cskb->users++;
skb135net/inet/datagram.cskb=skb_peek(&sk->receive_queue);
skb136net/inet/datagram.cif(skb!=NULL)
skb137net/inet/datagram.cskb->users++;
skb139net/inet/datagram.cif(skb==NULL)  /* shouldn't happen but .. */
skb142net/inet/datagram.creturn skb;
skb145net/inet/datagram.cvoid skb_free_datagram(struct sk_buff *skb)
skb151net/inet/datagram.cskb->users--;
skb152net/inet/datagram.cif(skb->users>0)
skb158net/inet/datagram.cif(!skb->next && !skb->prev)  /* Been dequeued by someone - ie it's read */
skb159net/inet/datagram.ckfree_skb(skb,FREE_READ);
skb163net/inet/datagram.cvoid skb_copy_datagram(struct sk_buff *skb, int offset, char *to, int size)
skb167net/inet/datagram.cmemcpy_tofs(to,skb->h.raw+offset,size);
skb264net/inet/dev.cstruct sk_buff *skb;
skb265net/inet/dev.cwhile((skb=skb_dequeue(&dev->buffs[ct]))!=NULL)
skb266net/inet/dev.cif(skb->free)
skb267net/inet/dev.ckfree_skb(skb,FREE_WRITE);
skb300net/inet/dev.cvoid dev_queue_xmit(struct sk_buff *skb, struct device *dev, int pri)
skb315net/inet/dev.cif(pri>=0 && !skb_device_locked(skb))
skb316net/inet/dev.cskb_device_lock(skb);  /* Shove a lock on the frame */
skb326net/inet/dev.cIS_SKB(skb);
skb328net/inet/dev.cskb->dev = dev;
skb334net/inet/dev.cif (skb->next != NULL) 
skb367net/inet/dev.cif (!skb->arp && dev->rebuild_header(skb->data, dev, skb->raddr, skb)) {
skb375net/inet/dev.cskb->in_dev_queue=1;
skb377net/inet/dev.cskb_queue_tail(dev->buffs + pri,skb);
skb378net/inet/dev.cskb_device_unlock(skb);    /* Buffer is on the device queue and can be freed safely */
skb379net/inet/dev.cskb = skb_dequeue(dev->buffs + pri);
skb380net/inet/dev.cskb_device_lock(skb);    /* New buffer needs locking down */
skb382net/inet/dev.cskb->in_dev_queue=0;
skb397net/inet/dev.c((struct sock *)ptype->data != skb->sk))
skb400net/inet/dev.cif ((skb2 = skb_clone(skb, GFP_ATOMIC)) == NULL)
skb406net/inet/dev.cskb2->len-=skb->dev->hard_header_len;
skb407net/inet/dev.cptype->func(skb2, skb->dev, ptype);
skb412net/inet/dev.cif (dev->hard_start_xmit(skb, dev) == 0) {
skb425net/inet/dev.cskb->in_dev_queue=1;
skb428net/inet/dev.cskb_device_unlock(skb);
skb429net/inet/dev.cskb_queue_head(dev->buffs + pri,skb);
skb439net/inet/dev.cvoid netif_rx(struct sk_buff *skb)
skb448net/inet/dev.cskb->sk = NULL;
skb449net/inet/dev.cskb->free = 1;
skb450net/inet/dev.cif(skb->stamp.tv_sec==0)
skb451net/inet/dev.cskb->stamp = xtime;
skb464net/inet/dev.ckfree_skb(skb, FREE_READ);
skb472net/inet/dev.cIS_SKB(skb);
skb474net/inet/dev.cskb_queue_tail(&backlog,skb);
skb504net/inet/dev.cstruct sk_buff *skb = NULL;
skb514net/inet/dev.cskb = (struct sk_buff *) buff;
skb526net/inet/dev.cskb = alloc_skb(len, GFP_ATOMIC);
skb527net/inet/dev.cif (skb == NULL) 
skb540net/inet/dev.cto = skb->data;
skb562net/inet/dev.cskb->len = len;
skb563net/inet/dev.cskb->dev = dev;
skb564net/inet/dev.cskb->free = 1;
skb566net/inet/dev.cnetif_rx(skb);
skb623net/inet/dev.cstruct sk_buff *skb;
skb655net/inet/dev.cwhile((skb=skb_dequeue(&backlog))!=NULL)
skb671net/inet/dev.cskb->h.raw = skb->data + skb->dev->hard_header_len;
skb672net/inet/dev.cskb->len -= skb->dev->hard_header_len;
skb685net/inet/dev.ctype = skb->dev->type_trans(skb, skb->dev);
skb701net/inet/dev.cif ((ptype->type == type || ptype->type == htons(ETH_P_ALL)) && (!ptype->dev || ptype->dev==skb->dev))
skb711net/inet/dev.cskb2=skb_clone(skb, GFP_ATOMIC);
skb719net/inet/dev.cpt_prev->func(skb2, skb->dev, pt_prev);
skb731net/inet/dev.cpt_prev->func(skb, skb->dev, pt_prev);
skb737net/inet/dev.ckfree_skb(skb, FREE_WRITE);
skb772net/inet/dev.cstruct sk_buff *skb;
skb788net/inet/dev.cwhile((skb=skb_dequeue(&dev->buffs[i]))!=NULL)
skb793net/inet/dev.cskb_device_lock(skb);
skb799net/inet/dev.cdev_queue_xmit(skb,dev,-i - 1);
skb86net/inet/eth.cstruct sk_buff *skb)
skb136net/inet/eth.cstruct sk_buff *skb)
skb155net/inet/eth.creturn arp_find(eth->h_dest, dst, dev, dev->pa_addr, skb)? 1 : 0;
skb168net/inet/eth.cunsigned short eth_type_trans(struct sk_buff *skb, struct device *dev)
skb170net/inet/eth.cstruct ethhdr *eth = (struct ethhdr *) skb->data;
skb176net/inet/eth.cskb->pkt_type=PACKET_BROADCAST;
skb178net/inet/eth.cskb->pkt_type=PACKET_MULTICAST;
skb184net/inet/eth.cskb->pkt_type=PACKET_OTHERHOST;
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);
skb101net/inet/icmp.cstruct sk_buff *skb;
skb215net/inet/icmp.cskb = (struct sk_buff *) alloc_skb(len, GFP_ATOMIC);
skb216net/inet/icmp.cif (skb == NULL) 
skb221net/inet/icmp.cskb->free = 1;
skb230net/inet/icmp.coffset = ip_build_header(skb, our_addr, iph->saddr,
skb236net/inet/icmp.cskb->sk = NULL;
skb237net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb245net/inet/icmp.cskb->len = offset + sizeof(struct icmphdr) + sizeof(struct iphdr) + 8;
skb251net/inet/icmp.cicmph = (struct icmphdr *) (skb->data + offset);
skb266net/inet/icmp.cip_queue_xmit(NULL, ndev, skb, 1);
skb274net/inet/icmp.cstatic void icmp_unreach(struct icmphdr *icmph, struct sk_buff *skb)
skb335net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb343net/inet/icmp.cstatic void icmp_redirect(struct icmphdr *icmph, struct sk_buff *skb,
skb400net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb408net/inet/icmp.cstatic void icmp_echo(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
skb426net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb433net/inet/icmp.cIPPROTO_ICMP, opt, len, skb->ip_hdr->tos,255);
skb439net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb468net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb475net/inet/icmp.cstatic void icmp_timestamp(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
skb502net/inet/icmp.cskb->sk = NULL;
skb503net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb514net/inet/icmp.cskb->ip_hdr->tos, 255);
skb519net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb554net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb564net/inet/icmp.cstatic void icmp_info(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
skb569net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb577net/inet/icmp.cstatic void icmp_address(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
skb594net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb604net/inet/icmp.cIPPROTO_ICMP, opt, len, skb->ip_hdr->tos,255);
skb610net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb637net/inet/icmp.cskb->sk = NULL;
skb638net/inet/icmp.ckfree_skb(skb, FREE_READ);
skb78net/inet/igmp.cstruct sk_buff *skb=alloc_skb(MAX_IGMP_SIZE, GFP_ATOMIC);
skb82net/inet/igmp.cif(skb==NULL)
skb84net/inet/igmp.ctmp=ip_build_header(skb, INADDR_ANY, address, &dev, IPPROTO_IGMP, NULL,
skb85net/inet/igmp.cskb->mem_len, 0, 1);
skb88net/inet/igmp.ckfree_skb(skb, FREE_WRITE);
skb91net/inet/igmp.cigh=(struct igmphdr *)(skb->data+tmp);
skb92net/inet/igmp.cskb->len=tmp+sizeof(*igh);
skb98net/inet/igmp.cip_queue_xmit(NULL,dev,skb,1);
skb193net/inet/igmp.cint igmp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
skb198net/inet/igmp.cstruct igmphdr *igh=(struct igmphdr *)skb->h.raw;
skb200net/inet/igmp.cif(skb->ip_hdr->ttl!=1 || ip_compute_csum((void *)igh,sizeof(*igh)))
skb202net/inet/igmp.ckfree_skb(skb, FREE_READ);
skb210net/inet/igmp.ckfree_skb(skb, FREE_READ);
skb197net/inet/ip.cstatic int ip_send(struct sk_buff *skb, unsigned long daddr, int len, struct device *dev, unsigned long saddr)
skb201net/inet/ip.cskb->dev = dev;
skb202net/inet/ip.cskb->arp = 1;
skb209net/inet/ip.cmac = dev->hard_header(skb->data, dev, ETH_P_IP, NULL, NULL, len, skb);
skb213net/inet/ip.cskb->arp = 0;
skb214net/inet/ip.cskb->raddr = daddr;  /* next routing address */
skb228net/inet/ip.cint ip_build_header(struct sk_buff *skb, unsigned long saddr, unsigned long daddr,
skb239net/inet/ip.cbuff = skb->data;
skb246net/inet/ip.cif(MULTICAST(daddr) && *dev==NULL && skb->sk && *skb->sk->ip_mc_name)
skb247net/inet/ip.c*dev=dev_get(skb->sk->ip_mc_name);
skb251net/inet/ip.cif(skb->localroute)
skb277net/inet/ip.cif(skb->localroute)
skb307net/inet/ip.ctmp = ip_send(skb, raddr, len, *dev, saddr);
skb315net/inet/ip.cskb->dev = *dev;
skb316net/inet/ip.cskb->saddr = saddr;
skb317net/inet/ip.cif (skb->sk)
skb318net/inet/ip.cskb->sk->saddr = saddr;
skb341net/inet/ip.cskb->ip_hdr   = iph;
skb572net/inet/ip.cstatic struct ipfrag *ip_frag_create(int offset, int end, struct sk_buff *skb, unsigned char *ptr)
skb588net/inet/ip.cfp->skb = skb;
skb660net/inet/ip.cIS_SKB(fp->skb);
skb661net/inet/ip.ckfree_skb(fp->skb,FREE_READ);
skb696net/inet/ip.cicmp_send(qp->fragments->skb,ICMP_TIME_EXCEEDED,
skb713net/inet/ip.cstatic struct ipq *ip_create(struct sk_buff *skb, struct iphdr *iph, struct device *dev)
skb724net/inet/ip.cskb->dev = qp->dev;
skb735net/inet/ip.cmaclen = ((unsigned long) iph) - ((unsigned long) skb->data);
skb759net/inet/ip.cmemcpy(qp->mac, skb->data, maclen);
skb825net/inet/ip.cstruct sk_buff *skb;
skb837net/inet/ip.cif ((skb = alloc_skb(len,GFP_ATOMIC)) == NULL)
skb846net/inet/ip.cskb->len = (len - qp->maclen);
skb847net/inet/ip.cskb->h.raw = skb->data;
skb848net/inet/ip.cskb->free = 1;
skb851net/inet/ip.cptr = (unsigned char *) skb->h.raw;
skb856net/inet/ip.cskb->h.raw += qp->maclen;
skb864net/inet/ip.cif(count+fp->len > skb->len)
skb868net/inet/ip.ckfree_skb(skb,FREE_WRITE);
skb881net/inet/ip.ciph = skb->h.iph;
skb884net/inet/ip.cskb->ip_hdr = iph;
skb887net/inet/ip.creturn(skb);
skb895net/inet/ip.cstatic struct sk_buff *ip_defrag(struct iphdr *iph, struct sk_buff *skb, struct device *dev)
skb918net/inet/ip.creturn(skb);
skb942net/inet/ip.cif ((qp = ip_create(skb, iph, dev)) == NULL)
skb944net/inet/ip.cskb->sk = NULL;
skb945net/inet/ip.ckfree_skb(skb, FREE_READ);
skb962net/inet/ip.cptr = skb->data + dev->hard_header_len + ihl;
skb1027net/inet/ip.ckfree_skb(next->skb,FREE_READ);
skb1037net/inet/ip.ctfp = ip_frag_create(offset, end, skb, ptr);
skb1045net/inet/ip.cskb->sk = NULL;
skb1046net/inet/ip.ckfree_skb(skb, FREE_READ);
skb1087net/inet/ip.cvoid ip_fragment(struct sock *sk, struct sk_buff *skb, struct device *dev, int is_frag)
skb1101net/inet/ip.craw = skb->data;
skb1104net/inet/ip.cskb->ip_hdr = iph;
skb1126net/inet/ip.cicmp_send(skb,ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, dev->mtu, dev);
skb1139net/inet/ip.cicmp_send(skb,ICMP_DEST_UNREACH,ICMP_FRAG_NEEDED,dev->mtu, dev);
skb1191net/inet/ip.cskb2->arp = skb->arp;
skb1192net/inet/ip.cif(skb->free==0)
skb1210net/inet/ip.cskb2->raddr = skb->raddr;  /* For rebuild_header - must be here */
skb1259net/inet/ip.cstatic void ip_forward(struct sk_buff *skb, struct device *dev, int is_frag)
skb1275net/inet/ip.cif((err=ip_fw_chk(skb->h.iph, dev, ip_fw_fwd_chain, ip_fw_fwd_policy, 0))!=1)
skb1278net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_HOST_UNREACH, 0, dev);
skb1293net/inet/ip.ciph = skb->h.iph;
skb1298net/inet/ip.cicmp_send(skb, ICMP_TIME_EXCEEDED, ICMP_EXC_TTL, 0, dev);
skb1322net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_NET_UNREACH, 0, dev);
skb1349net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_HOST_UNREACH, 0, dev);
skb1374net/inet/ip.cicmp_send(skb, ICMP_REDIRECT, ICMP_REDIR_HOST, raddr, dev);
skb1391net/inet/ip.cskb2 = alloc_skb(dev2->hard_header_len + skb->len, GFP_ATOMIC);
skb1403net/inet/ip.cskb2->len = skb->len + dev2->hard_header_len;
skb1409net/inet/ip.cmemcpy(ptr + dev2->hard_header_len, skb->h.raw, skb->len);
skb1412net/inet/ip.c(void) ip_send(skb2, raddr, skb->len, dev2, dev2->pa_addr);
skb1459net/inet/ip.cint ip_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
skb1461net/inet/ip.cstruct iphdr *iph = skb->h.iph;
skb1481net/inet/ip.cskb->ip_hdr = iph;
skb1492net/inet/ip.cif (skb->len<sizeof(struct iphdr) || iph->ihl<5 || iph->version != 4 || ip_fast_csum((unsigned char *)iph, iph->ihl) !=0)
skb1495net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1508net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0, dev);
skb1509net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1520net/inet/ip.cskb->len=ntohs(iph->tot_len);
skb1563net/inet/ip.cif ( iph->daddr != skb->dev->pa_addr && (brd = ip_chk_addr(iph->daddr)) == 0)
skb1569net/inet/ip.cif(skb->pkt_type!=PACKET_HOST || brd==IS_BROADCAST)
skb1571net/inet/ip.ckfree_skb(skb,FREE_WRITE);
skb1580net/inet/ip.cip_forward(skb, dev, is_frag);
skb1591net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1607net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1632net/inet/ip.cskb=ip_defrag(iph,skb,dev);
skb1633net/inet/ip.cif(skb==NULL)
skb1635net/inet/ip.cskb->dev = dev;
skb1636net/inet/ip.ciph=skb->h.iph;
skb1645net/inet/ip.cskb->ip_hdr = iph;
skb1646net/inet/ip.cskb->h.raw += iph->ihl*4;
skb1667net/inet/ip.cskb1=skb_clone(skb, GFP_ATOMIC);
skb1699net/inet/ip.cskb2 = skb_clone(skb, GFP_ATOMIC);
skb1705net/inet/ip.cskb2 = skb;
skb1728net/inet/ip.craw_rcv(raw_sk, skb, dev, iph->saddr, iph->daddr);
skb1732net/inet/ip.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, 0, dev);
skb1733net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb1743net/inet/ip.cstatic void ip_loopback(struct device *old_dev, struct sk_buff *skb)
skb1747net/inet/ip.cint len=skb->len-old_dev->hard_header_len;
skb1756net/inet/ip.cnewskb->saddr=skb->saddr;
skb1757net/inet/ip.cnewskb->daddr=skb->daddr;
skb1758net/inet/ip.cnewskb->raddr=skb->raddr;
skb1762net/inet/ip.cnewskb->pkt_type=skb->pkt_type;
skb1766net/inet/ip.cnewskb->ip_hdr=(struct iphdr *)(newskb->data+ip_send(newskb, skb->ip_hdr->daddr, len, dev, skb->ip_hdr->saddr));
skb1767net/inet/ip.cmemcpy(newskb->ip_hdr,skb->ip_hdr,len);
skb1786net/inet/ip.cstruct sk_buff *skb, int free)
skb1798net/inet/ip.cIS_SKB(skb);
skb1805net/inet/ip.cskb->dev = dev;
skb1806net/inet/ip.cskb->when = jiffies;
skb1816net/inet/ip.cptr = skb->data;
skb1819net/inet/ip.cskb->ip_hdr = iph;
skb1820net/inet/ip.ciph->tot_len = ntohs(skb->len-dev->hard_header_len);
skb1841net/inet/ip.cskb->free = free;
skb1849net/inet/ip.cif(skb->len > dev->mtu + dev->hard_header_len)
skb1851net/inet/ip.cip_fragment(sk,skb,dev,0);
skb1852net/inet/ip.cIS_SKB(skb);
skb1853net/inet/ip.ckfree_skb(skb,FREE_WRITE);
skb1871net/inet/ip.cif (skb->next != NULL)
skb1874net/inet/ip.cskb_unlink(skb);
skb1895net/inet/ip.cif (skb->link3 != NULL)
skb1898net/inet/ip.cskb->link3 = NULL;
skb1902net/inet/ip.csk->send_tail = skb;
skb1903net/inet/ip.csk->send_head = skb;
skb1907net/inet/ip.csk->send_tail->link3 = skb;
skb1908net/inet/ip.csk->send_tail = skb;
skb1917net/inet/ip.cskb->sk = sk;
skb1939net/inet/ip.cip_loopback(dev,skb);
skb1947net/inet/ip.cip_loopback(dev,skb);
skb1956net/inet/ip.cif(skb->ip_hdr->ttl==0)
skb1958net/inet/ip.ckfree_skb(skb, FREE_READ);
skb1964net/inet/ip.cip_loopback(dev,skb);
skb1975net/inet/ip.cdev_queue_xmit(skb, dev, sk->priority);
skb1979net/inet/ip.cdev_queue_xmit(skb, dev, SOPRI_NORMAL);
skb1986net/inet/ip.ckfree_skb(skb, FREE_WRITE);
skb53net/inet/ip.hstruct sk_buff *skb;      /* complete received fragment    */
skb80net/inet/ip.hextern int    ip_build_header(struct sk_buff *skb,
skb87net/inet/ip.hextern int    ip_rcv(struct sk_buff *skb, struct device *dev,
skb92net/inet/ip.hstruct device *dev, struct sk_buff *skb,
skb170net/inet/ipx.cstruct sk_buff  *skb;
skb173net/inet/ipx.cwhile((skb=skb_dequeue(&sk->receive_queue))!=NULL) {
skb174net/inet/ipx.ckfree_skb(skb,FREE_READ);
skb318net/inet/ipx.cipxitf_def_skb_handler(struct sock *sock, struct sk_buff *skb)
skb322net/inet/ipx.cif((retval = sock_queue_rcv_skb(sock, skb))<0) {
skb331net/inet/ipx.ckfree_skb(skb,FREE_WRITE);
skb337net/inet/ipx.cipxitf_demux_socket(ipx_interface *intrfc, struct sk_buff *skb, int copy) 
skb339net/inet/ipx.cipx_packet  *ipx = (ipx_packet *)(skb->h.raw);
skb375net/inet/ipx.ckfree_skb(skb,FREE_WRITE);
skb379net/inet/ipx.cipx_offset = (char *)(skb->h.raw) - (char *)(skb->data);
skb388net/inet/ipx.cskb1 = skb_clone(skb, GFP_ATOMIC);
skb394net/inet/ipx.cskb1 = skb;
skb424net/inet/ipx.cipxitf_adjust_skbuff(ipx_interface *intrfc, struct sk_buff *skb)
skb427net/inet/ipx.cint  in_offset = skb->h.raw - skb->data;
skb434net/inet/ipx.cskb->len += out_offset;
skb435net/inet/ipx.cskb->arp = skb->free = 1;
skb436net/inet/ipx.creturn skb;
skb441net/inet/ipx.coldraw = skb->h.raw;
skb442net/inet/ipx.cskb->h.raw = &(skb->data[out_offset]);
skb443net/inet/ipx.cmemmove(skb->h.raw, oldraw, skb->len);
skb444net/inet/ipx.cskb->len += out_offset;
skb445net/inet/ipx.cskb->arp = skb->free = 1;
skb446net/inet/ipx.creturn skb;
skb450net/inet/ipx.clen = skb->len + out_offset;
skb457net/inet/ipx.cmemcpy(skb2->h.raw, skb->h.raw, skb->len);
skb459net/inet/ipx.ckfree_skb(skb, FREE_WRITE);
skb464net/inet/ipx.cipxitf_send(ipx_interface *intrfc, struct sk_buff *skb, char *node)
skb466net/inet/ipx.cipx_packet  *ipx = (ipx_packet *)(skb->h.raw);
skb482net/inet/ipx.creturn ipxitf_demux_socket(intrfc, skb, 0);
skb484net/inet/ipx.cipxitf_demux_socket(intrfc, skb, send_to_wire);
skb504net/inet/ipx.ckfree_skb(skb,FREE_WRITE);
skb517net/inet/ipx.cskb = ipxitf_adjust_skbuff(intrfc, skb);
skb518net/inet/ipx.cif (skb == NULL) return 0;
skb521net/inet/ipx.cskb->dev = dev;
skb522net/inet/ipx.cdl->datalink_header(dl, skb, dest_node);
skb524net/inet/ipx.cif (skb->sk != NULL) {
skb528net/inet/ipx.cskb->sk->wmem_alloc += skb->mem_len;
skb532net/inet/ipx.cdev_queue_xmit(skb, dev, SOPRI_NORMAL);
skb550net/inet/ipx.cipxitf_rcv(ipx_interface *intrfc, struct sk_buff *skb)
skb552net/inet/ipx.cipx_packet  *ipx = (ipx_packet *) (skb->h.raw);
skb583net/inet/ipx.cif ((skb->pkt_type != PACKET_BROADCAST) &&
skb584net/inet/ipx.c(skb->pkt_type != PACKET_MULTICAST))
skb585net/inet/ipx.creturn ipxrtr_route_skb(skb);
skb587net/inet/ipx.ckfree_skb(skb,FREE_READ);
skb594net/inet/ipx.creturn ipxitf_demux_socket(intrfc, skb, 0);
skb598net/inet/ipx.ckfree_skb(skb,FREE_READ);
skb980net/inet/ipx.cstruct sk_buff *skb;
skb1005net/inet/ipx.cskb=alloc_skb(size,GFP_KERNEL);
skb1006net/inet/ipx.cif(skb==NULL) return -ENOMEM;
skb1008net/inet/ipx.cskb->sk=sk;
skb1009net/inet/ipx.cskb->len=size;
skb1010net/inet/ipx.cskb->free=1;
skb1011net/inet/ipx.cskb->arp=1;
skb1014net/inet/ipx.cipx=(ipx_packet *)&(skb->data[ipx_offset]);
skb1019net/inet/ipx.cskb->h.raw = (unsigned char *)ipx;
skb1029net/inet/ipx.creturn ipxitf_send(intrfc, skb, (rt && rt->ir_routed) ? 
skb1034net/inet/ipx.cipxrtr_route_skb(struct sk_buff *skb)
skb1036net/inet/ipx.cipx_packet  *ipx = (ipx_packet *) (skb->h.raw);
skb1043net/inet/ipx.ckfree_skb(skb,FREE_READ);
skb1047net/inet/ipx.c(void)ipxitf_send(i, skb, (r->ir_routed) ? 
skb1627net/inet/ipx.cint ipx_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
skb1633net/inet/ipx.cipx=(ipx_packet *)skb->h.raw;
skb1639net/inet/ipx.ckfree_skb(skb,FREE_READ);
skb1645net/inet/ipx.ckfree_skb(skb,FREE_READ);
skb1658net/inet/ipx.ckfree_skb(skb,FREE_READ);
skb1663net/inet/ipx.creturn ipxitf_rcv(intrfc, skb);
skb1722net/inet/ipx.cstruct sk_buff *skb;
skb1738net/inet/ipx.cskb=skb_recv_datagram(sk,flags,noblock,&er);
skb1739net/inet/ipx.cif(skb==NULL)
skb1742net/inet/ipx.cipx = (ipx_packet *)(skb->h.raw);
skb1745net/inet/ipx.cskb_copy_datagram(skb,sizeof(struct ipx_packet),ubuf,copied);
skb1755net/inet/ipx.cskb_free_datagram(skb);
skb1811net/inet/ipx.cstruct sk_buff *skb;
skb1813net/inet/ipx.cif((skb=skb_peek(&sk->receive_queue))!=NULL)
skb1814net/inet/ipx.camount=skb->len;
skb48net/inet/ipx.hextern int ipx_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt);
skb23net/inet/p8022.cp8022_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
skb27net/inet/p8022.cproto = find_8022_client(*(skb->h.raw));
skb29net/inet/p8022.cskb->h.raw += 3;
skb30net/inet/p8022.cskb->len -= 3;
skb31net/inet/p8022.creturn proto->rcvfunc(skb, dev, pt);
skb34net/inet/p8022.cskb->sk = NULL;
skb35net/inet/p8022.ckfree_skb(skb, FREE_READ);
skb41net/inet/p8022.cstruct sk_buff *skb, unsigned char *dest_node)
skb43net/inet/p8022.cstruct device  *dev = skb->dev;
skb44net/inet/p8022.cunsigned long  len = skb->len;
skb48net/inet/p8022.cdev->hard_header(skb->data, dev, len - hard_len,
skb49net/inet/p8022.cdest_node, NULL, len - hard_len, skb);
skb50net/inet/p8022.crawp = skb->data + hard_len;
skb57net/inet/p8022.cskb->h.raw = rawp;
skb9net/inet/p8023.cstruct sk_buff *skb, unsigned char *dest_node)
skb11net/inet/p8023.cstruct device  *dev = skb->dev;
skb12net/inet/p8023.cunsigned long  len = skb->len;
skb15net/inet/p8023.cdev->hard_header(skb->data, dev, len - hard_len,
skb16net/inet/p8023.cdest_node, NULL, len - hard_len, skb);
skb17net/inet/p8023.cskb->h.raw = skb->data + hard_len;
skb71net/inet/packet.cint packet_rcv(struct sk_buff *skb, struct device *dev,  struct packet_type *pt)
skb89net/inet/packet.cskb->dev = dev;
skb90net/inet/packet.cskb->len += dev->hard_header_len;
skb102net/inet/packet.cif (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) 
skb105net/inet/packet.cskb->sk = NULL;
skb106net/inet/packet.ckfree_skb(skb, FREE_READ);
skb113net/inet/packet.cskb->sk = sk;
skb114net/inet/packet.csk->rmem_alloc += skb->mem_len;  
skb120net/inet/packet.cskb_queue_tail(&sk->receive_queue,skb);
skb122net/inet/packet.csk->data_ready(sk,skb->len);
skb144net/inet/packet.cstruct sk_buff *skb;
skb186net/inet/packet.cskb = sk->prot->wmalloc(sk, len, 0, GFP_KERNEL);
skb193net/inet/packet.cif (skb == NULL) 
skb202net/inet/packet.cskb->sk = sk;
skb203net/inet/packet.cskb->free = 1;
skb204net/inet/packet.cmemcpy_fromfs(skb->data, from, len);
skb205net/inet/packet.cskb->len = len;
skb206net/inet/packet.cskb->arp = 1;    /* No ARP needs doing on this (complete) frame */
skb213net/inet/packet.cdev_queue_xmit(skb, dev, sk->priority);
skb215net/inet/packet.ckfree_skb(skb, FREE_WRITE);
skb289net/inet/packet.cstruct sk_buff *skb;
skb313net/inet/packet.cskb=skb_recv_datagram(sk,flags,noblock,&err);
skb321net/inet/packet.cif(skb==NULL)
skb329net/inet/packet.ctruesize = skb->len;
skb332net/inet/packet.cmemcpy_tofs(to, skb->data, copied);  /* We can't use skb_copy_datagram here */
skb340net/inet/packet.csaddr->sa_family = skb->dev->type;
skb341net/inet/packet.cmemcpy(saddr->sa_data,skb->dev->name, 14);
skb349net/inet/packet.cskb_free_datagram(skb);
skb9net/inet/pe2.cstruct sk_buff *skb, unsigned char *dest_node)
skb11net/inet/pe2.cstruct device  *dev = skb->dev;
skb12net/inet/pe2.cunsigned long  len = skb->len;
skb15net/inet/pe2.cdev->hard_header(skb->data, dev, ETH_P_IPX,
skb16net/inet/pe2.cdest_node, NULL, len - hard_len, skb);
skb17net/inet/pe2.cskb->h.raw = skb->data + hard_len;
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,
skb40net/inet/psnap.cint snap_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
skb53net/inet/psnap.cproto = find_snap_client(skb->h.raw);
skb60net/inet/psnap.cskb->h.raw += 5;
skb61net/inet/psnap.cskb->len -= 5;
skb64net/inet/psnap.creturn proto->rcvfunc(skb, dev, &psnap_packet_type);
skb66net/inet/psnap.cskb->sk = NULL;
skb67net/inet/psnap.ckfree_skb(skb, FREE_READ);
skb75net/inet/psnap.cstatic void snap_datalink_header(struct datalink_proto *dl, struct sk_buff *skb, unsigned char *dest_node)
skb77net/inet/psnap.cstruct device  *dev = skb->dev;
skb80net/inet/psnap.crawp = skb->data + snap_dl->header_length+dev->hard_header_len;
skb82net/inet/psnap.cskb->h.raw = rawp+5;
skb83net/inet/psnap.csnap_dl->datalink_header(snap_dl, skb, dest_node);
skb143net/inet/rarp.cint rarp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
skb148net/inet/rarp.cstruct arphdr *rarp = (struct arphdr *)skb->h.raw;
skb161net/inet/rarp.ckfree_skb(skb, FREE_READ);
skb170net/inet/rarp.ckfree_skb(skb, FREE_READ);
skb188net/inet/rarp.ckfree_skb(skb, FREE_READ);
skb224net/inet/rarp.ckfree_skb(skb, FREE_READ);
skb6net/inet/rarp.hextern int rarp_rcv(struct sk_buff *skb, 
skb97net/inet/raw.cint raw_rcv(struct sock *sk, struct sk_buff *skb, struct device *dev, long saddr, long daddr)
skb100net/inet/raw.cskb->sk = sk;
skb101net/inet/raw.cskb->len = ntohs(skb->ip_hdr->tot_len);
skb102net/inet/raw.cskb->h.raw = (unsigned char *) skb->ip_hdr;
skb103net/inet/raw.cskb->dev = dev;
skb104net/inet/raw.cskb->saddr = daddr;
skb105net/inet/raw.cskb->daddr = saddr;
skb109net/inet/raw.cif(sock_queue_rcv_skb(sk,skb)<0)
skb112net/inet/raw.cskb->sk=NULL;
skb113net/inet/raw.ckfree_skb(skb, FREE_READ);
skb129net/inet/raw.cstruct sk_buff *skb;
skb173net/inet/raw.cskb=sock_alloc_send_skb(sk, len+sk->prot->max_header, noblock, &err);
skb174net/inet/raw.cif(skb==NULL)
skb177net/inet/raw.cskb->sk = sk;
skb178net/inet/raw.cskb->free = 1;
skb179net/inet/raw.cskb->localroute = sk->localroute | (flags&MSG_DONTROUTE);
skb181net/inet/raw.ctmp = sk->prot->build_header(skb, sk->saddr, 
skb183net/inet/raw.csk->protocol, sk->opt, skb->mem_len, sk->ip_tos,sk->ip_ttl);
skb186net/inet/raw.ckfree_skb(skb,FREE_WRITE);
skb191net/inet/raw.cmemcpy_fromfs(skb->data + tmp, from, len);
skb203net/inet/raw.cbuff = skb->data;
skb210net/inet/raw.cskb->len = tmp + len;
skb212net/inet/raw.csk->prot->queue_xmit(sk, dev, skb, 1);
skb247net/inet/raw.cstruct sk_buff *skb;
skb260net/inet/raw.cskb=skb_recv_datagram(sk,flags,noblock,&err);
skb261net/inet/raw.cif(skb==NULL)
skb264net/inet/raw.ctruesize=skb->len;
skb267net/inet/raw.cskb_copy_datagram(skb, 0, to, copied);
skb268net/inet/raw.csk->stamp=skb->stamp;
skb274net/inet/raw.csin->sin_addr.s_addr = skb->daddr;
skb276net/inet/raw.cskb_free_datagram(skb);
skb71net/inet/skbuff.cint skb_check(struct sk_buff *skb, int head, int line, char *file)
skb74net/inet/skbuff.cif (skb->magic_debug_cookie != SK_HEAD_SKB) {
skb79net/inet/skbuff.cif (!skb->next || !skb->prev) {
skb83net/inet/skbuff.cif (skb->next->magic_debug_cookie != SK_HEAD_SKB
skb84net/inet/skbuff.c&& skb->next->magic_debug_cookie != SK_GOOD_SKB) {
skb89net/inet/skbuff.cif (skb->prev->magic_debug_cookie != SK_HEAD_SKB
skb90net/inet/skbuff.c&& skb->prev->magic_debug_cookie != SK_GOOD_SKB) {
skb97net/inet/skbuff.cstruct sk_buff *skb2 = skb->next;
skb99net/inet/skbuff.cwhile (skb2 != skb && i < 5) {
skb111net/inet/skbuff.cif (skb->next != NULL && skb->next->magic_debug_cookie != SK_HEAD_SKB
skb112net/inet/skbuff.c&& skb->next->magic_debug_cookie != SK_GOOD_SKB) {
skb117net/inet/skbuff.cif (skb->prev != NULL && skb->prev->magic_debug_cookie != SK_HEAD_SKB
skb118net/inet/skbuff.c&& skb->prev->magic_debug_cookie != SK_GOOD_SKB) {
skb125net/inet/skbuff.cif(skb->magic_debug_cookie==SK_FREED_SKB)
skb130net/inet/skbuff.cskb,skb->truesize,skb->mem_len,skb->free);
skb133net/inet/skbuff.cif(skb->magic_debug_cookie!=SK_GOOD_SKB)
skb137net/inet/skbuff.cskb,skb->truesize,skb->mem_len,skb->free);
skb140net/inet/skbuff.cif(skb->mem_len!=skb->truesize)
skb144net/inet/skbuff.cskb,skb->truesize,skb->mem_len);
skb303net/inet/skbuff.cvoid skb_unlink(struct sk_buff *skb)
skb310net/inet/skbuff.cIS_SKB(skb);
skb312net/inet/skbuff.cif(skb->prev && skb->next)
skb314net/inet/skbuff.cskb->next->prev = skb->prev;
skb315net/inet/skbuff.cskb->prev->next = skb->next;
skb316net/inet/skbuff.cskb->next = NULL;
skb317net/inet/skbuff.cskb->prev = NULL;
skb333net/inet/skbuff.cvoid kfree_skb(struct sk_buff *skb, int rw)
skb335net/inet/skbuff.cif (skb == NULL)
skb342net/inet/skbuff.cIS_SKB(skb);
skb344net/inet/skbuff.cif (skb->lock)
skb346net/inet/skbuff.cskb->free = 3;    /* Free when unlocked */
skb350net/inet/skbuff.cif (skb->free == 2)
skb353net/inet/skbuff.cif (skb->next)
skb356net/inet/skbuff.cif (skb->sk)
skb358net/inet/skbuff.cif(skb->sk->prot!=NULL)
skb361net/inet/skbuff.cskb->sk->prot->rfree(skb->sk, skb, skb->mem_len);
skb363net/inet/skbuff.cskb->sk->prot->wfree(skb->sk, skb, skb->mem_len);
skb373net/inet/skbuff.cskb->sk->rmem_alloc-=skb->mem_len;
skb375net/inet/skbuff.cskb->sk->wmem_alloc-=skb->mem_len;
skb377net/inet/skbuff.cif(!skb->sk->dead)
skb378net/inet/skbuff.cskb->sk->write_space(skb->sk);
skb379net/inet/skbuff.ckfree_skbmem(skb,skb->mem_len);
skb383net/inet/skbuff.ckfree_skbmem(skb, skb->mem_len);
skb392net/inet/skbuff.cstruct sk_buff *skb;
skb405net/inet/skbuff.cskb=(struct sk_buff *)kmalloc(size,priority);
skb406net/inet/skbuff.cif (skb == NULL)
skb412net/inet/skbuff.cif(skb->magic_debug_cookie == SK_GOOD_SKB)
skb413net/inet/skbuff.cprintk("Kernel kmalloc handed us an existing skb (%p)\n",skb);
skb418net/inet/skbuff.cskb->free = 2;  /* Invalid so we pick up forgetful users */
skb419net/inet/skbuff.cskb->lock = 0;
skb420net/inet/skbuff.cskb->pkt_type = PACKET_HOST;  /* Default type */
skb421net/inet/skbuff.cskb->truesize = size;
skb422net/inet/skbuff.cskb->mem_len = size;
skb423net/inet/skbuff.cskb->mem_addr = skb;
skb425net/inet/skbuff.cskb->in_dev_queue = 0;
skb427net/inet/skbuff.cskb->fraglist = NULL;
skb428net/inet/skbuff.cskb->prev = skb->next = NULL;
skb429net/inet/skbuff.cskb->link3 = NULL;
skb430net/inet/skbuff.cskb->sk = NULL;
skb431net/inet/skbuff.cskb->localroute=0;
skb432net/inet/skbuff.cskb->stamp.tv_sec=0;  /* No idea about time */
skb433net/inet/skbuff.cskb->localroute = 0;
skb440net/inet/skbuff.cskb->magic_debug_cookie = SK_GOOD_SKB;
skb442net/inet/skbuff.cskb->users = 0;
skb443net/inet/skbuff.creturn skb;
skb450net/inet/skbuff.cvoid kfree_skbmem(struct sk_buff *skb,unsigned size)
skb456net/inet/skbuff.cif(skb->in_dev_queue && skb->dev!=NULL)
skb457net/inet/skbuff.cskb->dev->pkt_queue--;
skb461net/inet/skbuff.cIS_SKB(skb);
skb462net/inet/skbuff.cif(size!=skb->truesize)
skb465net/inet/skbuff.cif(skb->magic_debug_cookie == SK_GOOD_SKB)
skb469net/inet/skbuff.cIS_SKB(skb);
skb470net/inet/skbuff.cskb->magic_debug_cookie = SK_FREED_SKB;
skb471net/inet/skbuff.ckfree_s((void *)skb,size);
skb481net/inet/skbuff.ckfree_s((void *)skb,size);
skb493net/inet/skbuff.cstruct sk_buff *skb_clone(struct sk_buff *skb, int priority)
skb498net/inet/skbuff.cn=alloc_skb(skb->mem_len-sizeof(struct sk_buff),priority);
skb502net/inet/skbuff.coffset=((char *)n)-((char *)skb);
skb504net/inet/skbuff.cmemcpy(n->data,skb->data,skb->mem_len-sizeof(struct sk_buff));
skb505net/inet/skbuff.cn->len=skb->len;
skb508net/inet/skbuff.cn->when=skb->when;
skb509net/inet/skbuff.cn->dev=skb->dev;
skb510net/inet/skbuff.cn->h.raw=skb->h.raw+offset;
skb511net/inet/skbuff.cn->ip_hdr=(struct iphdr *)(((char *)skb->ip_hdr)+offset);
skb512net/inet/skbuff.cn->fraglen=skb->fraglen;
skb513net/inet/skbuff.cn->fraglist=skb->fraglist;
skb514net/inet/skbuff.cn->saddr=skb->saddr;
skb515net/inet/skbuff.cn->daddr=skb->daddr;
skb516net/inet/skbuff.cn->raddr=skb->raddr;
skb517net/inet/skbuff.cn->acked=skb->acked;
skb518net/inet/skbuff.cn->used=skb->used;
skb520net/inet/skbuff.cn->arp=skb->arp;
skb524net/inet/skbuff.cn->pkt_type=skb->pkt_type;
skb533net/inet/skbuff.cvoid skb_device_lock(struct sk_buff *skb)
skb535net/inet/skbuff.cif(skb->lock)
skb539net/inet/skbuff.cskb->lock++;
skb542net/inet/skbuff.cvoid skb_device_unlock(struct sk_buff *skb)
skb544net/inet/skbuff.cif(skb->lock==0)
skb546net/inet/skbuff.cskb->lock--;
skb547net/inet/skbuff.cif(skb->lock==0)
skb551net/inet/skbuff.cvoid dev_kfree_skb(struct sk_buff *skb, int mode)
skb557net/inet/skbuff.cif(skb->lock==1)
skb560net/inet/skbuff.cif (!--skb->lock && (skb->free == 1 || skb->free == 3))
skb563net/inet/skbuff.ckfree_skb(skb,mode);
skb569net/inet/skbuff.cint skb_device_locked(struct sk_buff *skb)
skb571net/inet/skbuff.creturn skb->lock? 1 : 0;
skb393net/inet/sock.cvoid sock_wfree(struct sock *sk, struct sk_buff *skb, unsigned long size)
skb396net/inet/sock.cIS_SKB(skb);
skb398net/inet/sock.ckfree_skbmem(skb, size);
skb414net/inet/sock.cvoid sock_rfree(struct sock *sk, struct sk_buff *skb, unsigned long size)
skb417net/inet/sock.cIS_SKB(skb);
skb419net/inet/sock.ckfree_skbmem(skb, size);
skb436net/inet/sock.cstruct sk_buff *skb;
skb459net/inet/sock.cskb = sock_wmalloc(sk, size, 0, GFP_KERNEL);
skb461net/inet/sock.cif(skb==NULL)
skb499net/inet/sock.cwhile(skb==NULL);
skb501net/inet/sock.creturn skb;
skb509net/inet/sock.cint sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
skb512net/inet/sock.cif(sk->rmem_alloc + skb->mem_len >= sk->rcvbuf)
skb516net/inet/sock.csk->rmem_alloc+=skb->mem_len;
skb517net/inet/sock.cskb->sk=sk;
skb519net/inet/sock.cskb_queue_tail(&sk->receive_queue,skb);
skb521net/inet/sock.csk->data_ready(sk,skb->len);
skb529net/inet/sock.cstruct sk_buff *skb;
skb553net/inet/sock.cwhile((skb = skb_dequeue(&sk->back_log)) != NULL) 
skb557net/inet/sock.csk->prot->rcv(skb, skb->dev, sk->opt,
skb558net/inet/sock.cskb->saddr, skb->len, skb->daddr, 1,
skb207net/inet/sock.hvoid      (*wfree)(struct sock *sk, struct sk_buff *skb,
skb209net/inet/sock.hvoid      (*rfree)(struct sock *sk, struct sk_buff *skb,
skb226net/inet/sock.hint      (*build_header)(struct sk_buff *skb,
skb235net/inet/sock.hstruct device *dev, struct sk_buff *skb,
skb295net/inet/sock.hextern void      sock_wfree(struct sock *sk, struct sk_buff *skb,
skb297net/inet/sock.hextern void      sock_rfree(struct sock *sk, struct sk_buff *skb,
skb305net/inet/sock.hextern struct sk_buff     *sock_alloc_send_skb(struct sock *skb, unsigned long size, int noblock, int *errcode);
skb306net/inet/sock.hextern int      sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb);
skb356net/inet/tcp.cstruct sk_buff *skb;
skb360net/inet/tcp.cskb=tcp_find_established(s);
skb361net/inet/tcp.cif(skb!=NULL)
skb362net/inet/tcp.cskb_unlink(skb);  /* Take it off the queue */
skb364net/inet/tcp.creturn skb;
skb375net/inet/tcp.cstruct sk_buff *skb;
skb377net/inet/tcp.cwhile ((skb = skb_dequeue(&sk->receive_queue)) != NULL) 
skb379net/inet/tcp.cskb->sk->dead=1;
skb380net/inet/tcp.ctcp_close(skb->sk, 0);
skb381net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb406net/inet/tcp.cstruct sk_buff * skb;
skb412net/inet/tcp.cskb = sk->send_head;
skb414net/inet/tcp.cwhile (skb != NULL)
skb420net/inet/tcp.cdev = skb->dev;
skb421net/inet/tcp.cIS_SKB(skb);
skb422net/inet/tcp.cskb->when = jiffies;
skb433net/inet/tcp.ciph = (struct iphdr *)(skb->data + dev->hard_header_len);
skb435net/inet/tcp.csize = skb->len - (((unsigned char *) th) - skb->data);
skb477net/inet/tcp.cif (sk && !skb_device_locked(skb))
skb480net/inet/tcp.cskb_unlink(skb);
skb483net/inet/tcp.cdev_queue_xmit(skb, dev, sk->priority);
skb507net/inet/tcp.cskb = skb->link3;
skb692net/inet/tcp.cstruct sk_buff *skb;
skb697net/inet/tcp.cskb = sk->send_head;
skb698net/inet/tcp.cif (!skb) 
skb708net/inet/tcp.cif (jiffies < skb->when + sk->rto) 
skb710net/inet/tcp.creset_xmit_timer (sk, TIME_WRITE, skb->when + sk->rto - jiffies);
skb819net/inet/tcp.cstruct sk_buff *skb;
skb828net/inet/tcp.cif (sk == NULL || (skb = skb_peek(&sk->receive_queue)) == NULL)
skb845net/inet/tcp.cif (before(counted, skb->h.th->seq))   /* Found a hole so stops here */
skb847net/inet/tcp.csum = skb->len -(counted - skb->h.th->seq);  /* Length - header but start from where we are up to (avoid overlaps) */
skb848net/inet/tcp.cif (skb->h.th->syn)
skb853net/inet/tcp.cif (skb->h.th->syn) 
skb873net/inet/tcp.cif (skb->h.th->urg)
skb875net/inet/tcp.cif (amount && skb->h.th->psh) break;
skb876net/inet/tcp.cskb = skb->next;
skb878net/inet/tcp.cwhile(skb != (struct sk_buff *)&sk->receive_queue);
skb1114net/inet/tcp.cstatic void tcp_send_skb(struct sock *sk, struct sk_buff *skb)
skb1117net/inet/tcp.cstruct tcphdr * th = skb->h.th;
skb1123net/inet/tcp.csize = skb->len - ((unsigned char *) th - skb->data);
skb1129net/inet/tcp.cif (size < sizeof(struct tcphdr) || size > skb->len) 
skb1132net/inet/tcp.cskb, skb->data, th, skb->len);
skb1133net/inet/tcp.ckfree_skb(skb, FREE_WRITE);
skb1148net/inet/tcp.ckfree_skb(skb,FREE_WRITE);
skb1158net/inet/tcp.cskb->h.seq = ntohl(th->seq) + size - 4*th->doff;
skb1168net/inet/tcp.cif (after(skb->h.seq, sk->window_seq) ||
skb1175net/inet/tcp.cif (skb->next != NULL) 
skb1178net/inet/tcp.cskb_unlink(skb);
skb1180net/inet/tcp.cskb_queue_tail(&sk->write_queue, skb);
skb1212net/inet/tcp.csk->prot->queue_xmit(sk, skb->dev, skb, 0);
skb1235net/inet/tcp.cstruct sk_buff * skb;
skb1240net/inet/tcp.cskb = sk->partial;
skb1241net/inet/tcp.cif (skb) {
skb1246net/inet/tcp.creturn skb;
skb1255net/inet/tcp.cstruct sk_buff *skb;
skb1259net/inet/tcp.cwhile ((skb = tcp_dequeue_partial(sk)) != NULL)
skb1260net/inet/tcp.ctcp_send_skb(sk, skb);
skb1267net/inet/tcp.cvoid tcp_enqueue_partial(struct sk_buff * skb, struct sock * sk)
skb1277net/inet/tcp.csk->partial = skb;
skb1445net/inet/tcp.cstruct sk_buff *skb;
skb1558net/inet/tcp.cif ((skb = tcp_dequeue_partial(sk)) != NULL) 
skb1563net/inet/tcp.chdrlen = ((unsigned long)skb->h.th - (unsigned long)skb->data)
skb1569net/inet/tcp.ccopy = min(sk->mss - (skb->len - hdrlen), len);
skb1577net/inet/tcp.cmemcpy_fromfs(skb->data + skb->len, from, copy);
skb1578net/inet/tcp.cskb->len += copy;
skb1584net/inet/tcp.cif ((skb->len - hdrlen) >= sk->mss ||
skb1586net/inet/tcp.ctcp_send_skb(sk, skb);
skb1588net/inet/tcp.ctcp_enqueue_partial(skb, sk);
skb1625net/inet/tcp.cskb = prot->wmalloc(sk, sk->mtu + 128 + prot->max_header, 0, GFP_KERNEL);
skb1627net/inet/tcp.csend_tmp = skb;
skb1635net/inet/tcp.cskb = prot->wmalloc(sk, copy + prot->max_header , 0, GFP_KERNEL);
skb1643net/inet/tcp.cif (skb == NULL) 
skb1683net/inet/tcp.cskb->len = 0;
skb1684net/inet/tcp.cskb->sk = sk;
skb1685net/inet/tcp.cskb->free = 0;
skb1686net/inet/tcp.cskb->localroute = sk->localroute|(flags&MSG_DONTROUTE);
skb1688net/inet/tcp.cbuff = skb->data;
skb1695net/inet/tcp.ctmp = prot->build_header(skb, sk->saddr, sk->daddr, &dev,
skb1696net/inet/tcp.cIPPROTO_TCP, sk->opt, skb->mem_len,sk->ip_tos,sk->ip_ttl);
skb1699net/inet/tcp.cprot->wfree(sk, skb->mem_addr, skb->mem_len);
skb1705net/inet/tcp.cskb->len += tmp;
skb1706net/inet/tcp.cskb->dev = dev;
skb1708net/inet/tcp.cskb->h.th =(struct tcphdr *) buff;
skb1712net/inet/tcp.cprot->wfree(sk, skb->mem_addr, skb->mem_len);
skb1724net/inet/tcp.cskb->len += tmp;
skb1730net/inet/tcp.cskb->len += copy;
skb1731net/inet/tcp.cskb->free = 0;
skb1739net/inet/tcp.ctcp_send_skb(sk, skb);
skb1874net/inet/tcp.cstruct sk_buff *skb;
skb1890net/inet/tcp.cwhile((skb=skb_peek(&sk->receive_queue)) != NULL) 
skb1892net/inet/tcp.cif (!skb->used || skb->users) 
skb1894net/inet/tcp.cskb_unlink(skb);
skb1895net/inet/tcp.cskb->sk = sk;
skb1896net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2053net/inet/tcp.cstruct sk_buff * skb;
skb2069net/inet/tcp.cskb = skb_peek(&sk->receive_queue);
skb2072net/inet/tcp.cif (!skb)
skb2074net/inet/tcp.cif (before(*seq, skb->h.th->seq))
skb2076net/inet/tcp.coffset = *seq - skb->h.th->seq;
skb2077net/inet/tcp.cif (skb->h.th->syn)
skb2079net/inet/tcp.cif (offset < skb->len)
skb2081net/inet/tcp.cif (skb->h.th->fin)
skb2084net/inet/tcp.cskb->used = 1;
skb2085net/inet/tcp.cskb = skb->next;
skb2087net/inet/tcp.cwhile (skb != (struct sk_buff *)&sk->receive_queue);
skb2144net/inet/tcp.cskb->users++;
skb2150net/inet/tcp.cused = skb->len - offset;
skb2189net/inet/tcp.cmemcpy_tofs(to,((unsigned char *)skb->h.th) +
skb2190net/inet/tcp.cskb->h.th->doff*4 + offset, used);
skb2201net/inet/tcp.cskb->users --;
skb2205net/inet/tcp.cif (used + offset < skb->len)
skb2212net/inet/tcp.cif (skb->h.th->fin)
skb2216net/inet/tcp.cskb->used = 1;
skb2228net/inet/tcp.cskb->used = 1;
skb2673net/inet/tcp.cstatic void tcp_conn_request(struct sock *sk, struct sk_buff *skb,
skb2686net/inet/tcp.cth = skb->h.th;
skb2699net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2711net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2728net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2761net/inet/tcp.cnewsk->acked_seq = skb->h.th->seq+1;
skb2762net/inet/tcp.cnewsk->copied_seq = skb->h.th->seq+1;
skb2763net/inet/tcp.cnewsk->fin_seq = skb->h.th->seq;
skb2780net/inet/tcp.cnewsk->dummy_th.source = skb->h.th->dest;
skb2781net/inet/tcp.cnewsk->dummy_th.dest = skb->h.th->source;
skb2800net/inet/tcp.cnewsk->acked_seq = skb->h.th->seq + 1;
skb2801net/inet/tcp.cnewsk->copied_seq = skb->h.th->seq + 1;
skb2809net/inet/tcp.cnewsk->ip_tos=skb->ip_hdr->tos;
skb2852net/inet/tcp.ctcp_options(newsk,skb->h.th);
skb2862net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2892net/inet/tcp.cskb->sk = sk;
skb2893net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb2901net/inet/tcp.cmemcpy(t1, skb->h.th, sizeof(*t1));
skb2906net/inet/tcp.ct1->dest = skb->h.th->source;
skb2919net/inet/tcp.ct1->ack_seq = ntohl(skb->h.th->seq+1);
skb2930net/inet/tcp.cskb->sk = newsk;
skb2936net/inet/tcp.csk->rmem_alloc -= skb->mem_len;
skb2937net/inet/tcp.cnewsk->rmem_alloc += skb->mem_len;
skb2939net/inet/tcp.cskb_queue_tail(&sk->receive_queue,skb);
skb2972net/inet/tcp.cstruct sk_buff *skb;
skb2980net/inet/tcp.cwhile((skb=skb_dequeue(&sk->receive_queue))!=NULL)
skb2981net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3019net/inet/tcp.cstruct sk_buff *skb;
skb3037net/inet/tcp.cwhile((skb = skb_peek(&sk->write_queue)) != NULL &&
skb3038net/inet/tcp.cbefore(skb->h.seq, sk->window_seq + 1) &&
skb3041net/inet/tcp.cbefore(skb->h.seq, sk->rcv_ack_seq + 1))
skb3044net/inet/tcp.cIS_SKB(skb);
skb3045net/inet/tcp.cskb_unlink(skb);
skb3051net/inet/tcp.cif (before(skb->h.seq, sk->rcv_ack_seq +1)) 
skb3059net/inet/tcp.ckfree_skb(skb, FREE_WRITE);
skb3075net/inet/tcp.ciph = (struct iphdr *)(skb->data +
skb3076net/inet/tcp.cskb->dev->hard_header_len);
skb3078net/inet/tcp.csize = skb->len - (((unsigned char *) th) - skb->data);
skb3085net/inet/tcp.csk->sent_seq = skb->h.seq;
skb3091net/inet/tcp.csk->prot->queue_xmit(sk, skb->dev, skb, skb->free);
skb3199net/inet/tcp.cstruct sk_buff *skb;
skb3218net/inet/tcp.cskb = skb2;
skb3219net/inet/tcp.cskb2 = skb->link3;
skb3220net/inet/tcp.cskb->link3 = NULL;
skb3221net/inet/tcp.cif (after(skb->h.seq, sk->window_seq)) 
skb3226net/inet/tcp.cif (skb->next != NULL) 
skb3228net/inet/tcp.cskb_unlink(skb);        
skb3232net/inet/tcp.cskb_queue_head(&sk->write_queue,skb);
skb3234net/inet/tcp.cskb_append(wskb,skb);
skb3235net/inet/tcp.cwskb = skb;
skb3241net/inet/tcp.csk->send_head = skb;
skb3242net/inet/tcp.csk->send_tail = skb;
skb3246net/inet/tcp.csk->send_tail->link3 = skb;
skb3247net/inet/tcp.csk->send_tail = skb;
skb3249net/inet/tcp.cskb->link3 = NULL;
skb3710net/inet/tcp.cstatic int tcp_fin(struct sk_buff *skb, struct sock *sk, struct tcphdr *th)
skb3712net/inet/tcp.csk->fin_seq = th->seq + skb->len + th->syn + th->fin;
skb3797net/inet/tcp.cextern __inline__ int tcp_data(struct sk_buff *skb, struct sock *sk, 
skb3806net/inet/tcp.cth = skb->h.th;
skb3807net/inet/tcp.cskb->len = len -(th->doff*4);
skb3814net/inet/tcp.csk->bytes_rcv += skb->len;
skb3816net/inet/tcp.cif (skb->len == 0 && !th->fin) 
skb3824net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3843net/inet/tcp.cif(skb->len)  /* We don't care if it's just an ack or
skb3846net/inet/tcp.cnew_seq= th->seq + skb->len + th->syn;  /* Right edge of _data_ part of frame */
skb3869net/inet/tcp.ctcp_reset(sk->saddr, sk->daddr, skb->h.th,
skb3870net/inet/tcp.csk->prot, NULL, skb->dev, sk->ip_tos, sk->ip_ttl);
skb3875net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb3898net/inet/tcp.cskb_queue_head(&sk->receive_queue,skb);
skb3909net/inet/tcp.cprintk("skb->h.th->seq = %ld\n",skb->h.th->seq);
skb3922net/inet/tcp.cif (th->seq==skb1->h.th->seq && skb->len>= skb1->len)
skb3924net/inet/tcp.cskb_append(skb1,skb);
skb3938net/inet/tcp.cskb_append(skb1,skb);
skb3947net/inet/tcp.cskb_queue_head(&sk->receive_queue, skb);
skb3957net/inet/tcp.cth->ack_seq = th->seq + skb->len;
skb3989net/inet/tcp.cskb->acked = 1;
skb3996net/inet/tcp.cif (skb->h.th->fin) 
skb3998net/inet/tcp.ctcp_fin(skb,sk,skb->h.th);
skb4001net/inet/tcp.cfor(skb2 = skb->next;
skb4023net/inet/tcp.ctcp_fin(skb,sk,skb->h.th);
skb4062net/inet/tcp.cif (!skb->acked) 
skb4200net/inet/tcp.cstruct sk_buff *skb;
skb4217net/inet/tcp.cwhile((skb = tcp_dequeue_established(sk)) == NULL) 
skb4243net/inet/tcp.cnewsk = skb->sk;
skb4245net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4474net/inet/tcp.cstatic int tcp_std_reset(struct sock *sk, struct sk_buff *skb)
skb4497net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4506net/inet/tcp.cint tcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
skb4514net/inet/tcp.cif (!skb) 
skb4528net/inet/tcp.cif(skb->pkt_type!=PACKET_HOST)
skb4530net/inet/tcp.ckfree_skb(skb,FREE_READ);
skb4534net/inet/tcp.cth = skb->h.th;
skb4558net/inet/tcp.cskb->sk = NULL;
skb4559net/inet/tcp.ckfree_skb(skb,FREE_READ);
skb4574net/inet/tcp.ctcp_reset(daddr, saddr, th, &tcp_prot, opt,dev,skb->ip_hdr->tos,255);
skb4575net/inet/tcp.cskb->sk = NULL;
skb4579net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4583net/inet/tcp.cskb->len = len;
skb4584net/inet/tcp.cskb->acked = 0;
skb4585net/inet/tcp.cskb->used = 0;
skb4586net/inet/tcp.cskb->free = 0;
skb4587net/inet/tcp.cskb->saddr = daddr;
skb4588net/inet/tcp.cskb->daddr = saddr;
skb4594net/inet/tcp.cskb_queue_tail(&sk->back_log, skb);
skb4605net/inet/tcp.ctcp_reset(daddr, saddr, th, &tcp_prot, opt,dev,skb->ip_hdr->tos,255);
skb4606net/inet/tcp.cskb->sk = NULL;
skb4607net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4624net/inet/tcp.cif (sk->rmem_alloc + skb->mem_len >= sk->rcvbuf) 
skb4626net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4631net/inet/tcp.cskb->sk=sk;
skb4632net/inet/tcp.csk->rmem_alloc += skb->mem_len;
skb4662net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4671net/inet/tcp.ctcp_conn_request(sk, skb, daddr, saddr, opt, dev, tcp_init_seq());
skb4689net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4712net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4717net/inet/tcp.creturn tcp_std_reset(sk,skb);
skb4722net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4761net/inet/tcp.creturn tcp_std_reset(sk,skb);
skb4771net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4796net/inet/tcp.csk->rmem_alloc -= skb->mem_len;
skb4797net/inet/tcp.cskb->sk = NULL;
skb4806net/inet/tcp.cskb->sk = sk;
skb4807net/inet/tcp.csk->rmem_alloc += skb->mem_len;
skb4808net/inet/tcp.ctcp_conn_request(sk, skb, daddr, saddr,opt, dev,seq+128000);
skb4812net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4826net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4832net/inet/tcp.creturn tcp_std_reset(sk,skb);
skb4840net/inet/tcp.ctcp_reset(daddr,saddr,th, &tcp_prot, opt, dev, skb->ip_hdr->tos, 255);
skb4841net/inet/tcp.creturn tcp_std_reset(sk,skb);  
skb4859net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4872net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb4882net/inet/tcp.cif(tcp_data(skb,sk, saddr, len))
skb4884net/inet/tcp.ckfree_skb(skb, FREE_READ);
skb127net/inet/tcp.hextern int  tcp_rcv(struct sk_buff *skb, struct device *dev,
skb167net/inet/timer.cstruct sk_buff *skb;
skb172net/inet/timer.cskb = sk->send_head;
skb173net/inet/timer.cif (!skb) 
skb179net/inet/timer.cif (jiffies < skb->when + sk->rto) 
skb181net/inet/timer.creset_timer (sk, TIME_WRITE, skb->when + sk->rto - jiffies);
skb83net/inet/udp.cstatic int udp_deliver(struct sock *sk, struct udphdr *uh, struct sk_buff *skb, struct device *dev, long saddr, long daddr, int len);
skb254net/inet/udp.cstruct sk_buff *skb;
skb267net/inet/udp.cskb = sock_alloc_send_skb(sk, size, 0, &tmp);
skb270net/inet/udp.cif (skb == NULL) 
skb273net/inet/udp.cskb->sk       = NULL;  /* to avoid changing sk->saddr */
skb274net/inet/udp.cskb->free     = 1;
skb275net/inet/udp.cskb->localroute = sk->localroute|(rt&MSG_DONTROUTE);
skb281net/inet/udp.cbuff = skb->data;
skb289net/inet/udp.ctmp = sk->prot->build_header(skb, saddr, sin->sin_addr.s_addr,
skb290net/inet/udp.c&dev, IPPROTO_UDP, sk->opt, skb->mem_len,sk->ip_tos,ttl);
skb292net/inet/udp.cskb->sk=sk;  /* So memory is freed correctly */
skb300net/inet/udp.csk->prot->wfree(sk, skb->mem_addr, skb->mem_len);
skb305net/inet/udp.csaddr = skb->saddr; /*dev->pa_addr;*/
skb306net/inet/udp.cskb->len = tmp + sizeof(struct udphdr) + len;  /* len + UDP + IP + MAC */
skb307net/inet/udp.cskb->dev = dev;
skb329net/inet/udp.cudp_send_check(uh, saddr, sin->sin_addr.s_addr, skb->len - tmp, sk);
skb337net/inet/udp.csk->prot->queue_xmit(sk, dev, skb, 1);
skb433net/inet/udp.cstruct sk_buff *skb;
skb438net/inet/udp.cskb = skb_peek(&sk->receive_queue);
skb439net/inet/udp.cif (skb != NULL) {
skb445net/inet/udp.camount = skb->len;
skb473net/inet/udp.cstruct sk_buff *skb;
skb488net/inet/udp.cskb=skb_recv_datagram(sk,flags,noblock,&er);
skb489net/inet/udp.cif(skb==NULL)
skb492net/inet/udp.ctruesize = skb->len;
skb499net/inet/udp.cskb_copy_datagram(skb,sizeof(struct udphdr),to,copied);
skb500net/inet/udp.csk->stamp=skb->stamp;
skb506net/inet/udp.csin->sin_port = skb->h.uh->source;
skb507net/inet/udp.csin->sin_addr.s_addr = skb->daddr;
skb510net/inet/udp.cskb_free_datagram(skb);
skb567net/inet/udp.cint udp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
skb582net/inet/udp.cuh = (struct udphdr *) skb->h.uh;
skb596net/inet/udp.ckfree_skb(skb, FREE_WRITE);
skb609net/inet/udp.ckfree_skb(skb, FREE_WRITE);
skb633net/inet/udp.cskb1=skb_clone(skb,GFP_ATOMIC);
skb635net/inet/udp.cskb1=skb;
skb643net/inet/udp.ckfree_skb(skb, FREE_READ);
skb653net/inet/udp.cicmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0, dev);
skb659net/inet/udp.cskb->sk = NULL;
skb660net/inet/udp.ckfree_skb(skb, FREE_WRITE);
skb664net/inet/udp.creturn udp_deliver(sk,uh,skb,dev, saddr, daddr, len);
skb667net/inet/udp.cstatic int udp_deliver(struct sock *sk, struct udphdr *uh, struct sk_buff *skb, struct device *dev, long saddr, long daddr, int len)
skb669net/inet/udp.cskb->sk = sk;
skb670net/inet/udp.cskb->dev = dev;
skb671net/inet/udp.cskb->len = len;
skb677net/inet/udp.cskb->daddr = saddr;
skb678net/inet/udp.cskb->saddr = daddr;
skb685net/inet/udp.cskb->len = len - sizeof(*uh);  
skb687net/inet/udp.cif (sock_queue_rcv_skb(sk,skb)<0) 
skb692net/inet/udp.cskb->sk = NULL;
skb693net/inet/udp.ckfree_skb(skb, FREE_WRITE);
skb43net/inet/udp.hextern int  udp_rcv(struct sk_buff *skb, struct device *dev,