taglinefilesource code
hh39include/linux/etherdevice.hextern void eth_header_cache_update(struct hh_cache *hh, struct device *dev, unsigned char * haddr);
hh189include/linux/netdevice.hvoid        (*header_cache_update)(struct hh_cache *hh, struct device *dev, unsigned char *  haddr);
hh16include/net/arp.hextern int  arp_update_cache(struct hh_cache * hh);
hh230net/ethernet/eth.cstruct hh_cache *hh;
hh239net/ethernet/eth.cif ((hh=*hhp) != NULL)
hh241net/ethernet/eth.cmemcpy(hh->hh_data+6, dev->dev_addr, ETH_ALEN);
hh242net/ethernet/eth.chh->hh_data[12] = htype>>8;
hh243net/ethernet/eth.chh->hh_data[13] = htype&0xFF;
hh251net/ethernet/eth.cvoid eth_header_cache_update(struct hh_cache *hh, struct device *dev, unsigned char * haddr)
hh253net/ethernet/eth.cif (hh->hh_type != ETH_P_IP)
hh255net/ethernet/eth.cprintk("eth_header_cache_update: %04x cache is not implemented\n", hh->hh_type);
hh258net/ethernet/eth.cmemcpy(hh->hh_data, haddr, ETH_ALEN);
hh259net/ethernet/eth.chh->hh_uptodate = 1;
hh228net/ipv4/arp.cstruct hh_cache      *hh;      /* Hardware headers chain  */
hh420net/ipv4/arp.cstruct hh_cache *hh, *next;
hh427net/ipv4/arp.chh = entry->hh;
hh428net/ipv4/arp.centry->hh = NULL;
hh431net/ipv4/arp.cfor ( ; hh; hh = next)
hh433net/ipv4/arp.cnext = hh->hh_next;
hh434net/ipv4/arp.chh->hh_uptodate = 0;
hh435net/ipv4/arp.chh->hh_next = NULL;
hh436net/ipv4/arp.chh->hh_arp = NULL;
hh437net/ipv4/arp.cif (atomic_dec_and_test(&hh->hh_refcnt))
hh438net/ipv4/arp.ckfree_s(hh, sizeof(struct(struct hh_cache)));
hh463net/ipv4/arp.cstruct hh_cache *hh;
hh466net/ipv4/arp.cfor (hh = entry->hh; hh; hh = hh->hh_next)
hh467net/ipv4/arp.ccount += hh->hh_refcnt-1;
hh478net/ipv4/arp.cstruct hh_cache *hh;
hh480net/ipv4/arp.cfor (hh=entry->hh; hh; hh=hh->hh_next)
hh481net/ipv4/arp.centry->dev->header_cache_update(hh, entry->dev, entry->ha);
hh490net/ipv4/arp.cstruct hh_cache *hh;
hh492net/ipv4/arp.cfor (hh=entry->hh; hh; hh=hh->hh_next)
hh493net/ipv4/arp.chh->hh_uptodate = 0;
hh501net/ipv4/arp.cstatic int arp_set_hh(struct hh_cache **hhp, struct hh_cache *hh)
hh507net/ipv4/arp.catomic_inc(&hh->hh_refcnt);
hh513net/ipv4/arp.c*hhp = hh;
hh518net/ipv4/arp.centry = (struct arp_table*)hh->hh_arp;
hh527net/ipv4/arp.chh1->hh_next = entry->hh;
hh528net/ipv4/arp.centry->hh = hh1;
hh543net/ipv4/arp.cif (atomic_dec_and_test(&hh->hh_refcnt))
hh544net/ipv4/arp.ckfree_s(hh, sizeof(struct hh_cache));
hh550net/ipv4/arp.cstruct hh_cache *hh;
hh551net/ipv4/arp.chh = kmalloc(sizeof(struct hh_cache), GFP_ATOMIC);
hh552net/ipv4/arp.cif (hh)
hh554net/ipv4/arp.cmemset(hh, 0, sizeof(struct hh_cache));
hh555net/ipv4/arp.chh->hh_type = htype;
hh557net/ipv4/arp.creturn hh;
hh1303net/ipv4/arp.cstruct arp_table * arp_new_entry(u32 paddr, struct device *dev, struct hh_cache *hh, struct sk_buff *skb)
hh1313net/ipv4/arp.cif (hh)
hh1315net/ipv4/arp.centry->hh = hh;
hh1316net/ipv4/arp.catomic_inc(&hh->hh_refcnt);
hh1317net/ipv4/arp.chh->hh_arp = (void*)entry;
hh1446net/ipv4/arp.cstruct hh_cache *hh;
hh1457net/ipv4/arp.chh = arp_alloc_hh(htype);
hh1458net/ipv4/arp.cif (!hh)
hh1461net/ipv4/arp.cdev->header_cache_update(hh, dev, haddr);
hh1462net/ipv4/arp.creturn arp_set_hh(hhp, hh);
hh1471net/ipv4/arp.cfor (hh = entry->hh; hh; hh=hh->hh_next)
hh1472net/ipv4/arp.cif (hh->hh_type == htype)
hh1475net/ipv4/arp.cif (hh)
hh1477net/ipv4/arp.carp_set_hh(hhp, hh);
hh1483net/ipv4/arp.chh = arp_alloc_hh(htype);
hh1484net/ipv4/arp.cif (!hh)
hh1494net/ipv4/arp.chh->hh_arp = (void*)entry;
hh1495net/ipv4/arp.chh->hh_next = entry->hh;
hh1496net/ipv4/arp.centry->hh = hh;
hh1497net/ipv4/arp.catomic_inc(&hh->hh_refcnt);
hh1501net/ipv4/arp.cdev->header_cache_update(hh, dev, entry->ha);
hh1503net/ipv4/arp.cif (arp_set_hh(hhp, hh))
hh1514net/ipv4/arp.centry = arp_new_entry(paddr, dev, hh, NULL);
hh1517net/ipv4/arp.ckfree_s(hh, sizeof(struct hh_cache));
hh1522net/ipv4/arp.cif (!arp_set_hh(hhp, hh))
hh1537net/ipv4/arp.cstruct hh_cache *hh;
hh1601net/ipv4/arp.cfor (hh=entry->hh; hh; hh=next)
hh1603net/ipv4/arp.cnext = hh->hh_next;
hh1604net/ipv4/arp.chh->hh_next = entry1->hh;
hh1605net/ipv4/arp.centry1->hh = hh;
hh1606net/ipv4/arp.chh->hh_arp = (void*)entry1;
hh1608net/ipv4/arp.centry->hh = NULL;
hh2337net/ipv4/arp.centry->hh ? entry->hh->hh_refcnt : -1,
hh2338net/ipv4/arp.centry->hh ? entry->hh->hh_uptodate : 0);
hh99net/ipv4/ip_forward.cstruct hh_cache *hh = NULL;
hh210net/ipv4/ip_forward.chh = rt->rt_hh;
hh335net/ipv4/ip_forward.cif (hh)
hh337net/ipv4/ip_forward.cmemcpy(skb_push(skb, dev2->hard_header_len), hh->hh_data, dev2->hard_header_len);
hh338net/ipv4/ip_forward.cif (!hh->hh_uptodate)
hh587net/ipv4/ip_output.cstruct hh_cache * hh=NULL;
hh621net/ipv4/ip_output.chh = rt->rt_hh;
hh668net/ipv4/ip_output.cif (hh)
hh671net/ipv4/ip_output.cmemcpy(skb_push(skb,dev->hard_header_len),hh->hh_data,dev->hard_header_len);
hh672net/ipv4/ip_output.cif (!hh->hh_uptodate)
hh844net/ipv4/ip_output.cif (hh)
hh847net/ipv4/ip_output.cmemcpy(skb_push(skb,dev->hard_header_len),hh->hh_data,dev->hard_header_len);
hh848net/ipv4/ip_output.cif (!hh->hh_uptodate)
hh887net/ipv4/route.cstruct hh_cache * hh = rt->rt_hh;
hh890net/ipv4/route.cif (hh && atomic_dec_and_test(&hh->hh_refcnt))
hh891net/ipv4/route.ckfree_s(hh, sizeof(struct hh_cache));
hh919net/ipv4/route.cstruct hh_cache * hh = rt->rt_hh;
hh926net/ipv4/route.cif (hh && atomic_dec_and_test(&hh->hh_refcnt))
hh927net/ipv4/route.ckfree_s(hh, sizeof(struct hh_cache));