Lines Matching refs:cache
129 struct sk_buff *skb, struct mfc_cache *cache,
691 static void ipmr_update_thresholds(struct mr_table *mrt, struct mfc_cache *cache, in ipmr_update_thresholds() argument
696 cache->mfc_un.res.minvif = MAXVIFS; in ipmr_update_thresholds()
697 cache->mfc_un.res.maxvif = 0; in ipmr_update_thresholds()
698 memset(cache->mfc_un.res.ttls, 255, MAXVIFS); in ipmr_update_thresholds()
703 cache->mfc_un.res.ttls[vifi] = ttls[vifi]; in ipmr_update_thresholds()
704 if (cache->mfc_un.res.minvif > vifi) in ipmr_update_thresholds()
705 cache->mfc_un.res.minvif = vifi; in ipmr_update_thresholds()
706 if (cache->mfc_un.res.maxvif <= vifi) in ipmr_update_thresholds()
707 cache->mfc_un.res.maxvif = vifi + 1; in ipmr_update_thresholds()
1807 struct sk_buff *skb, struct mfc_cache *cache, in ip_mr_forward() argument
1814 vif = cache->mfc_parent; in ip_mr_forward()
1815 cache->mfc_un.res.pkt++; in ip_mr_forward()
1816 cache->mfc_un.res.bytes += skb->len; in ip_mr_forward()
1818 if (cache->mfc_origin == htonl(INADDR_ANY) && true_vifi >= 0) { in ip_mr_forward()
1849 cache->mfc_un.res.wrong_if++; in ip_mr_forward()
1858 cache->mfc_un.res.ttls[true_vifi] < 255) && in ip_mr_forward()
1860 cache->mfc_un.res.last_assert + MFC_ASSERT_THRESH)) { in ip_mr_forward()
1861 cache->mfc_un.res.last_assert = jiffies; in ip_mr_forward()
1874 if (cache->mfc_origin == htonl(INADDR_ANY) && in ip_mr_forward()
1875 cache->mfc_mcastgrp == htonl(INADDR_ANY)) { in ip_mr_forward()
1877 true_vifi != cache->mfc_parent && in ip_mr_forward()
1879 cache->mfc_un.res.ttls[cache->mfc_parent]) { in ip_mr_forward()
1884 psend = cache->mfc_parent; in ip_mr_forward()
1889 for (ct = cache->mfc_un.res.maxvif - 1; in ip_mr_forward()
1890 ct >= cache->mfc_un.res.minvif; ct--) { in ip_mr_forward()
1892 if ((cache->mfc_origin != htonl(INADDR_ANY) || in ip_mr_forward()
1894 ip_hdr(skb)->ttl > cache->mfc_un.res.ttls[ct]) { in ip_mr_forward()
1899 ipmr_queue_xmit(net, mrt, skb2, cache, in ip_mr_forward()
1911 ipmr_queue_xmit(net, mrt, skb2, cache, psend); in ip_mr_forward()
1913 ipmr_queue_xmit(net, mrt, skb, cache, psend); in ip_mr_forward()
1954 struct mfc_cache *cache; in ip_mr_input() local
1993 cache = ipmr_cache_find(mrt, ip_hdr(skb)->saddr, ip_hdr(skb)->daddr); in ip_mr_input()
1994 if (!cache) { in ip_mr_input()
1998 cache = ipmr_cache_find_any(mrt, ip_hdr(skb)->daddr, in ip_mr_input()
2005 if (!cache) { in ip_mr_input()
2030 ip_mr_forward(net, mrt, skb, cache, local); in ip_mr_input()
2195 struct mfc_cache *cache; in ipmr_get_route() local
2204 cache = ipmr_cache_find(mrt, saddr, daddr); in ipmr_get_route()
2205 if (!cache && skb->dev) { in ipmr_get_route()
2209 cache = ipmr_cache_find_any(mrt, daddr, vif); in ipmr_get_route()
2211 if (!cache) { in ipmr_get_route()
2253 cache->mfc_flags |= MFC_NOTIFY; in ipmr_get_route()
2254 err = __ipmr_fill_mroute(mrt, skb, cache, rtm); in ipmr_get_route()
2529 struct list_head *cache; member
2542 it->cache = &mrt->mfc_cache_array[it->ct]; in ipmr_mfc_seq_idx()
2543 list_for_each_entry_rcu(mfc, it->cache, list) in ipmr_mfc_seq_idx()
2550 it->cache = &mrt->mfc_unres_queue; in ipmr_mfc_seq_idx()
2551 list_for_each_entry(mfc, it->cache, list) in ipmr_mfc_seq_idx()
2556 it->cache = NULL; in ipmr_mfc_seq_idx()
2572 it->cache = NULL; in ipmr_mfc_seq_start()
2590 if (mfc->list.next != it->cache) in ipmr_mfc_seq_next()
2593 if (it->cache == &mrt->mfc_unres_queue) in ipmr_mfc_seq_next()
2596 BUG_ON(it->cache != &mrt->mfc_cache_array[it->ct]); in ipmr_mfc_seq_next()
2599 it->cache = &mrt->mfc_cache_array[it->ct]; in ipmr_mfc_seq_next()
2600 if (list_empty(it->cache)) in ipmr_mfc_seq_next()
2602 return list_first_entry(it->cache, struct mfc_cache, list); in ipmr_mfc_seq_next()
2607 it->cache = &mrt->mfc_unres_queue; in ipmr_mfc_seq_next()
2611 if (!list_empty(it->cache)) in ipmr_mfc_seq_next()
2612 return list_first_entry(it->cache, struct mfc_cache, list); in ipmr_mfc_seq_next()
2616 it->cache = NULL; in ipmr_mfc_seq_next()
2626 if (it->cache == &mrt->mfc_unres_queue) in ipmr_mfc_seq_stop()
2628 else if (it->cache == &mrt->mfc_cache_array[it->ct]) in ipmr_mfc_seq_stop()
2649 if (it->cache != &mrt->mfc_unres_queue) { in ipmr_mfc_seq_show()